關於lamp和lnmp組合就不多提了,lamp主要是apache+php(libphp5.so),lnmp主要是nginx+php(fcgi php-fpm),這裡主要介紹一下對php進行最佳化,對應一個主設定檔進行最佳化,就是php.ini。
為什麼需要緩衝,因為php是一個解釋型語言,每次請求都會從頭解析程式,將其編譯為特定作業碼,之後由php引擎執行並且丟棄掉。有了緩衝之後就可以儲存這個作業碼,並且在下一次調用頁面時候重用,這樣可以大大重複解析的開銷。再有另外一種情況就是當有動態請求時需要請求資料庫,這個時候可能會出現瓶頸,也需要緩衝。
這裡先來看下作業碼緩衝的問題。這裡其實是安裝額外的模組來解決這個問題。我們可以選擇php eaccelerator(php5.3及以下版本)、xcache、zend或者apc。根據建議選擇前面兩款,更推薦xcache。因為更快,社區更活躍。
對於上面說到的資料庫部分的最佳化我們這裡選用memcached。這裡讀資料會優先讀取緩衝,緩衝沒有會去資料庫找資料,並存入緩衝一份。我們還需要安裝PDO_MYSQL外掛程式,這個相當於sql語句php的封裝。
接下來安裝ImageMagick來處理映像,這個軟體需要安裝imagick php來使用。以上就把緩衝最佳化需要的外掛程式全都介紹完畢了。
首先我們要把上面安裝的外掛程式全都寫到php.ini裡,確保php生效。
eg.
extension=memcache.so
extension=pdo_mysql.so
extension=imagick.so
接下來配置php eaccelerator,請搜尋該軟體相關參數,之後按照需求把參數寫入php.ini即可。xcache也同樣,把設定檔相關參數寫入php.ini即可。但是這兩款軟體只能選擇其中一款,同時寫入會衝突。
對於上述軟體,類似畫圖或者資料庫的外掛程式,有需求裝,沒需求可以不裝。像xcache或者eaccelerator效能最佳化的最好裝上。
以上主要是針對php緩衝方面的最佳化。
以上就介紹了lamp/lnmp最佳化1--緩衝,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。