如何調查 OpenVZ 內 Mysql 5 和 JBoss 4.02 之間的新事務行為?

如何調查 OpenVZ 內 Mysql 5 和 JBoss 4.02 之間的新事務行為?

我已將生產伺服器移至 OpenVZ,之前我已經做過很多次了,只是這次它影響了某些操作的事務行為。

我所有的表都是innoDB。我沒有更改任何參數的開箱狀態。

對 JBoss 的某些請求導致事務需要 10 秒才能完成,但只是間歇性的。通常他們的速度快如閃電。

我在 my.cnf 或 Mysql 的變數中找不到與這 10 秒延遲相對應的任何內容。我可以看到 Innotop 中出現的交易,但是如果我切換到 Q - 查詢模式,我無法按 f 查看完整的查詢。

似乎沒有任何類型的回滾,因為即使延遲,功能也不會被破壞。根據標準配置,JBoss 的事務逾時為 300 秒。

我發現 /proc/user_beancounters 中沒有受到任何限制(對於那些不知道這是什麼的人,OpenVZ 會追蹤虛擬機器何時超出其資源配額)。

我正在努力找出這個瓶頸來自哪裡。

答案1

好的,我現在可以回答這個問題了。

我研究了 Mysql 如何處理連接,結果發現它顯然總是嘗試反向查找,除非你告訴它不要這樣做,並且在 10 秒後嘗試此操作逾時。

我不知道為什麼我的網路間歇性超時,但透過添加:

跳過名稱解析

到 my.cnf,問題就消失了。

它實際上對我來說並不完全有意義,因為 Jboss 使用池連接,由於大量的常規活動,它應該保持活動狀態,但沒關係。

相關內容