CPU绑定非常简单的应用程序:哪个堆栈用于高流量?

时间:2014-04-14 21:50:32

标签: http redis rabbitmq

很满意!

我有这个非常基本的应用程序,我目前正在使用LAMP堆栈执行以下操作:

- 接受HTTP请求

- 操纵cookie

- 从(本地)Redis

获取数据

- 从apache_geoip获取请求国家/地区

- 使用http请求和所有相应请求/ cookie / redis数据进行一些非常基本的业务逻辑

- 向(远程)rabbitMQ发送消息

-Output< 1kb of HTML

到目前为止我已经"好的"使用此设置的结果,处理大约800个请求/秒的峰值,平均响应时间为150毫秒。 我目前需要对此进行改进以处理更多请求/响应时间。 我想知道是否有人可以在堆栈上提出建议,以便更有效地完成这项任务?

我知道这个问题有点过分,除了测试各种语言/网络服务器之外我不知道如何确定。 任何帮助都非常欢迎

谢谢

1 个答案:

答案 0 :(得分:0)

800rps一点都不差,但你没有指定你的环境和硬件,所以没有这个,没有人甚至可以给你任何具体的建议,而不是像#34;缓存geoip结果那样的一般建议"等等(但它可能没用)。

您必须对您的应用进行分析以查看瓶颈,并且只有在做出决定后,应用级别上是否存在任何问题,或者您需要将第二台(或第N + 1台)机器添加到您的群集中(如果有的话)。

P.S:

如果您使用的是Apache和php(并且没有硬件依赖项),请尝试使用nginx和php-fpm替换它们。

有时添加简单的HTTP缓存机制有助于显着减少请求数量(因此您的服务器不会每次都执行猴子工作,并且只会处理'唯一的请求)。