💡
原文中文,约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的执行批次和耗时。
- 实验验证了线程池卡顿现象的复现过程,结果符合预期。
- 作者总结了复现过程中的思路和遇到的问题,强调了文档的重要性。
➡️