【发布时间】:2013-02-22 00:00:05
【问题描述】:
我正在编写 c++ 服务,它每隔 1 秒在 mysql 服务器上使用 LIMIT 1 进行 SELECT 查询,计算然后进行 INSERT,并且这个循环永远永远。
我想检测服务器过载以使 SELECT 具有更大的 LIMIT,例如 LIMIT 10 和更大的 inetrvals,例如每 5 秒左右。不确定我的解决方案是否会减轻服务器过载。
我的问题是如何检测这些重载,我不确定我所说的重载是什么意思 :) 它可以是任何东西,但我的应用程序是 php(聊天)中的 Web 应用程序,因此可以在 Apache2 端检测到重载,或者mysql 端,或检测有多少用户在时间间隔内进行了多少输入(聊天消息)。我不知道:/
谢谢!
编辑: 好的,我用我的 C++ 应用程序制作了一个套接字服务器,而且它真的很快。现在我正在努力解决内存泄漏问题,但那是另一回事了。
非常感谢 @brianbeuning 对我的问题提出有益的想法。
【问题讨论】:
-
像你这样的投票设计通常不是很好。您想找到某种方法使其成为事件驱动的。从套接字读取或读取 MSMQ 队列是事件驱动的。
-
@brianbeuning 你能帮我导航到一些关于 c++ 套接字服务器和 php 客户端通信的教程吗?
-
服务器套接字将使用 socket()、bind()、listen() 和 accept() 来设置用于连接的套接字。以及 select()、read() 和 write() 来处理请求。客户端将使用 socket()、connect()、write()、read() 和 close()。
标签: php c++ mysql service apache2