我們的數據庫服務器與我們的網絡服務器分開。數據庫服務器被複制(我們知道這裏有開銷)。但是,即使關閉了複製,PHP腳本中大量查詢的性能也比在同一臺機器上具有db和apache的暫存服務器慢4倍。我意識到網絡延遲和網絡的其他問題意味着它們不可能是平等的,但是我們的產品服務器指數級更強大,我們的生產網絡都在千兆交換機上。我們已儘可能優化MYSQL,但性能標記仍然低4倍。我們使用Apache代理和複製的MYSQL數據庫來運行nginx。 UCarp也在運行。對於尋求改善性能的領域,有哪些建議?我會對生產速度慢兩倍感到高興。如何提高網絡上的MYSQL性能
2
A
回答
1
這是很難做的比在給你的描述黑暗中刺得多,但這裏的一些出發點,以自主嘗試,這將有望縮小的原因:
- 將暫存數據庫到另一臺主機
- 暫存主機添加到生產游泳池和刪除其他
- 簡介你的PHP腳本,以確保它是導致延遲
- 使用一個單獨的MySQL服務器的查詢,而不是通過負載平衡器
- 測量單個查詢到生產池,並從MySQL客戶端的臨時服務器 您的Web服務器和數據庫集羣之間
- 運行的netperf
- 資料與[GB] Web服務器教授
- 簡介MySQL服務器接收與[GB]查詢教授
如果這些照明比預期的降解的任何其他由於遠程主機,則請提供一個可重複的測試案例和完整的MySQL配置(與敏感數據中刪除。)這將幫助更熟練的MySQL幫助你;)
0
並非網站上的每個Web請求都會(如果設計得當)需要mysql連接。最有可能的是,如果您需要每個http請求的連接,您的應用程序將不會擴展,並且會很快出現問題。
的應用可以更加緩存。服務器更少地請求mysql。例如。使用 memcache。
嘗試使用從應用程序到您的MySQL服務器的持久連接。
使用mysql數據壓縮。
縮減大小數據(限制你的選擇,而不是使用 「*」 在SELECT語句中列名)
薩滿調:
確保,沒有什麼在減慢網絡mysql服務器:大型防火牆規則集,網絡過濾器等
爲應用程序添加另一個(客戶端可訪問)網絡接口。服務器 和mysql服務器。應用程序之間
調的網絡連接。服務器和mysql。有時你可以通過創建硬編碼的網絡路由贏得幾個ms。
不要以爲任何上述都會有幫助 - 如果網絡連接速度很慢,以上都不會大大加快速度。
相關問題
- 1. 通過網絡提高mysql的性能
- 2. 提高網絡服務器的性能
- 3. 在網絡中提高python性能x
- 4. 如何提高KVM VPS的網絡性能
- 5. 如何提高性能的MySQL
- 6. 如何提高mysql中的select性能?
- 7. 如何提高mysql查詢的性能?
- 8. 如何提高MYSQL查詢的性能?
- 9. 如何提高Azure虛擬網絡性能?
- 10. Excel UDF,使網絡調用:如何提高性能
- 11. 提高MySQL的性能
- 12. 如何提高MySQL INSERT和UPDATE性能?
- 13. MySQL索引 - 如何提高性能?
- 14. 提高網頁的性能
- 15. 如何提高網絡提供商的位置準確性? Android
- 16. 如何提高Mysql表上的性能 - 索引,集羣,PK?
- 17. 如何提高UNION ALL上的MYSQL性能?
- 18. MySQL提高性能大表
- 19. 提高MySQL查詢性能
- 20. MySQL查詢提高性能
- 21. 提高MySQL查詢性能
- 22. MySQL查詢性能提高
- 23. Mysql select - 提高性能
- 24. MySQL - 提高查詢性能
- 25. 如何提高iPad/iPhone上的網站性能?
- 26. 提高網站性能
- 27. 高性能在瀏覽器的網絡
- 28. 提高社交網絡分析R中的處理性能
- 29. 提高網絡編碼編碼的性能
- 30. QPainter性能如何提高?
這是非常困難的外部的人來診斷和提出建議,它可能是值得僱用承包商期待了幾個小時。 – 2011-08-16 23:51:02