我最近将一个 Web 应用程序移到了 Rackspace (CentOS)。它在 512mb RAM 下运行得很好,但我确信我很快就必须将其升级到 1024mb RAM。
坏消息是,该服务在移动设备上运行(每 5 分钟间隔拉取一次服务器)...这意味着如果很多人同时使用该服务,负载会相当高。
是的,是的……我们已经在研究推送解决方案了,但在此之前,你有什么关于如何优化服务器以处理重负载的建议吗?我已经实施了 memcached(这对我们帮助很大),但我仍然期待其他解决方案。
感谢所有提示!
答案1
如果不了解该服务或它产生的负载类型,我只能提供一个非常通用的答案。
- 分析,尝试找到瓶颈。很难说出瓶颈实际上在哪里。一些选项是
- 磁盘输入输出
- 数据库(CPU 和内存的组合)
- Apache 工作者
- TCP 连接(及其他网络原语)
- 网络带宽
- 群体效应是拉动应用程序的一个严重问题。确保不要将用户聚集到周期性负载中。如果可能,请随机化用户访问网站的频率。
- 调整加载后用户拉取数据的频率
- 如果用户提取的数据并非总是最新的,请确保实现某种条件获取,以确保您不会花费大量时间生成没人需要的数据。