![]() |
| | #1 |
| Junior Member 註冊日期: 2006-08-04 住址: http://orz.tar.cc/
文章: 8
|
使用不同的手段為vBB加速的確是有的, 但是通常需要主機環境上的配合 vBB 本身就提供對加速環境的相容功能, 這點看 config.php 就知道了 vBB加速法1. (適合所有需要快取的程式, 不止php)使用 memcached memcached 是新一代的快取加速方式, 能把需要快取的內容放到 RAM裡, 並可以在同一台安裝memcached的機器上提供對不同主機的服務, 這個只要開啟 config.php 的 $config['Datastore']['class'] = 'vB_Datastore_Memcached'; 這樣可以開啟vBB首頁 RAM 快取功能, 把每次要從mysql挖出資料並經php運算排版的過程改成只要從RAM 取出即可, 這樣的「得來速」通道, 你說會有多快? vBB加速法2. (適合所有 php程式加速 opcode cacher)eAccelerator 這是 跟昂貴的 Zend Platform 加速器使用類似原理的把php預先編譯且的快取方式達到php加速的目的, 目前使用類似方法常見加速器有以下五個: xcache http://trac.lighttpd.net/xcache/ (免費, ) APC http://pecl.php.net/package/APC (免費) eAccelerator http://eaccelerator.net/ (免費, 相容 Zend Optimiizer) 相容就是可以同時開啟使用的意思 Zend Platform http://www.zend.com/products/zend_platform (商業, 快2000美元) ionCube Encoder http://www.ioncube.com/ (商業, 也不便宜) 五樣加速補品的測試報告在 這裡: 一般來說, 相同硬體環境下, 使用本加速補品可以得到將近兩倍的效能( 23.36/ 44.67 ) 個人選擇使用 eAccelerator 原因是她可以很好的協同 Zend Optimizer一同快樂的運作, 同時間可以服務幾乎多一倍的用戶 xcache 是新出來的加速補品, 由大名鼎鼎的 lighttpd 開發小組所開發, 加速效能看來比 eAccelerator 甚至 Zend platform 甚至其他加速器都還要好, 有時間想給她試試 vBB加速法0. 就是針對你的 硬體環境, 軟體版本, 進行量身微調, 修改 my.cnf, php.ini 以及 httpd.conf 這種方式最保險的辦法是到 vBulletin 英國原廠論壇去求助(當然你要有服務授權先), 會有專人為你的環境提出最佳化的 ini 修改建議, 此法不要輕易使用, 因為改的不好反而會影響vBulletin 執行效能 vBB加速法0a. 這是另一種傳說中的方法, 就是換個快一點的 httpd, 例如 lighttpd, 或者使用 apache 的 worker MPM. 節省系統裡大量衍生的程序, 自然能夠提生效能 vbb加速法0b. 使用反向代理技術, 將 php的服務與其他靜態內容服務(html/gif/jpg/css/js/...)分開在兩個不同的服務程式, 這樣可以減輕大量的只需要回應客戶端gif圖檔還要掛載 php及其各式模組的負擔 vbb加速法0c. 用多台web主機, 兩台以上的資料庫主機, 甚至使用 MySQL 叢集, 這已經不像加速, 而是擴充負載能力了 ^_^ vbb加速法1a. 最佳化你的 MySQL 運作參數, 適度增加各種表格快取大小等, 甚至使用更快的 thread lib 執行序函示庫(FreeBSD), 甚至hack 並重新編譯你的 glibc (Linux)全面提升 MySQL 的執行效能, 縮短 vBulletin 的資料取得時間 使用不同的加速方法都可能遇到不同的狀況需要個別解決, 例如使用 eAccelerator, 你就不能用 php 5.0.x 而是要使用 5.1.x 使用加速器, 可能你的 vBulletin 的設定要跟 MySQL 的版本甚至編碼方式相配合, 否則可能看到是正常,輸入中文資料卻變成亂碼的情形 使用 Apache Worker MPM, 最好使用 FreeBSD 而不是 Linux, 因為 Linux下的典型 apache, 其 Worker 模式不支援以模組運行的php, 你說那把 php當成 cgi不就好了? 聰明! 的確有人這樣做, 但是把php 以CGI執行的方式 , 你又要使用 FastCGI 模式, 不然效率還是不好, 但是使用 FastCGI 或者 CGId 模式運行的 PHP, 又可能常常會出現 503 Error 喔! 夠折騰人吧? 人生, 就在這些 Open Source Software 的最佳化折騰中虛擲掉了, 有時候想想, 硬體那麼便宜, 直接買更高的硬體, 更快的頻寬不就好了? 把最佳化的時間拿來賺錢, 應該夠升級硬體了, 哈哈! 此篇文章於 2006-12-05 04:32 PM 被 amd168 編輯. 原因: 增加一種加速方法 |
| | |
| | #2 | |
| 論壇站長 註冊日期: 2004-10-06 住址: http://www.twvbb.com
文章: 1,588
|
喔喔! 非常有價值的經驗教學,移動到教學區 ![]() 引用:
最近我正在很苦悶的 tune 我的另一個論壇,E6300(IIS)+PD820(MySQL) 竟然只能撐到 800 人Orz.... 因為不得已的原因只能使用 Win 所以很多解決方案都不能用,目前正在物色具 load balance 的 router ![]() ps. 應該是英國原廠,我偷偷幫您修正了
__________________ vBulletin 問題請在論壇討論,請勿私下詢問我,以利後人參考 | |
| | |
| | #3 | |
| Junior Member 註冊日期: 2006-08-04 住址: http://orz.tar.cc/
文章: 8
|
哈哈, 一直上的都是 vbulletin.de 網站, 還真的一直以為vBB 是 come from 德國呢! 感謝您的偷偷修正喔^_^順道補充一下後來想到曾使用過的第七種加速方法湊成「七賤」(七步賤超 )vbb加速法1a. 最佳化你的 MySQL 運作參數, 適度增加各種表格快取大小等, 甚至使用更快的 thread lib 執行序函示庫(FreeBSD), 甚至hack 並重新編譯你的 glibc (Linux)全面提升 MySQL 的執行效能, 縮短 vBulletin 的資料取得時間 這方法在 FreeBSD上面使用較簡單, 只要 vi /etc/libmap.conf 引用:
在 Linux 上就要重新編譯 glibc 這東東了, 可謂茲事體大, 但是修改後的 MySQL 可以大幅擴充同時使用的人數上限, 不過因為步驟太複雜且恐怖, 小弟還沒敢放膽一試。 by the way, 兩台 Server 的環境, 感覺應該可以撐更多的人, E6300 粉快的, 如果 RAM 夠多 (Over 2G)上千應該是可能的, 小弟拙機剛好也是 E6300, 一般 500人上線的時候系統負載大約 2~6% (高過20%應該就快撐不動了), CPU 使用率約在 40~75% 上下變動, eAccelerator 好像可以在 win 平台執行喔, 不過一想到還要踹安裝參數, 就又開始頭大了~~ 人越老可能越懶, 漸漸的從廢寢忘食的追尋高效之道改成了沒事就阿瞇佛陀的偏安心態, 從 FreeBSD 逐個手工編譯調教的所有服務程式改換到了 CentOS 這種企業級的 Linux, 直接 yum 安裝人家發佈的穩定版本軟體了事。 25 天沒重開機器了, 偶爾喵一下系統負載跟log檔紀錄, 感覺一切還好, 那就好了, 省多一些時間把妹去! 此篇文章於 2006-12-05 04:50 PM 被 amd168 編輯. | |
| | |
| | #4 | |
| Senior Member 註冊日期: 2005-05-29 住址: http://mamba.zapto.org/bbs/
文章: 119
| 引用:
是啊是啊 人愈老愈是懶 講到心坎了 | |
| | |