使用TCP / IP与MySQL的问题

时间:2013-05-17 15:33:02

标签: php mysql apache tcp-ip

小背景故事: 我的VPS服务器正在运行基于Web的游戏。 (PHP / MySQL的) 我们也有一个相当受欢迎的论坛,两个程序的数据库都在同一台服务器上。该服务器还为Apache提供页面。

有时当论坛真的很忙时,我们发现繁忙的数据库也影响了游戏。所以我们把论坛数据库放在另一台服务器上。 现在,论坛正在通过TCP / IP连接连接到其他服务器。

结果很棒,平均服务器负载下降很多,游戏很少很慢。 有时虽然,我们得到了非常高的负载峰值,然后我发现Apache无法提供PHP页面。 MySQL的进程列表为空。那时有很多Apache连接(我可以看到服务器状态或顶部)。请求是正常的,没有DDoS的迹象。流量或CPU并不比平时高很多。

Server load

上图显示了其中一次。之前和之后是服务器负载正常。 这种情况偶尔发生在我们将论坛数据库放在另一台服务器上之后。

任何线索在哪里看? 如果我需要提供更多信息,请告诉我。

2 个答案:

答案 0 :(得分:0)

它可能是机器人/蜘蛛索引您的网站。您可以通过记录用户代理字符串来进行检查。

您可以通过添加

为机器人指示他们向您的网站提出请求的速度
Crawl-delay: [number]

robots.txt

答案 1 :(得分:0)

一种可能性是人们在那里访问具有大量外部资源的页面。外部脚本,ajax请求,样式表,图像,声音,有时包含/需要的php页面,需要新的连接。快速搜索在ServerFault上显示question along these lines。许多新线程和/或连接一次运行可能会产生内存或连接问题。