調整系統設定,再進一步增進Magento效能
之前提到的Magento設定優化,是在Magento系統中已整合好的設定功能,因此我們可以簡單的通過後台設定的改變,輕鬆的做到校能的優化。
如果今天網站的規模龐大,那些設定已經不足以負荷時,還有別的方式可以調整設定,只是建議大家在進行此類的設定變更前,務必進行設定檔案的備份,不小心改壞了設定還可以還原。
1.Enhancing the expiration date
設定資源的失效時間
expiration date失效時間,將特定的資源,設定更新的時間,主動的告知該資源通常的使用時間,使用者的瀏覽器可以依此判斷是否更新暫存,如果已有瀏覽過,在時限內可以不用重新下載資源,節省時間也節省效能。
這是通過設定連結資源HTTP HEADER的Expires來達到效果,這個設定要在伺服器軟體上進行設定,以Apache下面這個例子,將圖片、js、css都加上有效期限一週。
程式碼(.httpaccess檔案)
<IfModule mod_expires.c> <FilesMatch ".(jpe?g|png|gif|js|css)$"> ExpiresActive On ExpiresDefault "access plus 1 week" </FilesMatch> </IfModule>
2.Keeping your connections alive
設定連線有效時間
通常來說,伺服器被要求一個檔案或文件,就會打開一條連線,且下載完後就會關閉;可是因為一個網頁不會只有一個檔案,因此連線會經常的開關,所以說如果主機性能夠強,延長連線有效時間可以增強效能,例如以Apache為例:
程式碼(/etc/apache2/apache2.conf)
... KeepAlive On //開啟這項設定 KeepAliveTimeout 15 //設定一個連線時間持續15秒 MaxKeepAliveRequests 200 //設定同時開啟連線數最大限制為200 ...
這個設定啟用後,對於有大量圖片的網頁可以提高近50%的效能。
3.Storing your sessions in the database
將sessions儲存在資料庫
Magento最初安裝時,預設是將session儲存在檔案系統;我們可以將session改存在資料庫,因為資料庫查詢處理會比在檔案系統中更快。
找到<session_save>,將files改成db
程式碼(app/etc/local.xml)
… <session_save><![CDATA[db]]></session_save> ...
4.Configuring MySQL
設定Mysql的部分參數,可以讓Mysql資料庫的處理速度優化。
程式碼(/etc/my.cnf)
... key_buffer = 512M max_allowed_packet = 64M table_cache = 512 sort_buffer_size = 4M net_buffer_length = 8K read_buffer_size = 4M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 64M tmp_table_size = 128m query_cache_size = 96m query_cache_type = 1 thread_cache_size = 8 max_connections = 400 wait_timeout = 300 thread_concurrency = (Computer CPU'S * 2) ...
修改完後,重新啟動Mysql。
最後還是再次提醒各位,修改這些設定檔時,記得備份原來的檔案,以防不小心改錯,還可以還原。
參考資源:
PDF:
Instant Magento Performance Optimization How-to [eBook].pdf
WEB:
How to enable keep-alive for faster page speed:
我要留言