Mysql

RoundCube在mysql中的睡眠連接太多

  • April 5, 2019

我們有一個包含以下詳細資訊的郵件服務:

   1-Centos 6.4
   2:Postfix 2.6.6
   3:roundcube 0.8 
   4:dovecot 2.0.9.7
   5:mysql-server 5.1.71

一切正常,但在高峰使用時間,roundcube 休眠連接在不到 10 分鐘內從 1、2 或 3 增加到 270,並且 apache 打開的文件(由 lsof 測量)在該高峰時間從 4000 增加到 20000。

這是 apache conf:(apache 在 prefork 模式下工作)

PidFile run/httpd.pid
Timeout 60
KeepAlive On
MaxKeepAliveRequests 100
<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>
TraceEnable off
LimitRequestLine 1024
LimitRequestFields 100
LimitRequestFieldsize 1024
LimitRequestBody 10241024

這是mysql配置:

secure_auth=1
local_infile=0
max_connections        = 600
max_allowed_packet    = 16M
key_buffer        =256M
wait_timeout=240
interactive_timeout=180
connect_timeout=10
innodb_buffer_pool_size=2G

當roundcube的休眠連接增加到> 100時,幾乎服務(網路,郵件,mysql)會關閉….

感謝您的任何建議。

現在

大約5年後

該問題已在幾天內被發現並解決。

對於像我這樣的 Jr. 系統管理員來說,這太複雜了;)

我的隊友在 iSCSI LUN 上準備的 GFS2 集群文件系統存在問題,這個問題導致了 Dovecot 和 roundcube(然後是 apache)中的各種問題和問題

供您參考,當我注意 top 命令上的 %wa 參數時(大約為 90%),我認為(也許)文件系統級別存在問題。

然後我決定將所有數據傳輸到新的集群文件系統(ocfs2),因為 GFS 已被棄用!

首先,所有數據都移動到新的集群文件系統(在 ocf2 上),然後基於 debian wheezy 上的 pacemake haproxy 重新設計整個系統!

答案是:

我已經編輯 apache max_client 選項以降低值 256 –> 50 為什麼!?

對於(仍然)未知問題,所有預分叉的 apache 程序佔用大約 100% 的 CPU 使用率(執行預分叉 apache 程序的核心的 100% 使用率片刻)

所以系統宕機了,因為系統有64個CPU核心,當apache的256個程序全部使用100%的cpu使用率時,系統和服務都宕機了

問題仍然存在,但服務沒有問題 我認為與網路攻擊有關的問題(我們的監控工具每天報告許多攻擊),有時會導致資源鎖定或其他問題

謝謝你的所有建議。

引用自:https://serverfault.com/questions/587782