MySQL线程池卡顿重现

MySQL线程池卡顿重现

💡 原文中文,约12200字,阅读约需29分钟。
📝

内容提要

本文描述了作者在复现MySQL线程池卡顿现象时的实验过程,通过调整线程池参数模拟了线程池满载导致查询变慢的情况,并对不同发行版的MySQL进行了对比分析。实验结果符合预期,验证了线程池的行为逻辑。文章还提到了其他人对线程池行为的分析和实验复现。

🎯

关键要点

  • 作者在推特发起活动,要求复现MySQL线程池卡顿现象。
  • 实验通过调整线程池参数,模拟线程池满载导致查询变慢的情况。
  • 不同发行版的MySQL(mariadb和percona)在线程池行为上存在差异。
  • mariadb中,排队的约束主要是thread_pool_max_threads。
  • percona中,排队的约束主要是thread_pool_oversubscribe。
  • 实验使用select sleep(2)作为测试SQL,观察客户端耗时。
  • 在mariadb中,调整thread_pool_max_threads可以改变SQL执行的耗时。
  • 在percona中,调整thread_pool_oversubscribe可以影响SQL的执行批次和耗时。
  • 实验验证了线程池卡顿现象的复现过程,结果符合预期。
  • 作者总结了复现过程中的思路和遇到的问题,强调了文档的重要性。
➡️

继续阅读