(情境A): 公司內部有獨立機房機器17台 1u 伺服器 5台實體機器跑網站(LAMP架構)
5台實體機器(LNMP架構) 5 台2u DB 跑MySQL DB 操寫 2組DNS操寫(DNS自Bind9)
每台實體機器各掛上10個不同Name Base 虛擬主機(頻寬ISP對外全開無限制)目前需要做
日常效能調校與監控動作,請問
Q1: 伺服器:Server CentOS 6 假設目前公司已經有MRTG與CACTI配置監控流量..
請問資深大大如果建立效能基準線做平日之觀察(提供您實作之建議步驟)?
Q2: 請推薦您常用網站壓力測試ToolS(假設不使用要錢的),以開源Jmeter為例,請簡略介紹
您常用作網站壓力測試參考係數指標有哪些,若發現網站連線數到某一數值一直出現Error,
您會建議從何下手(Linux/Nginx 假設不考慮DNS Server Load blance or 其他負載)
請提供簡易壓力測試結果參考分析範例與解釋
Q3:若今日公司考慮採用Reverce pruoxy(反轉Proxy) 您會考慮使用Squid還是Varnish(Why)?
Q4:關於Web Server (Apache/Nginx+MySQL 於 CentOS平台)於您調校核心與Linux
效能模組設定您最常建議修改之設定可否Share,若排除MySQL伺服器資料庫操寫方式,您是否
有更好做MySQL Load blance 方式可提供? XD 請有經驗大大分享,感激不盡
我花了很久的時間做LNPM的優化.這其實是持續不斷的工作, 不同的環境有不同的做法, 相同的做法不會是永遠有效的. 前不久, 有兩家澳洲的Web Hosting公司對同一個優化有兩極的經驗. 設定不難, 但是很細. 參數間會有交互的影響的.
Q1: MRTG與CACTI是繪圖用的,並沒有alert的機制, 很難捕捉到關鍵時刻(the moment of truth), 也就是說, 您看到的不一定是您需要的.
Q2: Apache Bench(AB)和Seige是兩個開源的壓力測試工具, 您可以參考看看.
Q3: 沒有人用Squid做Reverse Proxy, 可以用Nginx, Varnish, 或Varnish+Nginx來做. 還有HAproxy,F5也很不錯,...
Q4: 這問題太廣了, 坊間的資料與書籍很多, Linux Kernel對tcpip stack和memory的調校很關鍵, 也很有效, kernel預設的參數無法處理高流量系統. PHP-FPM對memory和cache的調校也是另一個有明顯改善的地方, 以Nginx和FastCGI將靜態與動態分流, 對效能的影響很大, 另外, 我不用市面上別人做好的LAMP/LNMP, 效能不佳又有安全疑慮, 我都是自己編譯的. 至於MySQL效能, 不知您是用那一版, 建議用Percona/MariaDB.
效能調校的不是真能問出來的. 系統環境不同, 效果自然不同. 應用程式端往往是關鍵, 如讀寫是否分流? Cache的方式?...等等. 至於您的環境, 5台跑Apache加5台跑Nginx, 都是獨立提供相同的服務嗎? 之間的關聯呢? 為甚麼要這樣做? 至於5台DB, 是提供應用程式端的讀寫分離? 還是HA這機制? 還是分開獨立? 這些問題不是我要問您的, 是您要問自己的, 這是優化的第一步: 需求端.