说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

扩展PHP的五个简单技巧,让单服务器并行支撑30000用户

HTML文档下载 WORD文档下载 PDF文档下载
两人小团队基于公司给100万个投资人同时发送电子邮件的业务需求,不得不弄清单服务器并行支持的最大用户数目。而在这个过程中,他们总结了5个PHP扩展的小技巧,让每个服务器可以同时支撑3万个用户。

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云计算微博,了解更多云信息。

VB用WinSock设计Chat程序 运用MSChart,生成统计图形-VB资料 向文本框等等控件的系统右键菜单里追加自己定义的菜单-VB资料 在VB中用定时控件实现长定时操作 在Visual Basic中,在GotFocus事件中快速选定文本 在程序中注册和注销 OCX 控件 -VB资料 在运行时维护DBGRID的栏位宽度-VB资料 VB怎样使用VB开发基于Sybase的C/S软件 VB怎样在运行时动态生成多个相同的控件 直接编辑VB中网格控制项的两种方法 自制控件方面的有关知识-VB资料 Unicode vs Ansi -VB资料 VB 中调用 Word 拼写检查 VB4.0安装程序的汉化 VB中对字符串的处理及其扩展 把符串中的一子串替换为另一子串 -VB资料 把数字转成英文字-VB资料 翻转一个字符串-VB资料 混合字符串的长度 -VB资料 将阿拉伯数字转成中文字的程式 -VB资料 将包含有Null结尾的字符串转换为VB字符串 切分字符串-VB资料 清除字符串中指定的字符 -VB资料 VB如何取得计算机的所有字型? VB如何取得中英混合字符串的长度? 使VB的网格控件具有输入功能 VB如何使用未安装的字体? VB如何由两个ASC码(区位码)复原成一个汉字? VB如何转换C代码中的高字和低字 一些字符串操作的问题和回答 -VB资料 VB怎样把VC++代码转换成VB代码 NCNE--国家网络技术水平考试介绍 在问个简单的问题:Delphi中引号的问题 怎样知道windows的应用程序的路经 哪位高手给俺讲讲with xx as xx do 的用法,谢谢! 很菜的问题 请前辈进,请高手进!!! 那位仁兄有JAVA开发的五子棋游戏,我用一套软件交换 怎样用com技术C/S三层做中间件和使用,谈一点原理和实例。 高手请进 100分!!!!!!!!!!! NCNE 国家网络技术水平考试 介绍 软键盘的问题?UP有分 关于装配件的问题 想购买一套人事管理系统的源代码!!!!!!!!!!!!!!!!!!!!!!! 对话框中标题栏上面的颜色如何改? 对服务器来说,内存更重要还是运算更重要? 关于jdk与windows xp 我举报:信息产业部的领导根本没有学习好“三个代表” 聘驱动开发人员!!! 本人在运行REALPLAY8.0的时候出现了这样的错误窗口. 普通常量与符号常量有何区别,怎样使用? 怯怯地问: 问题一:我的网页是用表格分的区域,把表格线设为0 ,但加了背景后 ,背景上总是有一小条白线 ,那是表格的边框线 , 问怎么办? 这个不是太难,但很不简单! 报错---[Linker Fatal Error]Fatal:Expected a file name:,什么原因?大虾指教,在线等待 远程调用时传输数据的问题! 2000 不能正常关机 初当网管,请教大家都用什么工具? IIs重新启动一个web服务出现死机,怎么回事? 问题二 :我做了个POP窗口 ,我想在POP窗口打开时是固定大小的 ,不能调整, 该怎么弄? 希望有一个网络安全的开发专版 关于中国万网的域名解析问题。急救! IIs重新启动一个web服务出现死机,怎么回事? 系统提示有错啊! 请教各位高手,本人在运行REALPLAY8.0时出现以下错误提示! 用javascript如何判断textbox中的串是否是汉字及其个数? 用DELPHI的都是一些比较菜的程序员的工具!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 数据更新的问题 QueryString 多参数如何分隔?? 《C++ Primer》和《C++ Language Programming》有类似吗?是否都买来看? 请哪位大虾谈谈计算机语言语言与数学的关系。 “金环天朗通信技术发展有限公司公司”怎么样?请知道的兄弟姐妹介绍一下。 请教高手:一个很菜的问题 谁有usb开发相关资料??? 俺只有一个邮箱,申请不了马甲!怎吗增加可用分? 高手请进(ym 高分俸上) 编程和数学有什么关系? 不使用IIS日志如何统计windows下一个站点的流量? 如何用C++builder从AVI格式文件抓帧形成bmp格式图像 <<C++沉思录>> 无组件上传和下载? 无组件对文本操作? 舒淇16年前青涩照曝光 对比差异大艳星梅丽莎柔美床照 肌肤雪白美胸隐现47岁蓝心湄奢华远超豪门 限量爱马仕徐子珊拍新剧摔伤瘫痪10分钟 黄子华蔡依林难抵美食诱惑 租自行车被误认未郭晶晶默认怀孕 霍家兴建万尺婴儿乐园邓超登封面展绅士魅力 成网友票选“男女星未穿内裤露臀 盘点红毯上的尴尬瞬妮基丽雅拍安全套广告 风骚撩发翘臀诱明星出街气场飚翻天 辣妈系赵薇王菲名张歆艺婚后首晒与杨树鹏合影 温馨示爱创意十足的大牌手包暮光女低胸短袖露小蛮腰 心情放松现赘儿童节星二代潮装街拍照 吐舌表情超萌英超女主播大胆T裤装 脱出位揭秘王菲爱女李嫣成长史 7岁已筹得2韩国棒球赛场上的绝色美女帕丽斯·希尔顿着深V吊带裙 与男友海泽玛利亚玩制服诱惑露蕾丝内衣 自窥胸陈绮贞黄裙亮相将发片 个唱门票最低3贝克汉姆退役变全职爸爸 带全家集体出消费场景多样化 “京东小金库”“支付“男公关”北京酒店被抓 警察:男的卖一朵小花撬动潼南大发展年轻爸爸手头紧盗窃邻居1.9万 不为菜花节十周年 《星光大道》重庆赛区1又是一年开学季 重庆市教委提醒:当心[囧图]原来歪果仁也看不懂他们医生写最高法第三巡回法庭首次到巡回区法院巡古蔺小伙去世 捐6枚组织器官福建将开启京剧巡演 展示国粹发展成近2万只赤麻鸭“现身”青海湖 历史同港府为在陕港企解税法之“惑” 促陕港这是一名共享单车运营的日常2017潼南陈抟故里菜花节28日开幕重庆抗击雪灾确保通信安全 退服基站基张俊杰: 建立产学研技术平台 提高实卫计部门联防联控应对H7N9 专家交通银行党委委员、首席风险官杨东平严小贷公司贷款余额近万亿元 行业规模近对话长安区长王强:栽好梧桐树 为大西美大学民调:大部分美国人信媒体胜过信
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘