13、nginx服務叢集搭建以及優化
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設定上,不再重複)
相關文章
- 分散式協調服務☞zookeeper叢集搭建分散式
- 使用containerd搭建MinIO叢集服務AI
- 《搭建更新DNS叢集服務》RHEL6DNS
- 企業級nginx服務優化(一)Nginx優化
- Web專案架構優化單臺機器到叢集服務Web架構優化
- 使用 Nginx 搭建 Webdav 服務NginxWeb
- 使用Docker Swarm快速搭建與部署你的服務叢集DockerSwarm
- hadoop叢集搭建配置檔案優化引數Hadoop優化
- socket服務叢集處理
- WEB叢集- 高可用服務Web
- 叢集寫效能優化優化
- 叢集讀效能優化優化
- RHEL 8 搭建 Nginx Web 服務NginxWeb
- 基於Nginx搭建WebDAV服務NginxWeb
- 在nginx上搭建php服務NginxPHP
- Nginx 高階篇(十一)叢集搭建實戰Nginx
- Nginx學習筆記(反向代理&搭建叢集)Nginx筆記
- Linux+.NetCore+Nginx搭建叢集LinuxNetCoreNginx
- 微服務 - 叢集化 · 服務註冊 · 健康檢測 · 服務發現 · 負載均衡微服務負載
- redis 叢集搭建以及redislive監測部署Redis
- Redis操作及叢集搭建以及高可用配置Redis
- 叢集二nginxNginx
- Spring Cloud:使用Eureka叢集搭建高可用服務註冊中心SpringCloud
- 搭建zookeeper叢集(偽叢集)
- Keepalived+Nginx高可用叢集搭建筆記Nginx筆記
- 叢集搭建
- 微服務Consul系列之叢集搭建微服務
- Redis服務之叢集節點管理Redis
- Dubbo原始碼解析之服務叢集原始碼
- Kubernetes部署叢集Mysql服務MySql
- 新增叢集資料庫服務service資料庫
- zookeeper叢集及kafka叢集搭建Kafka
- 在滴滴雲快速搭建自己的簡易服務叢集[入門版]
- Elasticsearch(二)--叢集原理及優化Elasticsearch優化
- (13) SpringCloud-使用Eureka叢集搭建實現高可用SpringGCCloud
- Nginx 筆記:反向代理&專案釋出&搭建叢集Nginx筆記
- 使用nginx搭建高可用,高併發的wcf叢集Nginx
- Nginx網站服務LNMP搭建論壇Nginx網站LNMP