php - 请求处理时间与每秒请求数之间的关系

标签 php apache http

我的 PHP 脚本需要大约 7 秒才能运行,因为它从 Web 中的各种来源获取和处理数据。这与我每秒可以处理的请求数有什么关系?

最佳答案

这取决于您的脚本使用的资源。

基本上,当您用完脚本服务器、数据库服务器或您从中获取数据的任何服务器上的 CPU、磁盘 I/O、内存,或达到第三方 API 请求限制时,游戏结束。

这通常与并发请求有关,而不是每秒请求数 - 有多少请求可以同时从所有请求可用的池中访问它们所需的资源。这在现实生活中实际上要复杂得多,因为请求在其生命周期的不同部分访问不同的资源,而且您通常会在同一台服务器上处理对不同脚本的请求,每个脚本都有不同的资源需求组合。

长时间运行的请求与每秒请求数有一个有趣的交互。通常,请求需要 200 毫秒。如果您可以处理 50 个并发请求,则意味着您每秒可以处理大约 250 个请求。假设你只能处理 50 个并发请求,那么你每秒只能处理 7 个请求。

第一秒,你会有7个正在运行的脚本。第二场14场,第七场49场。然后,在第八个中,由于完成将释放 7 个,并从新请求中添加 7 个。

在遇到实际资源使用问题之前,您可能会遇到 Apache 配置问题 - 您将需要增加服务器/工作人员的数量,因为您有一些非标准的用例(即,大多数请求在不到一秒)。根据处理的复杂程度,如果大部分时间它们都在执行网络 I/O,您可能能够处理数百个并发脚本。

基准测试和其他性能分析是获得有关每秒请求数和/或并发连接数的更准确信息的唯一方法。

关于php - 请求处理时间与每秒请求数之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4529494/

相关文章:

java - 如何使用 HttpClient 在 Android 中管理 PHP session ?

php - 在 PHP 中使用 POST 响应

apache - 如何每天轮换 apache 日志文件?

apache - 密码通过 htaccess 保护多个目录

http - 如何从网站获取提要 URL?

iphone - iPhone 上的 COMET(服务器推送到客户端)

php - 在 MySQL 表中设置唯一的列对

php - 具体mysql行到php代码

php - 如何通过 django 和 php 在同一域上提供动态内容?

http - IIS 文件下载挂起/超时 - sc-win32-status = 64