【发布时间】:2012-11-19 00:03:57
【问题描述】:
问题
2 apache 服务器的响应时间很长,但我没有看到 CPU 或内存已满。
详情
我有 2 个apache 服务器为客户端提供静态内容。
- 这个网站有很多流量。
- 在高流量时,我每秒有大约 10 个请求(html、css、js、图像)。
- 每个 HTML 向服务器发出 30 个其他请求以加载 js、css 和图像。
- Safari 开发者工具显示,每次我点击一个 html 页面时,其中的 2MB 正在传输
- 这两台服务器运行在
Amazon Web Service - 两个实例都是 m1.large(2 CPUS,7.5 RAM)
- 我在同一台服务器上提供图片
- 服务器在美国,但大量流量来自欧洲
我试过了
- 从 prefork 更改为 worker
- 增加进程
- 增加线程数
- 增加超时
我正在使用 ab (apachebench) 运行基准测试,但没有看到任何改进。
我的问题是:
- 提供图像和大型资源(如 js (400k))是否可能会降低服务器速度?
- 是否有可能每台服务器每秒 5 个请求只是流量太大而我无法进行调整,所以唯一的解决方案是添加更多服务器?
-
amazon web services带宽有问题吗?
新信息
正在从 GlusterFS 上的挂载目录读取我的文件
使用 ab(apache bench)收集的指标在同一网络上的 EC2 实例上运行
Connections: 500
Concurrency: 200
Server with files on mounted directory (files on glusterfs)
Request per second: 25.26
Time per request: 38.954
Transfer rate: 546.02
Server without files on mounted directory (files on local storage)
Request per second: 1282.62
Time per request: 0.780
Transfer rate: 27104.40
新问题
从挂载目录(NFS 或 GlusterFS)读取资源(htmls、js、css、图像)是否可能会显着降低 Apache 的性能?强>
谢谢
【问题讨论】:
-
提供实际的基准可能会有所帮助...:P
-
可能有助于在此处链接您的网站,因为在网站性能优化方面经验丰富的人可能会在查看您的来源后立即提出任何建议。
-
如何对两台服务器之间的工作进行负载均衡?您在使用弹性负载均衡器吗?您是否将两台服务器都托管在同一区域?您是否尝试在欧洲地区设置其中之一?
-
我们在美国地区都有弹性负载均衡器
标签: amazon-web-services apache