我希望优化我在EC2上的设置。CentOS 6,nginx 1.0.15,php5.4.4与php,xcache 2.0.0,mysql 5.24-55-log,redis 2.4.10,EC2 High Cpu XLarge (c1.xlarge 8核,7G ram)用于高流量站点,对每个请求都进行写入。由此产生的web请求非常小(javascript片段)。
基本上,它是一个100%的动态环境(插入或更新)。对于每个web请求,我需要查看memcached中的快速查找,然后用每个页面请求记录一些属性。我在世界各地有几个EC2s帮助每天为600M+请求提供服务。我的想法是记录数据并每小时转储数据,由其他机器处理。每台机器每天处理大约2000万台。我尝试了几个数据存储,一些注意事项如下:
MySQL
Redis
,每秒有多少请求可以从这个EC2机器和100%的写入场景中得到实际的期望?我是否被EC2的磁盘性能或php或mysql绑定?我可以将它配置为使用更多的CPU或更好地使用它正在使用的资源吗?
PHP-FPM http://pastebin.com/raw.php?i=9n2cpqrq
NGINX (nginx.conf) http://pastebin.com/raw.php?i=XuVBKr8m
发布于 2012-09-07 15:49:07
我真的认为您需要考虑将您的体系结构组件拆分到不同的系统中。例如,您注意到您正在临时存储上运行MySQL。这对于MySQL来说似乎很奇怪,因为您的数据很容易丢失。您考虑过使用Amazon吗?
另外,您还可以考虑使用ElasticCache或SimpleDB作为密钥值存储库,而不是REDIS。
我想我的主要观点是,如果您正在处理大量的请求,您确实应该将您的服务堆栈分解为可以相互独立扩展的多个层。
发布于 2013-09-09 20:55:30
关于性能,请不要使用EBS驱动器,除非是RAID和专用吞吐量。它们和短暂的东西相比真的很烂。我在SSD上使用hi1.4xlarge作为数据库的临时驱动器。
https://stackoverflow.com/questions/12285797
复制相似问题