我的服务器上有赫斯提亚。我用的是mysql+php。该项目按照以下原则进行工作:
一个人访问index.html,在那里我从他那里获取我需要的数据并使用js将其发送到我的php文件。在数据库中,我做了几个选择(每个选择只有一行,我不会选择一大堆)。我从中取出一行进行检查的表大多都很小,但其中一个有 150 万条记录(但我也从中只取出 1 行,条件是唯一的,限制为 1)。如果满足所有条件,我会在这个大表中添加一个包含此人的新行,在 js 中将答案返回给自己,并根据答案重定向到所需的 html 页面。
当点负载约为每秒 2-3 人时,服务器开始显示巨大的负载数字(600% cpu),从日志判断,人员似乎已添加,但服务器的响应没有到达(我的脚本一段时间后返回 504 错误),因此不会发生重定向。这是服务器配置:
我知道信息不是很多,但我想听听有经验的人可能遇到过类似的事情并找到了一些解决方案。我知道很多会影响它的事情,但我不明白如何在不指指点点的情况下找出问题所在。预先感谢您的任何提示。
因此,我为用于搜索的两个字段创建了一个通用索引,并分配了 9 GB 的 RAM。目前还没有办法检查这是否解决了问题本身,但手动表查询现在需要 0.003 而不是 2 秒,这似乎解决了问题。感谢评论员@Ipatiev 的提示。
更新 07/31/24 问题确实解决了,我在实践中确信一切正常,服务器没有死机