一、Magento Compiler可以提高 25% 到 50% 速度
Magento的性能一直是大家比較關心的焦點,現在Magento最新的版本 1.3.2.2 增加了 Magento Compiler 模塊,根據官方的資料,該模塊可以提高 25% 到 50% 的性能.
我也在測試網站上激活該模塊,感覺效果還是不錯,目前還是beta版本,不過還是推薦使用Magento的朋友試試。
該模塊是從版本 1.3.2.1 開始引入的,如果你的Magento網站已經是1.3.2.1或者更高的版本,該模塊已經預裝好了,可以直接從後臺激活該模塊:
System -> Tools -> Compilation (Beta)
然後選 Run Compilation Process, 大約數分鐘之後會出現 Compilation Successfully finished 就可以了。如果使用有問題,只需在同一頁面下按 Disable 按鈕就可以了。
對於使用1.3.2.1之前的版本的朋友,需要升級到最新版本(目前是1.3.2.2)然後再安裝該模塊,我試過在低於1.3.2.1的Magento網
站中安裝,安裝後在Tools中找不到Compilation,所以必須升級到1.3.2.1 或更新的版本才能使用該模塊,模塊URL:
http://www.magentocommerce.com/extension/1359/magento-compiler
可以用下面 Extension Key 通過Magento Connect 來安裝:
magento-core/Mage_Compiler
二、讓MAGENTO加速一倍的辦法
大家可能都發現了,剛裝上MAGENTO的時候,MAGENTO是比烏龜還慢的一個系統。。。
如何解決呢?其實很多的主機都已經默認安裝一個組件:GZIP。 我們就是要通過修改它來提高MAGENTO的運行速度。
關於能提高多少的問題?大家可以在修改之前去mod_gzip tester 看看你MAGENTO網站的速度,然後在修改之後再去看看。。。
現在我們爲MAGENTO開啓GZIP。比較方便的方法是修改根目錄下.htaccess 文件。我們只需要去掉一些註釋就可以了。
在根目錄.htaccess找到和以下代碼相似的代碼,並且把代碼修改得和下面一模一樣。(去掉前面的#符號。)
.htaccess代碼
- ############################################
- ## enable apache served files compression
- ## http://developer.yahoo.com/performance/rules.html#gzip
- # Insert filter
- SetOutputFilter DEFLATE
- # Netscape 4 .x has some problems…
- BrowserMatch ^Mozilla/4 gzip-only-text/html
- # Netscape 4.06 -4.08 have some more problems
- BrowserMatch ^Mozilla/4 /.0 [678 ] no-gzip
- # MSIE masquerades as Netscape, but it is fine
- BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
- # Don’t compress images
- SetEnvIfNoCase Request_URI /.(?:gif|jpe?g|png)$ no-gzip dont-vary
- # Make sure proxies don’t deliver the wrong content
- Header append Vary User-Agent env=!dont-vary
############################################## enable apache served files compression## http://developer.yahoo.com/performance/rules.html#gzip#
Insert filterSetOutputFilter DEFLATE# Netscape 4.x has some
problems…BrowserMatch ^Mozilla/4 gzip-only-text/html# Netscape 4.06-4.08
have some more problemsBrowserMatch ^Mozilla/4/.0[678] no-gzip# MSIE
masquerades as Netscape, but it is fineBrowserMatch /bMSIE !no-gzip
!gzip-only-text/html# Don’t compress imagesSetEnvIfNoCase Request_URI
/.(?:gif|jpe?g|png)$ no-gzip dont-vary# Make sure proxies don’t deliver
the wrong contentHeader append Vary User-Agent env=!dont-vary
另外還有下面這一段:
.htaccess代碼
- ############################################
- ## enable resulting html compression
- php_flag zlib.output_compression on
############################################## enable resulting html compressionphp_flag zlib.output_compression on
好了,大功告成,保存你的文件。刷新MAGENTO的緩存,你會覺得速度快了好多好多。
三、end Optimizer
Zend
Optimizer用優化代碼的方法來提高PHP4.0應用程序的執行速度。實現的原理是對那些在被最終執行之前由運行編譯器(Run-
TimeCompiler)產生的代碼進行優化。一般情況下,執行使用ZendOptimizer的PHP程序比不使用的要快40%到100%。這意味着
網站的訪問者可以更快的瀏覽網頁,從而完成更多的事務,創造更好的客戶滿意度。更快的反應同時也意味着可以節省硬件投資,並增強網站所提供的服務。所以,
使用ZendOptimizer,就等於提高了電子商務的盈利能力。ZendOptimizer能給PHP用戶帶來很多益處,特別是那些運營網站的人。快
速運行PHP程序可以顯著降低服務器的CPU負載,並可以減少一半的反應時間,也就是從訪問者點擊鏈接到服務器開始讀取頁面之間的時間。
四、站點優化
magento的網站實在是太慢了,想了好多辦法,參考了好多資料,做了很多測試,總結一下大概的步驟:
1、壓縮js,css代碼,如果有必要把所有的css,js分別綜合到一個文件中,並壓縮,緩存
2、清除magento模板中不必要的註釋,爲所使用到的圖片瘦身
3、優化magento代碼,這個步驟工作量大,但可能是效果顯著的步驟,不過前提是你非常熟悉magento,徹底刪除不用的模塊,關閉沒用的
block,清除無效,無用的xml(解析xml非常昂貴的),在一個頁面中儘量不要大量調用magento的imageresize功能,非常消耗內
存,除非你自己優化代碼。
4、mysql配置優化,充分發揮你的硬件資源,下面的數值要根據你的配置調整
My.ini代碼
- key_buffer_size = 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
key_buffer_size = 512Mmax_allowed_packet = 64Mtable_cache =
512sort_buffer_size = 4Mnet_buffer_length = 8Kread_buffer_size =
4Mread_rnd_buffer_size = 2Mmyisam_sort_buffer_size = 64Mtmp_table_size =
128Mquery_cache_size = 96Mquery_cache_type = 1thread_cache_size =
8max_connections = 400wait_timeout = 300
5、將magento的var目錄掛載到內存中,加快讀取速度,如
mount -t tmpfs -o size=100M,mode=0777 tmpfs var
6、安裝php加速器,如APC,XCACHE,eAccelerator,安裝方法參考相關的網站
然而歸於根本,最大的優化來自於對模板,對代碼,對block的優化。
http://www.magentocommerce.com/blog/comments/performance-is-key-notes-on-magentos-performance/
http://www.magentocommerce.com/blog/comments/understanding-magento-scalability-and-performance-1/