我越来越多地收到必须修复的表,并返回以下消息:自动增量值:0 小于最大使用值:xx
这发生在有 200 行的表和有大约 300 万行的表上,但到目前为止,同样的几张表也有问题。我正在运行 MySQL 5.0.22。
修复由一个脚本运行,该脚本每分钟检查一次是否需要修复 MySQL 表。我还有一个运行两小时的 6 GB 数据库的自动备份,并且总是在备份时触发修复。
有任何想法吗?
我越来越多地收到必须修复的表,并返回以下消息:自动增量值:0 小于最大使用值:xx
这发生在有 200 行的表和有大约 300 万行的表上,但到目前为止,同样的几张表也有问题。我正在运行 MySQL 5.0.22。
修复由一个脚本运行,该脚本每分钟检查一次是否需要修复 MySQL 表。我还有一个运行两小时的 6 GB 数据库的自动备份,并且总是在备份时触发修复。
有任何想法吗?
我有一个运行使用 Apache 服务的 Web 应用程序的 VPS,平均每秒处理 20-50 个请求。通常超过这一点(每秒 50 个请求),Apache 使用的内存量对于 VPS 来说太高并且开始发生错误 - 网页崩溃并且 VPS 在恢复正常水平之前下降一两分钟。
我相信 MaxClients 是减少 Apache 使用的 RAM 数量的最佳方法,我计划将 MaxClients 从 256(默认值)减少到 100 左右。每个 Apache 进程使用 ~15MB 并且服务器总共有 1900MB 的内存 -该服务器除了运行 Apache 和一些 cron 之外什么都不做。
当前设置为:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
我尝试减少 MaxClients 之前会导致严重缓慢,所以我还需要一些其他选项。
我将 MaxClients 减少到 ~100 的建议是否合理?如果服务器再次遇到缓慢,我有什么选择 - 优化应用程序?减少内存使用的最佳方法是什么 - 将图像移动到另一个 Web 服务器?
任何建议都感激不尽!