我正在管理一个包含大约 140.000 个文档的网站。使用相同的设置,这个系统已经运行了两年多没有问题。我们不得不将我们的服务器迁移到一个新的基础设施,从那时起就出现了一些异常情况。
每个文档在数据库中都有一个状态。状态码 (int) 5 表示文档被删除/移除。
每隔一小时左右,大约 10 个文档的状态码会更改为 5。我们不会丢失实际文档,但最终用户无法使用它。我试图找出导致问题的原因,但找不到问题的根源。
我们有两个可以更改文档状态的查询。我暂时禁用了其中一个,并且在代码库中将已删除文档的状态码更改为 6。
但是,我们仍然遇到同样的问题,状态码变为 5,而不是 6。
我启用了查询日志,并花费了数小时,但对那些已删除的文档没有更新查询,除了 view_count 增加,这是一个非常短且简单的查询。该文档在被删除的同时被某人请求。但是,所有查询都是选择查询(view_count 除外),与其他文档没有区别。我们每秒有数百次页面浏览量。只有其中一个被随机删除。
因此,如果我可以在查询日志中看到,我可以尝试在代码库中找出该特定查询。但是,它甚至什么都没有显示。所以,我现在一头雾水。
你有什么建议吗?我必须解决这个问题,所以我可以尝试任何事情。
新系统是;
Debian 6.0.5 MySQL 5.5.24 - Percona 构建 PHP-NGINX-SOLR 框