使用PHP的五个技巧
来源:互联网 发布:帝国cms邀请码 编辑:程序博客网 时间:2024/05/22 07:50
Jonathan Block于RockThePost.com(集资公司)担任CTO一职,基于业务需求,公司需要他们同时给100万个投资人发送电子邮件。对于只有两个人的工程团队,确定服务器可以同时发送邮件的数目就成为了当务之急。
RockThePost.com建立于Ec2的LAMP堆栈之上,非常典型的小规模构造:
- PHP的Zend Framework 2
- 使用了2个m1.medium
- 使用ELB分配负载
- 主/从MySQL数据库
- 使用Siege进行负载测试
在业务实现过程中,Block对其中的秘诀做出了总结,让网络服务器可以同时给3万用户并行发送邮件:
1. 使用PHP的APC特性。APC——Alternative PHP Cache,虽然官方称为“可选PHP缓存”,但是称为“另一个PHP缓存也不为过”,因为它可以切实的提升网站的性能。
2. 把所有不是.php的请求都分配给CDN(内容分发网络),不要使用你的服务器处理静态文件。他们使用S3来存储所有,并使用CloudFront作为他们的CDN。最近CloudFront出现的一些问题迫使他们不得不直接使用S3服务。
3. 切勿将PHP代码里的链接指向其它的服务器。比如数据库以及memcache服务器,除非是强制性的或者是没有其它方法实现你的目的。在执行流中让链接指向其它服务器是非常没有效率的:可能会使服务器受到限制,从而降低处理的速度。使用APC键/值存储来储存数据,并使用Barnish来缓存整个页面。
4. 使用Varnish。一般情况下,站点上的所有网页都不会改变或者是不会做大型的改动。Varnish就对于网络服务器缓存有着Memcache/ModRewrite的作用。同样在压力测试中,使用前后的性能差异很大。
5. 使用更大的服务器实例,比如c1.xlarge有8个核心可以应对负载,而m1.medium只有一个核心可以处理请求。
可以使用Google Analytics来分析每个用户在每个页面上花费的时间。收集这些信息,使用Siege来运行压力测试,从而不断的熟悉自己业务的负载类型,以便更好的提升程序的扩展性。
原文链接: Scale PHP on Ec2 to 30,000 Concurrent Users / Server (编译/仲浩 审校/王旭东)
欢迎关注 @CSDN云计算微博,了解更多云信息。
本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)
- 使用PHP的五个技巧
- 使用php的五个小技巧
- 使用php的五个小技巧
- 使用VB.NET的五个技巧
- JavaScript的五个技巧
- JavaScript的五个技巧
- 在大型应用中使用 Redux 的五个技巧
- 程序开发者使用最多的五个PHP工具
- 程序开发者使用最多的五个PHP工具
- 五个增进沟通的技巧
- 用户测试的五个技巧
- js 的五个技巧方法
- 五个有用的jQuery技巧
- 沟通的五个“魔法”技巧
- 原创内容的五个技巧
- 分享XML的五个技巧
- 扩展PHP的五个简单技巧,让单服务器并行支撑30000用户
- 扩展PHP的五个简单技巧,让单服务器并行支撑30000用户
- 快速插入jQuery调试代码
- hibernate
- 数据库之家
- IBM的LPI复习资料之LPI101-Topic103 :GNU和Unix命令(5)创建、检测、结束进程
- Python 异常处理
- 使用PHP的五个技巧
- Android 细节问题1-TextView
- SWT应用程序切换Shell中的Composite
- jdbc
- 隔行变色
- MyEclipse 内存溢出解决方法
- window下变更MySQL的数据目录
- 负载均衡总结(百科)
- 今天的积累