mysql、nginx、php-fpm、php配置優化

這裏只列出了少數參數,根據工作中實際使用到的和結果,間斷更新。

php.ini

zlib.output_compression=On;
zlib.output_compression_level=3;
zlib.output_handler=;
  1. 開啓zlib壓縮,開啓後,php會將返回的數據壓縮返回,並且返回頭中的Content-Encoding值會變成gzip。
  2. 壓縮級別,一般設置在1-5之間,值越大壓縮比越高,一般設置個居中值就可以了,因爲壓縮效率是成反比的,設置一個很大的值,也許花費了很大的性能只壓縮了很小的內容。
  3. 根據文檔所述,如果開啓壓縮,這個項目必須開啓,不需要設置值,否則可能會產生錯誤。

php-fpm

max-children = 150;
  1. 一個子線程大約消耗20M內存,根據自己系統的實際內存來設置即可,最好不好直接設置最大值,佔用大約70%-80%內存即可。

nginx

worker_processes 2;
worker_rlimit_nofile 65535;
error_log xxxxx.log crit;

全局配置模塊

  1. 工作進程數,設置與CPU內核數量一致即可。
  2. 最大文件操作符數量,linux中與ulimit -n 數量一致即可,默認最大值爲65535,若需更大的數目,只需要用這條命令設置即可。
  3. 輸出錯誤級別,c’rit級別才輸入至log。
worker_connections 65535;
use epoll;
multi_accept on;

event配置模塊

  1. 最大線程處理連接數,我這裏設置的與操作符一致。
  2. 允許單個線程處理多個任務,這裏的值會根據系統不同有所不同,我這裏系統爲centos因此使用這個值。
  3. 允許儘可能的處理鏈接,如果最大線程處理連接數過低,會產生大量無效請求。
sendfile on;
tcp_nopush on;
tcp_nodelay on;

http配置模塊

  1. 使用內核傳輸,比普通操作效率更高。
  2. 服務器在 sendfile 時可以提前準備 HTTP 首部,能夠達到優化吞吐的效果。
  3. 不要緩存 data-sends (關閉 Nagle 算法),這個能夠提高高頻發送小數據報文的實時性。

PHP7

開啓opcache擴展,yum安裝的情況下,直接yum install php-opcache即可,指定源等操作可以查看我的配置服務器文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章