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

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

一个iOS开发者对tvOS SDK的初探 前Twitter iOS技术团队负责人:使用第三方库的四大准则 【SDCC讲师专访】巨杉数据库创始人兼CTO王涛:SequoiaDB为何要开源? 对话函数式编程语言Roy之父Brian Mckenna GitLab获400万美元A轮融资,GitLab 8.0将很快到来 【CTO讲堂】如何构建高可用和可伸缩的架构? 未来程序员会被机器取代吗? React Native实战(一):配置和起步 集聚MDCC 2015 免费展位第二波正式放出 【深入浅出Koa】入门知识,带你以现代化开发方式构建Web应用 升级到Node V4的七个理由 支持大量ES6特性 像写SQL一样编写Java数据应用 Swift 2.0实战:如何实现从非零下标遍历数组? 手把手教学:在iOS 8中使用Cocoapods 交互技术前沿与应用实战:MDCC虚拟现实专场议程揭晓 解密“攻城狮使用手册” 技术专家齐聚!MDCC 2015精彩日程全曝光 基于ActiveMQ的消息中间件系统 OneMM逻辑与物理架构设计详解 John Carmack大神亲操刀,为Oculus开发Netflix应用 React Native实战(二):Android的打包 独立游戏的成功秘诀:好设计才是王道 Swift 2.1的新变化 Apple TV实战:用TVML开发第一款tvOS应用 【SDCC讲师专访】阿里王晶昱:云时代的分布式数据库DRDS 硬件研发、嵌入式技术演进:MDCC IoT峰会日程揭晓 专访百度知道iOS团队负责人孙源:代码强迫症的死实践派 TIOBE 2015年10月编程语言排行榜:Ruby取代Objective-C进前十 【SDCC讲师专访】PingCAP联合创始人兼CEO刘奇:好的产品应开源,不闭门造车 【深入浅出Koa】常用工具分享 帮你降低编程难度 Relay: 全新的React数据获取框架 探索游戏开发面临的技术挑战——MDCC 2015游戏开发专场议程曝光 研究生在毕业时真的比本科生有优势吗? 请教:谁知道自动控制原理根轨迹乃试图。。,的算法? 我的AOUTOCAD总装不上??? 爱恋是什么东西?是好人就来看!!! 新闻组(NNTP)怎么用? 为何我用 Delphi写的 MDI Child Window关闭后无法打开? 为什么这样画不行呢? 语句char a='\72'则变量a包含几个字符 急,不难的问题(有代码) 问一个幼稚的问题,delphi6.0分为那几个版本,你们都用的哪一个。 呵呵,下网了,今天捞了150多的专家分,太少了~~,明天在我星期5发布的帖子里给大家分,每个人大概都有10分左右吧~~ 请问各位,现在什么版本的LIUX比较好,你们一般用那种? 快毕业了才心动!怎么办? 为什么我的可用分越来越少,参与分加得少,怎么回事啊 快毕业了才心动,怎么办? 有什么办法可以加快ACCESS的速度 快毕业了才心动~怎么办? 请问设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值是多少? 我下载了tinyDB 2.8,需要注册怎么办? 高价寻求软件开发(5000.00元报酬) 网页填写提交表单时经常出现停顿,怎么回事? 111高价寻求软件开发(5000.00元报酬) 各位大虾,深圳那儿买书可以打折? putao请进 双服务器的网络连接问题,请进来看看。 pb7的exe连接sql server2000真难呀,我都弄了两周了!!!!!!!!!!还没解决!!!!??? 怎样响应鼠标在对话框上画图啊? 怎样访问局域网内的机器? asp+sql的查询! 有关MIDAS的问题,请看http://www.csdn.net/expert/topic/374/374719.shtm 紧急!!如何使用ADO创建数据库及表(zwjmouse) 哪位大侠能提供一个c语言写的俄罗斯方块的有注释的源程序(高分) 一段可以冒充QQ上线,下线的源代码,支持最新版0710B 有关于Delphi开发局域网数据库系统的书籍或者资料吗? 请问由mscomm发出的数据是什么格式,单片机怎么识别?》》》 求教??? 请问是否有快速建立二叉树的方法 请教确认提交页面部题 Cannot open "Javac.exe"--菜鸟问题 请问怎么样实现Date的加减呢?? 怎样得到下一天的日期 前段时间出差,最近有忙着考研,没时间上网,散分 确认页面问题。 AfxMessageBox话框标题问题 不是我重复,只是这个问题让我发疯,旦求解决这个问题,死而无怨 smtp认证发信的源代码 在DLL中如何知道自己父进程(ParentProcess)的路径和文件名? cview里的precreatewindow和cframewnd的precreatewindow应该调用那个? 如何在dw4中给已做好的FLASH动画加上超链接? 关于Jmail组件的问题! 袁飞请进! 在包装上写 kg与kgs都有,究竟哪一个标准? 分数次方一问:x的m分之n次方就是x的n次方再开m次根,可不可以先开方再乘方?原因? 两个圆的直径分别为4分米和2分米,它们的半径比是(),周长比是(),面积比是() 50 gallons?50 gallon?10 kg?10 kgs?哪个对? 单位km是什么意思 两个圆的半径分别是3分米和4分米, 这两个圆直径比是(),周长比是(),面积比是()在线等 2009五年级下册语文期末试卷 km 是什么单位 1.分解因式:5a^n+1-10a^n= 2.3^2012-4×3^2011+10×3^2010能被7整除吗?为什么?请尽快!很急,明天要交作业了! 2009年五年级下册语文期末试卷要2009年的 KM是什么单位名称? 【分解因式】3^2011-3^2010-3^2009能被5整除吗?为什么? Word文档:10的5次方怎样打? 25度时,100ml 0.4mol/L的盐酸与等体积0.6mol/L的NaOH溶液混合后,溶液的PH值等于多少 3^2012-4*3^2011+10*3^2010能否被7整除. 2009年语文五年级下册期末试卷急死人了! KM/H 是什么单位?是 公里/小时 用0.1mol/L的NaOH溶液滴定100ml0.1mol/L的HCl时.如果滴定误差在±0.1%以内,反应完毕后溶液的pH范围是?(已知lg2=0.3) 把一个圆平均分成若干等份后,拼成一个周长为20.7分米的长方形,这个圆的面积是多少平方分米? 在25℃时,100ml 0.6mol/L的盐酸与等体积0.4mol/L的氢氧化钠溶液混合后,溶液的pH值等于多少? 一个半径是5分米的圆,如果半径增加1分米,那么周长增加( )厘米,面积增加(一个半径是5分米的圆,如果半径增加1分米,那么周长增加( )厘米,面积增加( )平方分米. 若用1MOL/L的H2SO4滴定1MOL/L的NAOH溶液10ML时,在滴定的过程中出现误差,如1(多滴定了1滴H2SO4溶液注约0.5ML),2(少滴定了一滴H2SO4溶液)等溶液充分的反应后,两溶液的氢离子浓度之比为多少? 一个圆的半径是3分米,如果半径增加1分米,则周长增加多少分米,面积增加多少平方分米拜托各位大神 一个金属块浸入满水的溢水杯中,从溢水口溢出水的质量为0.1KG,求金属块受到的浮力.(预习作业, 室温下用0.1mol/L氢氧化钠溶液分别滴定20毫升0.1mol/L的盐酸和醋酸下列说法正确的是V(NaOH)=10ml,c(CH3COO-)/c(CH3COOH)大于1V(NaOH)=20ml,c(Cl-)小于c(CH3COO-)图中A点(黄色)与B点的意义是 kg.n是什么单位 半径( ) 直径(6)分米 周长( ) 面积( ) 求大神指导.浓度为0.1mol/l的氢氧化钠滴定同浓度一元弱酸HB,(pka=4.0)误差正负0.1%ph突越7.0-9.7,若弱酸pka3.0,则突越范围为……求指导求指导…… kg/(kW·h)是什么意思这是油耗单位 将重力为19.6N的铝球慢慢的浸入在一个盛满水的溢杯中,从溢杯中溢出了9.8N的水,铝球受到的浮力为()N 怎样配制氢氧化钠标准滴定溶液c=0.1mol/L 有没有规范单位表示方面的标准?比如千克用kg,千瓦用开kW. 将一重为60N的物体,放入一盛满水的溢水杯中,从杯中溢出了10N的水,则物体所受到的浮力是多少?急用吖~知道的帮帮忙吖~ kgs是什么单位 五年级上册英语期末试卷的答案 将重为2N的物体,放入盛有水的溢水杯中,从杯中溢出0.5N的水,则物体受到的浮力为 ( )将重为2N的物体,放入盛有水的溢水杯中,从杯中溢出0.5N的水,则物体受到的浮力为 ( )A.一定为2.5 N B.一定为0.5 苏教版五年级下册语文期末试卷作文直接给我发上作文题目和内容 磁感应强度的单位KGS/A与T之间怎么转换?KGS/A 是 千高斯/安 ,我以前都不知道磁感应强度还有这个单位的. 五年级上册英语期末试卷和答案 苏教版 2009 word中a的2次方要是想在2下面再打个2该怎么打就是在a的右上角和右下角同时打上2,怎么打 如果一个圆的半径由1分米增加到3分米,它的周长要增加( )分米,面积要增加( )平方分米, 苏教版五年级下册语文期末试卷会考什么作文 2的x次方怎么打?是x的次方 HCL溶液与NaOH溶液(0.1mol/L)相互滴定的pH突跃范围是多少?HCL溶液与NaOH溶液(0.1mol/L)相互滴定的pH图余额范围是多少?如果要求终点误差不超过0.2%,甲基橙和酚酞是否都可用作指示剂? 我想知道KGS是什么意思?我听说KGS是复数形式,如果是这样的话,那:净重:6KGS毛重:11KG,这样不是不对称了吗?我写的数字是以公斤计算的 我要2009至2010年的8年纪语文期末试卷答案 体重用kg做单位还是用N作单位.. 关于KGS的问题10KG可以换算到多少KGS!好象KGS是什么KG的复数! 语文S版2009年-2010年四年级上册期末试卷,请问谁有? 2011年小学六年级语文上册期末试卷 如何在Word中输入几次方的数字? 有4gNa2O2和Na2CO3的混合物溶于水,与100ml物质的量浓度为1mol/L的盐酸恰好完全反应,蒸干溶液,最终得到固体的质量为? 例如:50ml 1mol/l NAOH溶液中的1mol代表什么?RT Word里平方米就是M的2次方怎么打出来? 在A、B、C、D四个烧杯内分别放入0.1mol的钠、氧化钠、过氧化钠、氢氧化钠,然后各加入100ml水,搅拌使固体完全溶解,则A、B、C、D的质量分数大小顺序为:为什么是D 不溶于水的实心球重12N,体积为1.5dm²,若把它轻轻地放入足够大且装满了水的桶里,求:(g取10N/kg)(1)球受到的浮力的大小(2)从桶中溢出的水的质量的大小 WORD里10的负几次方怎么打? 有8g过氧化钠,氧化钠,碳酸钠,氢氧化钠的混合物与200g质量分数为3.68%的盐酸恰好完全反应,蒸干溶液,最- -,怎么变成这样了,算了, 把重为10N、体积为1.2dm³的空心铅球,轻轻地放入水中,铅球静止后受到的浮力多大?(g取10N/kg)如题.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn