PHP并发用户和并发会话访问数据库/IO的问题
本帖最后由 mordorwww 于 2013-06-18 21:33 编辑如果PHP向数据库或者某个本地文件发起请求(读),那么当前的PHP进程(线程)是不是就挂起,等到数据库响应回来或者文件可读(从PHP访问数据库的范例代码看,应该只能如此)?
如果真是如此,那么多个用户、会话同时向PHP请求时, 当前的PHP进程(线程)也只能原地死等闲等,等数据库/IO响应就绪并处理完成后,才能处理下一个用户、会话。
当然可以使用线程池之类的,但是如果并发用户和并发会话太多从而线程太多,显然也不是好主意 一个http请求,就启用一个php进程的。 本帖最后由 mordorwww 于 2013-06-21 13:01 编辑
maochanglu 发表于 2013-06-21 09:20 static/image/common/back.gif
一个http请求,就启用一个php进程的。
如果10000个http请求,那就10000个php进程?
这样效率太低了,那不是和cgi一样了 php是作为apache的模块加载的,所以当发生http请求的时候,apache会使用一个httpd进程来运行响应的php脚本,不会重复创建php进程。所以效率不会是问题。 本帖最后由 mordorwww 于 2013-06-22 17:22 编辑
zhtrue 发表于 2013-06-22 10:30 static/image/common/back.gif
php是作为apache的模块加载的,所以当发生http请求的时候,apache会使用一个httpd进程来运行响应的php脚本, ...
那 如果一个http请求中,php向数据库发了一个查询请求,接下来PHP是等数据库响应呢还是继续处理后面的http请求 mordorwww 发表于 2013-06-18 21:29 static/image/common/back.gif
如果PHP向数据库或者某个本地文件发起请求(读),那么当前的PHP进程(线程)是不是就挂起,等到数据库响应回来 ...
是啊,,
页:
[1]