Apache-并发的HTTP请求,apache是如何响应的,以及如何调用php文件的?
LAMP平台,apache应该是使用prefork模式,我想问一下,prefork创建的众多进程是单独监听请求,还是说监听请求,然后再对请求处理,然后再返回用户?
如果有100个用户同时请求index.php文件,是怎么样进行执行的?这100个用户是需要排队请求一个文件呢?还是对该文件创建若个副本?
如果是100个用户排队请求一个文件的话,那和1个用户同时访问100次是一样的了吧?
另外,如何测试一个网站能同时承载的最大用户数呢?
谢谢诸位
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Apache 上运行 PHP 有多种方式,常见的如 FastCGI 和 PHP Module,他们的工作模式不同。如果是使用 PHP Module 的话,是在 Apache 的进程中执行 PHP 脚本的,监听进程会把请求分派给工作进程来处理。
100个用户同时请求 index.php 通常不会排队的,因为 Apache 可以有多个进程处理请求,同时每个进程又可以有很多线程,所以如果你的机器够强悍的话,可以理解为并发处理。
测试应用性能和容量的问题可以借助一些压力测试工具,付费的,也是最好的,就是 HP LoadRunner,借助这个工具可以在少量的电脑上模拟大量的用户,然后再看应用的表现。它会自动收集例如每秒请求数、每秒事物数、响应时间等数据,并且以图表方式给你展示出来。