淺談PHP性能優(yōu)化之php.ini配置
內(nèi)存
默認(rèn)設(shè)置
memory_limit = 128M
單個(gè)進(jìn)程可使用的內(nèi)存最大值,這個(gè)值的設(shè)定可以從以下幾點(diǎn)考慮:
- 應(yīng)用的類型。如果是內(nèi)存集中型應(yīng)用,可增加該值;
- 單個(gè) PHP 進(jìn)程平均消耗的內(nèi)存,該值可通過(guò)多次運(yùn)行同一個(gè)腳本來(lái)計(jì)算平均值;
- 能負(fù)擔(dān)多少個(gè) php-fpm 進(jìn)程;該值等于分配的總內(nèi)存除以單個(gè) PHP 進(jìn)程平均消耗的內(nèi)存;
文件上傳
默認(rèn)設(shè)置
file_uploads = On
max_file_uploads = 20
upload_max_filesize = 2M
max_execution_time = 30 值 為 0 代表沒(méi)有限制
- 設(shè)置max_file_uploads來(lái)決定同時(shí)允許多少個(gè)文件上傳;
- 設(shè)置upload_max_filesize來(lái)決定每個(gè)文件上傳的最大值;
- 如果是長(zhǎng)時(shí)間任務(wù),盡量使用隊(duì)列來(lái)處理,因此,可適當(dāng)縮短max_execution_time的值;
注意, Web 服務(wù)器也可以設(shè)置文件上傳大小及超時(shí)時(shí)間,不能僅僅以 php.ini 的設(shè)置為準(zhǔn);
會(huì)話
PHP 的會(huì)話默認(rèn)是保存在硬盤(pán)中
session.save_handler = files
在實(shí)際應(yīng)用中,應(yīng)當(dāng)將會(huì)話保存在內(nèi)存中??墒褂?Memcached 或者 Redis。這樣做主要有兩個(gè)好處:
- 提高速度;
- 有助于后期的擴(kuò)展,如果會(huì)話數(shù)據(jù)存儲(chǔ)在硬盤(pán)中,不便于增加額外的服務(wù)器,如果把會(huì)話數(shù)據(jù)存放在 Memcached 或 Redis 里,任何一臺(tái)分布式 PHP-FPM 服務(wù)器都能訪問(wèn)會(huì)話數(shù)據(jù)。
可通過(guò) PECL 安裝memcached擴(kuò)展并設(shè)置默認(rèn)的save_handler為memcached
session.save_handler = 'memcached'
session.save_path = '127.0.0.1:11211'
緩沖輸出
默認(rèn)值
output_buffering = 4096
在較少的片段中把內(nèi)容傳遞給訪問(wèn)者的瀏覽器,能減少 HTTP 請(qǐng)求總數(shù)。 因此,我們要讓 PHP 緩沖輸出,默認(rèn)情況下,PHP 已經(jīng)啟用了輸出緩沖功能,PHP 緩沖 4096 字節(jié)的輸出之后才會(huì)把內(nèi)容發(fā)送給 Web 服務(wù)器。
注:如果想要修改輸出緩沖區(qū)的大小,確保使用的值是 4(32 位系統(tǒng))或 8(64 位系統(tǒng))的倍數(shù)。
真實(shí)路徑緩存
默認(rèn)值
realpath_cache_size = 4M
realpath_cache_ttl = 120
PHP 會(huì)緩存應(yīng)用使用的文件路徑,這樣每次包含或?qū)胛募r(shí)就無(wú)需不斷搜索包含路徑了,這個(gè)緩存叫真實(shí)路徑緩存(realpath cache),如果運(yùn)行的是大型的 PHP 文件(如 Composer 組件),使用了大量文件,增加 PHP 真實(shí)路徑緩存的大小能得到更好的性能。
以上就是淺談PHP性能優(yōu)化之php.ini配置的詳細(xì)內(nèi)容,更多關(guān)于PHP性能優(yōu)化之php.ini配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
php實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法
這篇文章主要介紹了php實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法,涉及php操作字符串的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03PHP中file_exists使用中遇到的問(wèn)題小結(jié)
本文給大家詳細(xì)描述了作者在使用file_exists中遇到的問(wèn)題以及分析解決方法的過(guò)程,非常的詳細(xì),有需要的小伙伴可以參考下。2016-04-04PHP操作MySQL的mysql_fetch_* 函數(shù)的常見(jiàn)用法教程
這篇文章主要介紹了PHP中操作MySQL的mysql_fetch函數(shù)的常見(jiàn)用法教程,文中提到了其下fetch_array和mysql_fetch_row以及mysql_fetch_object函數(shù)的使用,需要的朋友可以參考下2015-12-12php程序內(nèi)部post數(shù)據(jù)的方法
這篇文章主要介紹了php程序內(nèi)部post數(shù)據(jù)的方法,涉及curl的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03PHP中new static()與new self()的區(qū)別異同分析
這篇文章主要介紹了PHP中new static()與new self()的區(qū)別異同分析,是很實(shí)用的技巧,需要的朋友可以參考下2014-08-08php 大數(shù)據(jù)量及海量數(shù)據(jù)處理算法總結(jié)
大數(shù)據(jù)量的問(wèn)題是很多面試筆試中經(jīng)常出現(xiàn)的問(wèn)題,比如baidu google 騰訊 這樣的一些涉及到海量數(shù)據(jù)的公司經(jīng)常會(huì)問(wèn)到2011-05-05PHP網(wǎng)絡(luò)安全之命令執(zhí)行漏洞及防御
這篇文章主要介紹了PHP命令執(zhí)行漏洞及防御,網(wǎng)絡(luò)安全越來(lái)越受重視的今天,漏洞與防御都需要有所了解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07PHP組合模式Composite Pattern優(yōu)點(diǎn)與實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了PHP組合模式Composite Pattern優(yōu)點(diǎn)與實(shí)現(xiàn),組合模式是一種結(jié)構(gòu)型模式,它允許你將對(duì)象組合成樹(shù)形結(jié)構(gòu)來(lái)表示“部分-整體”的層次關(guān)系。組合能讓客戶端以一致的方式處理個(gè)別對(duì)象和對(duì)象組合2023-03-03