use*_*194 5 php5 php-fpm mpm-prefork amazon-ec2 apache-2.4
我正在尝试使用 jmeter 测试加载我的团队在 AWS ubuntu 14.04 上开发和部署的 LAMP 应用程序。我们使用 AWS CDN 来提供静态文件,mysql 和 apache 在同一台主机上。
当只有一个用户在做事时,响应时间是正常的,根据页面的不同在 2 到 5 秒之间。
我的目标是让它在同一时间响应 500 个同时做事的连接用户。
我从较少数量的用户开始,在 t2.small(1vCPU,2 Gb RAM)上使用 mod_php 和 prefork 模块,我对只有 40 个连接的用户感到满意。一旦有 100 个,它就会以 +20 秒的响应时间极度减慢。
在进行了一些 SO 资源之后,我尝试使用 php-fpm 和 event 模块。性能更好,但仍然很慢;任何单页 +15 秒。我决定将服务器升级到 M4.2xlarge(8vCPU,32 Gb RAM)。对于 100 个连接的用户,它表现正常,我很满意,但这是一个昂贵的,我想使用最合适的服务器规格找到更好的性能。
不管怎样,我试图用 330 个连接的用户同时做事来测试这个 M4.2xlarge,它变得太慢了,每页 +15~+20s。一直在尝试调整事件配置和 fpm 进程,但没有运气(在大多数情况下,我有 +90?cpu,但没有使用足够的 RAM,这就是为什么我认为我们在某处有限制)。
我觉得我很接近,但我做不到。我将使用您要求的任何文件、日志或输出更新我的问题。
小智 1
我认为你可以设置nginx缓存和反向代理对 apache 和 Cloudfront 的请求。我不久前就这么做过。并解决我的延迟问题。
我的设置是:EC2 + RDS + Cloudfront/S3
我设置了 EC2,将nginx静态文件的请求缓存和代理到指向 S3 上存储桶的 Cloudfront。以及将需要在服务器端运行的请求代理到apache。并将我的数据库服务设置在RDS上。
这解决了我的问题并将延迟减少到几毫秒。
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |