gpt4 book ai didi

php - 检测服务器过载以限制 mysql 查询

转载 作者:行者123 更新时间:2023-11-28 03:22:40 26 4
gpt4 key购买 nike

我正在编写 C++ 服务,该服务每 1 秒不断地在 mysql 服务器上使用 LIMIT 1 进行 SELECT 查询,进行一些计算,然后进行 INSERT 并永远循环。

我想检测服务器过载以使 SELECT 具有更大的 LIMIT,例如 LIMIT 10 和更大的间隔,例如每 5 秒左右。不确定我的解决方案是否会减轻服务器过载。

我的问题是如何检测这些过载,我不确定我所说的过载是什么意思 :) 它可以是任何东西,但我的应用程序是 php(聊天)中的 Web 应用程序,因此可以在 Apache2 端检测到过载,或者mysql 端,或检测有多少用户在时间间隔内进行了多少输入(聊天消息)。我不知道:/

谢谢!

编辑: 好吧,我用我的 C++ 应用程序制作了一个套接字服务器,而且速度非常快。现在我正在为内存泄漏而苦苦挣扎,但那是另一回事了。

非常感谢 @brianbeuning 对我的问题提出的有益想法。

最佳答案

最好解决永远循环,这不是个好主意。

如果该循环确实是必须的,那么使用一些缓存技术。

为了检测“过载”(我称之为高 MySQL CPU 使用率),尝试调用操作系统支持的外部命令。

例如,如果您在 Linux 上使用它,请使用 ps 命令。


编辑:

我现在意识到您正在编写聊天服务器程序。使用 MySQL 作为中间人不是一个好主意。尝试在不使用 MySQL 的情况下解决此问题,然后如果您需要保存聊天记录,偶尔将其保存到 MySQL(例如,每 10 秒左右)。

我敢打赌,对于 20 个密集型用户来说,它现在是 CPU 大户。

尝试进行客户端到客户端的直接通信,而不需要服务器(仅使用服务器在 2 个客户端之间建立通信)。

关于php - 检测服务器过载以限制 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15014536/

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