我的服务器流量越来越大,已经达到极限,我的新结构应该是什么?

问题描述 投票:0回答:1

当前配置:

16GO RAM,4个cpu内核,使用prefork模块的Apache / 2.2(由于avg进程大小约为22MB,因此将其设置为700个maxClients),并且启用了suexec和suphp mods(PHP 5.5)。

使用CakePHP2并存储在MySQL服务器上的网站后端。该站点的前面是文本/一些压缩图像,后面是数据处理。

当前流量:

每天少于[[〜60000个唯一身份访问者,在高峰期,我目前很容易达到700个以上同时连接的人,这些人填补了MaxClients。在这些时候使用apachectl status时,我可以看到所有进程都被使用了。

CPU正常。但是RAM会用光所有。

潜在流量:

[每天的访问量可能会增加到〜200000个唯一身份访问者,甚至更多。也可能不是。但是,如果发生这种情况,我想做好准备。由于我已经使用该配置达到了当前服务器的限制。

因此,我考虑采用更大的新服务器,例如192GB Ram和20核。

我可以保留完全相同的配置(这意味着我可以使用相同的配置来处理10 *当前的流量)。

但是我想知道在我的情况下是否有一个更好的配置,使用更少的资源并且效率更高? (事实证明是这样)

php server webserver apache2 traffic
1个回答
0
投票
每秒速率= RPS

关于my.cnf [mysqld]部分的建议,

thread_cache_size=100 # from 8 to reduce threads_created innodb_io_capacity=500 # from 200 to allow higher IOPS to your HDD read_rnd_buffer_size=128K # from 256K to reduce handler_read_rnd_next RPS of 129,942 thread_concurrency=6 # from 10 to expedite query completion with your 4 cores slow_query_log=ON # from OFF to allow log research and proactive correction

这些更改将有助于减少CPU繁忙。 

观察:A)5.5.54已过期,新版本的性能更好。B)这些建议只是可能的改进的开始,即使使用5.5.4。C)您应该能够优雅地迁移到innodb_file_per_table您打开该选项。您的表已经由innodb引擎管理。

有关其他帮助,包括免费下载实用程序脚本,请查看我的个人资料,网络个人资料。

© www.soinside.com 2019 - 2024. All rights reserved.