提升PHP程序運行速度的幾個優化方案


1、服務器使用Linux系統

      Linux系統做服務器在很多方面都比windows優秀,很多地方性能相差很大,如果你的服務器上沒有ASP、ASP.net等程序,強烈建議使用Linux系統,Centos、Ubuntu、Debian等系統都是Linux內核。不僅Linux性能好,而且Linux服務器還便宜,特別是國外的服務器,由於Windows Server是收費的,很多國外Win服務器都比Linux貴。

      雖然Linux系統操作起來會比Windows復雜許多,但是我們可以查資料學,只要學會了基本的服務器安裝使用操作,你一定會愛上Linux。后期有時間火端會搞個入門教程,讓大家都能輕松用上Linux服務器。

2、使用Nginx或Apache來運行PHP

      很多使用Win服務器的站長,都是用IIS來跑PHP,甚至還有人使用IIS6來跑,這大大影響了PHP的發揮,訪問量少的情況下可能不太明顯,訪問量一大就能感覺到區別了。如果你堅持使用Win服務器,建議使用Nginx或Apache來跑PHP。不會搭建環境,建議使用PHPstudy軟件一鍵搭建,可以隨意切換Nginx、Apache、IIS以及PHP版本。

3、開始使用PHP7

      如果你的程序支持PHP7,強烈建議你使用PHP7,PHP7相對PHP5.X有大大的性能提升,在很多算法上會比后者快兩三倍!如果你的程序沒法兼容PHP7,那也盡量升級到PHP5.6。火端搜索就完美支持PHP7。

4、使用OPcache加速PHP運行

      OPcache 通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是省去了每次加載和解析 PHP 腳本的開銷。PHP 5.5.0 及后續版本中已經綁定了 OPcache 擴展。

開啟OPcache也很簡單

1、打開php.ini文件
2、找到:[opcache],設置為:

  1.   [opcache]
  2.   ; dll地址
  3.   zend_extension=php_opcache.dll
  4.   ; 開關打開
  5.   opcache.enable=1
  6.   ; 開啟CLI
  7.   opcache.enable_cli=1
  8.   ; 可用內存, 酌情而定, 單位為:Mb
  9.   opcache.memory_consumption=528
  10.   ; Zend Optimizer + 暫存池中字符串的占內存總量.(單位:MB)
  11.   opcache.interned_strings_buffer=8
  12.   ; 對多緩存文件限制, 命中率不到 100% 的話, 可以試着提高這個值
  13.   opcache.max_accelerated_files=10000
  14.   ; Opcache 會在一定時間內去檢查文件的修改時間, 這里設置檢查的時間周期, 默認為 2, 定位為秒
  15.   opcache.revalidate_freq=1
  16.   ; 打開快速關閉, 打開這個在PHP Request Shutdown的時候回收內存的速度會提高
  17.   opcache.fast_shutdown=1

5、避免頻繁操作數據庫

      大多數網站的瓶頸都是操作數據庫這塊,很多時候我們並不需要頻繁訪問數據庫,這時候我們可以把數據緩存下來,用Redis、memcache或文件緩存都可以。比如火端網絡官方網站,大多數頁面的數據都是緩存下來的,都是不需要讀數據庫的。

6、使用SSD硬盤做服務器

      固態硬盤只是提升文件讀寫速度,對PHP一般的執行影響不大,但如果需要PHP頻繁操作文件,那SSD硬盤就發揮它的作用了。

php.ini如下配置

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM