mysql併發瓶頸
mysql
的連線數到達 150
以上的時候,伺服器 4
核 cpu
占有率會急增,效能會急劇下降。 apache
併發 80
的情況下, mysql
連線數基本上到了配置的滿額 200
( max-connections=200
)。 apache與 mysql的併發關係
apache
最大併發數配置是 600
,大於 mysql
最大併發數 200
,每個 apache
請求要對應乙個 mysql
連線,而 apache
的併發能力要遠大於 mysql
伺服器的併發能力。高併發情況下, mysql
的查詢還沒有返回結果,但下一次的 apache
請求已經到了,堆積效果就是 mysql
都是滿額併發執行,可能導致連線 mysql
錯誤:「 too many connections
…」。apache做 mysql的連線池
從上面分析可以看出, mysql_pconnect
連線 mysql
,但沒有控制和管理 mysql
連線數,可能導致 mysql
伺服器忙死。只要有連線池,就可以解決問題。
利用 apache
做 mysql
的連線池,即控制 apache
的併發數。 apache
配置最大併發數(如 20
)小於 mysql
最大連線數。當併發過大的時候,就自動利用 apache
的佇列來達到連線池的目的。雖然犧牲了 apache
效能,但保證了業務的穩定性和安全性,也不會導致 mysql
伺服器忙死。
apache
最大併發數配置的乙個缺陷是:無法配置虛擬主機的併發數,只能配置全域性併發數。
使用 apache
的 prefork
模式配置併發數:
mysql
持久連線介紹:
apache併發數調整
1.在 設定?伺服器的為freebsd 6.2 apache 2.24,使用預設配置 freebsd 預設不載入自定義mpm配置 預設最大連線數是250 在 usr local etc apache22 httpd.conf中載入mpm配置 去掉前面的注釋 可見的mpm配置在 usr local e...
apache併發數調整
1.在 設定?伺服器的為freebsd 6.2 apache 2.24,使用預設配置 freebsd 預設不載入自定義mpm配置 預設最大連線數是250 在 usr local etc apache22 httpd.conf中載入mpm配置 去掉前面的注釋 可見的mpm配置在 usr local e...
apache併發數調整
1.在 設定?伺服器的為freebsd 6.2 apache 2.24,使用預設配置 freebsd 預設不載入自定義mpm配置 預設最大連線數是250 在 usr local etc apache22 httpd.conf中載入mpm配置 去掉前面的注釋 可見的mpm配置在 usr local e...