Magento加速的方法

Magento是PHP開源電子商務領域裏首屈一指的。功能完善而且非常強大,但是它的運行速度也是讓人不敢恭維。現在我們來說說如何來加速Magento。

一、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  

另外還有下面這一段:

.htaccess代碼

  • ############################################   
  • ## enable resulting html compression   
  • php_flag zlib.output_compression on  

############################################## enable resulting html compressionphp_flag zlib.output_compression on

好了,大功告成,保存你的文件。刷新MAGENTO的緩存,你會覺得速度快了好多好多。

三、Zend 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的優化。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章