PHP 性能優化 - php.ini 配置

內存

默認設置php

memory_limit = 128M

單個進程可以使用的內存最大值,這個值的設定能夠從如下幾點考慮:瀏覽器

  • 應用的類型。若是是內存集中型應用,可增長該值;
  • 單個 PHP 進程平均消耗的內存,該值可經過屢次運行同一個腳原本計算平均值;
  • 能負擔多少個 php-fpm 進程;該值等於分配的總內存除以單個 PHP 進程平均消耗的內存;
 

文件上傳

默認設置緩存

file_uploads = On max_file_uploads = 20 upload_max_filesize = 2M max_execution_time = 30 值 爲 0 表明沒有限制
  • 設置 max_file_uploads 來決定同時容許多少個文件上傳;
  • 設置 upload_max_filesize 來決定每一個文件上傳的最大值;
  • 若是是長時間任務,儘可能使用隊列來處理,所以,可適當縮短 max_execution_time 的值;

注意, Web 服務器也能夠設置文件上傳大小及超時時間,不能僅僅以 php.ini 的設置爲準;服務器

 

會話

PHP 的會話默認是保存在硬盤中session

session.save_handler = files

在實際應用中,應當將會話保存在內存中。可以使用 Memcached 或者 Redis。這樣作主要有兩個好處:分佈式

  • 提升速度;
  • 有助於後期的擴展,若是會話數據存儲在硬盤中,不便於增長額外的服務器,若是把會話數據存放在 Memcached 或 Redis 裏,任何一臺分佈式 PHP-FPM 服務器都能訪問會話數據。

可經過 PECL 安裝 memcached 擴展並設置默認的 save_handler 爲 memcachedmemcached

session.save_handler = 'memcached' session.save_path = '127.0.0.1:11211'
 

緩衝輸出

默認值php-fpm

output_buffering = 4096

在較少的片斷中把內容傳遞給訪問者的瀏覽器,能減小 HTTP 請求總數。 所以,咱們要讓 PHP 緩衝輸出,默認狀況下,PHP 已經啓用了輸出緩衝功能,PHP 緩衝 4096 字節的輸出以後纔會把內容發送給 Web 服務器。性能

注:若是想要修改輸出緩衝區的大小,確保使用的值是 4(32 位系統)或 8(64 位系統)的倍數。spa

 

真實路徑緩存

默認值

realpath_cache_size = 4M realpath_cache_ttl = 120

PHP 會緩存應用使用的文件路徑,這樣每次包含或導入文件時就無需不斷搜索包含路徑了,這個緩存叫真實路徑緩存(realpath cache),若是運行的是大型的 PHP 文件(如 Composer 組件),使用了大量文件,增長 PHP 真實路徑緩存的大小能獲得更好的性能。

相關文章
相關標籤/搜索