0

我有以下服务器hostgator.com

Intel Xeon E3-1265L 2.5GHz
100 mbps Uplink
4 GB DDR3 Memory
500 GB RAID-1 Drives
10 TB Bandwidth
Up to 5 Dedicated IPs

在过去的 2 个月中,我们多次收到过多连接错误。我们每天的访问量不到 1000 次,所以我认为这对服务器来说不算太多。

上周,它再次发生,我们与支持团队所做的是清除 magento 日志表。我还将 magento 日志保留时间从 180 天减少到仅 5 天。

今天它又发生了,whm, cpanel or the domain它本身完全无法访问。

我想知道这是否是由于搜索引擎抓取了我们的网站?上周我在谷歌网站管理员工具中降低了抓取速度。

今天在遇到mysql连接问题的同时,我们还多次在spamd服务和chkservd上挂起。

问题是:

If I increase max connections to 400, is that too much for my server?

Do you think I need more server processor or ram?
Or do you think it might be a denial of service attack?

请帮忙。

提前致谢。

更新

top - 05:41:25 up 12 days, 17:57, 1 user, load average: 33.40, 38.14, 54.62 
Tasks: 267 total, 12 running, 247 sleeping, 4 stopped, 4 zombie 
Cpu(s): 11.1%us, 0.9%sy, 0.1%ni, 83.7%id, 3.9%wa, 0.1%hi, 0.1%si, 0.0%st 
Mem: 2917444k total, 2281856k used, 635588k free, 56324k buffers 
Swap: 4194296k total, 290924k used, 3903372k free, 343860k cached 

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
26327 theprint 16 0 57088 42m 6640 R 94.0 1.5 0:58.97 php 
26316 theprint 16 0 58592 44m 6640 R 86.2 1.6 1:04.44 php 
26308 theprint 16 0 58592 44m 6644 R 74.4 1.5 1:05.23 php 
26383 theprint 16 0 59500 45m 6640 R 74.4 1.6 0:56.33 php 
26278 theprint 16 0 58596 44m 6640 R 72.5 1.5 1:05.95 php 
1253 theprint 16 0 54224 39m 6640 R 66.6 1.4 0:07.85 php 
26280 theprint 16 0 58336 44m 6640 R 64.6 1.5 1:00.90 php 
26653 theprint 16 0 59784 45m 6640 R 52.9 1.6 0:44.99 php 
26421 theprint 15 0 56280 41m 6640 S 29.4 1.5 0:36.84 php 
4

3 回答 3

1

如果我将最大连接数增加到 400,这对我的服务器来说太多了吗?

我们不知道:您没有提供有关您的服务器如何执行或它的容量可能是多少的详细信息。即使你有,你也不太可能得到一个明智的答案

我想知道这是否是由于搜索引擎抓取了我们的网站?

也许,你为什么不调查一下。即使为配置您的服务器提供的玩具不起作用,数据也应该可以从您的日志中获得。

去阅读一些关于 MySQL 性能调优的好书(是一个好的开始)和调优你的堆栈的其余部分。

于 2013-02-15T11:38:24.510 回答
0

您将需要研究您的服务器负载处理能力以及它一次可以处理多少并发连接。

如果有太多的 MySQL 连接和请求同时到来,就会出现这种情况。因为服务器无法一次处理这样的批量请求。因此,在这种情况下,您可以将服务器正在处理的并发进程数增加到最大值,也可以增加服务器容量。

但在继续之前,请确保并发请求是否真的是真实的。您将需要监视正在运行的连续 MySQL 进程。你可以通过'mysql -pr'来检查它。一旦你得到消耗最大资源的用户,然后继续检查它为什么占用资源。如果您发现没有合法进程,则可以暂停此类用户以避免产生问题。

于 2017-08-28T11:15:05.083 回答
0

如果您的网站有大多数静态页面?

更好地使用缓存

你有很多选项来降低你的 CPU 使用率

  • mysql 或 mysqli 缓存
  • 在 PHP 中运行?您可以制作一个简单的缓存脚本,可以对其进行修改以缓存部分页面或整页。使用像 Zend 这样的 Opcache 性能优于..
  • 如果你有更多的内存?并且该网站以完整的 SQL 运行?使用 Memcached。

我注意到您正在使用cpanel?您需要调整您的服务取消不需要的监控服务并将 cron 添加到清除旧日志..

如果您从 Bot 获得点击数或从垃圾邮件域获得引用?在 htaccess 中阻止引荐来源 .. 或将 nginxcp 用于 cpanel

这些是我的经验指导。希望这将有助于降低您的 CPU 使用率。

于 2017-08-29T05:17:44.973 回答