nginx---->php-fpm之間的優化
如上圖,在很多個nginx來訪問fpm時, fpm的程序要是不夠用, 會生成子程序.
生成子程序需要核心來排程,比較耗時,
如果**併發比較大,
我們可以用靜態方式一次性生成若干子程序,保持在記憶體中.
方法 -- 修改php-fpm.conf
pm = static 讓fpm程序始終保持,不要動態生成
pm.max_children= 32 始終保持的子程序數量
php-mysql的優化
linux機器下 ,php 通過ip連線其他mysql伺服器時,容易出的問題
能ping能,但connect不到.
一般是由:mysql伺服器的防火牆影響的.
併發1萬連線,響應時間過長.
優化思路: 同上的nginx
1: 核心層面,加大連線數,並加快tcp**
2: mysql層面,增大連線數
3: php層面,用長連線,節省連線數
4: 用memcached快取,減輕mysql負擔
具體:1.1 , php伺服器增大 ulimint -n選項
1.2 mysql伺服器核心配置
新增或修改如下選項
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 0
# syscttl -p 使修改立即生效
2.1 修改mysql.cnf
vi /etc/my.conf
# service mysqld restart 重啟mysql
3.1 php層面 ,用長連線
mysql_connect ---> mysql_pconnect
注: pconnect 在php以apache模組的形式存在時,無效果.
nginx+phjp+mysql+nginx
在引入memcached後,效能提公升不明顯,甚至還略有下降
memcached使50%的請求變快了,但是一部分,反倒慢了.
原因在於--php->memcached也要建立tcp連線,代價挺高,
但快取了資料之後,就省去了mysql的查詢時間.
總結: memcached適合存複雜的sql,尤其是連線查詢/模糊查詢的sql結果
memcached伺服器的優化(集中在核心的ipv4設定上,不再重複)
nginx搭建tomcat集群
接著,我通過springboot部署了兩個tomcat,埠分別是8881和8882,新增乙個controller如下。8881 restcontroller public class hellocontroller hi public string hi 8882 restcontroller pu...
使用Nginx搭建集群
反向 1.首先啟動乙個專案,啟動後可以通過http localhost 8080 getresult訪問到介面,如圖 2.修改nginx配置檔案,監聽www.ouyan.com的80埠,並將服務 到 3.修改hosts配置檔案 然後啟動nginx,即可使用如下url訪問 負載均衡 首先啟動兩個專案,...
利用Nginx模擬搭建伺服器集群
利用nginx模擬搭建伺服器集群之前我們首先應該明白兩個概念 nginx 和 伺服器集群 下面我們詳細介紹一下這兩個名詞的概念。nginx的概念 nginx是一款輕量級 的web 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器,並在乙個bsd like協議下發行。它可以在大多數unix ...