我的 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/