nginx 假如有1W个请求进来,PHP的这个页面执行需要1秒,那么等全部请求返回是不是需要1W秒?

Qianfeng 发布于 2011/09/01 17:42
阅读 3K+
收藏 1

用什么epoll(libevent),事件触发模式,来处理socket

在高并发的时候返回给用户数据的时候其实是一个个个响应得把?

nginx 假如有1W个请求进来,PHP的这个页面执行需要1秒,那么等全部请求返回是不是需要1W秒?

是这样吗?

以下是问题补充:

@Qianfeng:貌似不是, 假如因为网络问题,服务端向客户发送结果需要1秒才结束呢? (2011/09/01 17:45)
加载中
0
红薯
红薯
当然不是这么算的,请求是可以并发处理的
xyz555
xyz555
理论上是,但这个一般是1 + 1 < 2
Qianfeng
Qianfeng
@xyz555 : 如果是双核的话是除以2吗?
xyz555
xyz555
这个不是绝对吧?如果是单核单个cpu这样算没错,这种cpu是时分复用的。当然现在似乎很难找到这样的cpu。
0
Qianfeng
Qianfeng

引用来自“红薯”的答案

当然不是这么算的,请求是可以并发处理的
epoll 本身实现了这种并发吧? 写的程序绑定了一个callback 函数,函数在内存里,调用的时候是epoll实现,不是我们编写的程序负责的吧?
0
红薯
红薯
就算不是 epoll 也是可以并发访问的
0
mark35
mark35

1、可以并发的。不是说每个页面1秒,1W个页面就是 1*1W == 1W秒

2、PHP页面处理时间一般就几百毫秒,一秒实在太长了

0
忆童
忆童
如果说每个页面的实际处理时间就是1秒的话,我觉得那应该真的需要1W秒的
0
极品渣子
极品渣子

没错,前提是一个页面的处理时间需要1秒,那么就是1W*1,给服务器增加CPU吧。

0
Qianfeng
Qianfeng

只是打个比方而已..我是希望了解下Linux方面..

ddatsh
ddatsh
WINDOWS一样是并发的
0
蟋蟀哥哥
蟋蟀哥哥
可以并发的.. 你可以用ab测试下1w个并发的时间
0
Qianfeng
Qianfeng

引用来自“gamespoerleveling”的答案

可以并发的.. 你可以用ab测试下1w个并发的时间

试了下apache可以并发~apache可以并发,但是apache是多进程/多线程的

 

Nginx 明天到Linux下试试~Windows貌似是需要1W秒..

0
Qianfeng
Qianfeng

引用来自“红薯”的答案

就算不是 epoll 也是可以并发访问的
我只知道多线程/多进程可以,至于想redis,memcached这中单进程、单线程的不太懂~看来要认真研究下Linux!谢谢番薯老大!
返回顶部
顶部