gpt4 book ai didi

php - 随着我们的生产数据库的增长,如何测试查询是否花费了更长的时间?

转载 作者:行者123 更新时间:2023-11-28 21:25:39 24 4
gpt4 key购买 nike

我想做一个测试(阅读:任何可以发送邮件的东西),只要我们的查询执行时间超过 2 秒,它就会给我发送一封电子邮件。如果重要的话,我们将 cakePhp 与 CircleCi 和 PhPUnit 一起使用。我们还有三个数据库,第一个是生产数据库,第二个是开发数据库,​​第三个是测试数据库。

解决这个问题的最佳方法是什么?有没有可以测试这个的应用程序?

最佳答案

您可能希望在您的 MySQL 服务器上启用慢速查询日志 (read this)。

这种方法会产生误报:会出现大量超过慢速查询阈值的一次性查询。但它会提醒您在查询中速度缓慢,您知道 是可能的问题,而那些您不知道 是可能的问题。最痛苦的是后一类。

有一些方法可以从慢查询日志中生成电子邮件和优雅的报告;您最喜欢的搜索引擎会找到这些工具。但要小心电子邮件;他们就像那个经常喊“狼来了”的男孩。

你最好的选择是使用 mysqldumpslow每隔一两天一次,查找性能下降的查询。

一种更复杂的方法是计算峰值负载时间。例如,在许多业务应用程序中,每个工作日的 10:00 - 12:00 是高峰负载时间。然后在这些窗口期间监控慢速查询。

如果您想变得真正复杂,您应该尝试只监控每个不同查询的最慢的十分之一——耗时最长的 10% 的运行。为什么?平均查询时间,甚至查询时间的中位数,都是骗人的。这是异常值——查询运行非常缓慢的时间——

一个。惹恼你的用户。b.揭示各种系统瓶颈。

为具有最慢十分位数的查询处理索引和调整是保持系统协调的好方法。

但要小心:我几乎可以保证你的老板和你的产品经理不会理解这种方法。在他们开始看到结果之前,您必须解释很多次。

关于php - 随着我们的生产数据库的增长,如何测试查询是否花费了更长的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41120425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com