我试图弄清楚为什么 MySQL 数据库在实时服务器上异常缓慢。从表中删除一行(只有少于 100 行)可能需要 1 秒到 20 秒之间的任何时间。我检查了正在运行的进程,看不到任何会占用所有 CPU 或内存的东西。
此外,该网站尚未启动,所以只有我在上面。
在这些情况下,数据库如此缓慢的原因可能是什么?有没有办法诊断这种问题?
我试图弄清楚为什么 MySQL 数据库在实时服务器上异常缓慢。从表中删除一行(只有少于 100 行)可能需要 1 秒到 20 秒之间的任何时间。我检查了正在运行的进程,看不到任何会占用所有 CPU 或内存的东西。
此外,该网站尚未启动,所以只有我在上面。
在这些情况下,数据库如此缓慢的原因可能是什么?有没有办法诊断这种问题?
在这些情况下,数据库如此缓慢的原因可能是什么?有没有办法诊断这种问题?
你确定是数据库慢吗?
使用命令行连接到您的服务器,启动 mysql,然后从那里运行一些示例查询。如果那里的速度足够快(应该如此,除非您疯狂地交换或拥有大量时髦的触发器),您可以安全地消除 SQL 作为罪魁祸首。如果没有,您的架构、数据库配置(是否有足够的内存?)或您的服务器(RAM 是否损坏?)可能存在问题。
另一个缓慢的来源可能是延迟。例子:
进行 DNS 查找所需的时间(例如,有时连接到 127.0.0.1 比连接到 localhost 更快)
由于数据库位于单独的服务器上而导致延迟(特别是如果数据库位于世界的另一端)
如果涉及 blob,则从数据库检索结果所需的时间。
NSF 慢得可怕:
http://lists.freebsd.org/pipermail/freebsd-fs/2013-April/017125.html
等等