加速你的網站

加速你的網站

今天想到既然重新編譯了Apache那就順便來作一下網站的加速吧

Apache

在上一篇提到我編譯的時候加入了mod_deflate

編譯完之後在httpd.conf 加入下面的內容

SetOutputFilter DEFLATE

DeflateFilterNote ratio

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

因為它是將資料壓縮來達到加速的效果

我認為圖檔和壓縮檔不需要再壓縮

所以才會有後面那三行

做好之後重新啟動Apache就可以了

PHP

我採用的凱大人建議使用的 eAccelerator

因為我的機器裝有兩個PHP因此採用下面的編譯方法

不過我想即使只裝一個PHP也是可以使用這種方法的

解壓縮eaccelerator-0.9.5.tar.bz2

編譯eAccelerator

export PHP_PREFIX=”/usr/local/php”

$PHP_PREFIX/bin/phpize

./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config

make

make install

後續設定

然後我將 /usr/local/php/lib/php/extensions/eaccelerator.so 複製到 /usr/local/php/lib

這是我的習慣,你可以自己修改只是要記得自己把這個檔案放在哪裡

接著打開php.ini 輸入以下內容

zend_extension=”/usr/local/php/lib/eaccelerator.so” <---- 這裡根據你剛剛放置 eaccelerator.so的位置要進行修改
eaccelerator.shm_size=”16″

eaccelerator.cache_dir=”/tmp/eaccelerator”

eaccelerator.enable=”1″

eaccelerator.optimizer=”1″

eaccelerator.check_mtime=”1″

eaccelerator.debug=”0″

eaccelerator.filter=””

eaccelerator.shm_max=”0″

eaccelerator.shm_ttl=”0″

eaccelerator.shm_prune_period=”0″

eaccelerator.shm_only=”0″

eaccelerator.compress=”1″

eaccelerator.compress_level=”9″

然後重新啟動Apache,打開你的phpinfo頁面,你如果看到

This program makes use of the Zend Scripting Language Engine:

Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

紅色是我自己標的,正常是顯示黑色字,看到紅色這段文字就代表成功了

MySQL

當 Apache 和 PHP 的加速器安裝完成之後

接下來就是要找出那些執行特別久的SQL statement了

編輯my.cnf,加入以下內容

log_slow_queries =/var/log/slow_queries.log

然後重新啟動MySQL,他就會把執行特別久的SQL statement記錄在 /var/log/slow_queries.log 這個檔案了

接下來觀察一兩天,然後針對log裡所記載的SQL statement進行調教

這樣一來你的系統就可以運作的更有效率

執行速度也更快了

Post Tags :

阿維

阿維雜記本的偷懶維護者