私は、4 CPUを搭載したGoogle Computeインスタンスで動作するMySQL 5.6.27-0ubuntu0.14.04.1を持っています。私は睡眠接続を開いているときにMySQL CPUを増やす
私は長い時間スリープ状態になっていると、サーバのCPUが直線的に増加することに気付きました。なぜ私は理解できないのですか?スリープ接続を終了すると、CPUは正しい使用方法に復元します。
だから要約に、私は次のようしている: 私は私のインスタンスのCPUが増加しているがわかります
その後、私はあなたが私は持って見ることができます私のサーバー
mysql> show processlist
-> ;
+-------+--------+-------------------+----------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+--------+-------------------+----------------+---------+------+-------+------------------+
| 85949 | nafora | paper-eee-2:58461 | state_recorder | Sleep | 1300 | | NULL |
| 85956 | nafora | paper-eee-2:58568 | state_recorder | Sleep | 64 | | NULL |
| 85959 | root | localhost | NULL | Query | 0 | init | show processlist |
+-------+--------+-------------------+----------------+---------+------+-------+------------------+
にPROCESSLISTをチェック2接続はスリープと1つはここから1300秒(私は接続が開いたままになっているプロセスを持っているので)
スリープ状態の1つの接続がこのように自分のデータベースに影響する可能性がある理由を誰かから説明できますか?
ありがとうございました。
奇妙な問題。システムに関するもう少し情報を追加できますか? MySQLのバージョン? InnoDBかMyISAMかもしれない? InnoDB出力の 'SHOW ENGINE INNODB STATUS'の場合?監視を有効にすることもできます:http://dev.mysql.com/doc/refman/5.0/en/innodb-monitors.html。接続に関する背景?彼らはアイドルになる前に多くのことを読み書きしましたか?彼らはオートコミッティングされていますか? –
あなたはそのプロセスが何をしているのか調べるべきです。多分この記事は次のように役立ちます:https://www.percona.com/blog/2007/02/08/debugging-sleeping-connections-with-mysql/ – fancyPants