【问题标题】:Multiple website makes an API call at the same time多个网站同时进行 API 调用
【发布时间】:2017-03-20 03:34:42
【问题描述】:

首先,为我糟糕的英语道歉。

我只是想澄清一些事情。

如果有多个网站的用户(比如说 1000 个)并尝试同时访问我的 API 的端点(假设每个人都在访问注册端点)(或者如果不完全相同,时间间隔为 nano -第二)。会发生什么?每个人都会得到相同的响应时间吗?还是第一个访问它的人会比第二个更快地获得它?

根据我的知识(是的,我很愚蠢),我认为 API 会在队列中处理它,所以如果您是第 1000 个用户,您将在更长的时间内收到响应。如果这是真的。有没有办法减少延迟?

非常感谢您花时间解释事情:)

【问题讨论】:

  • 为此您必须调整服务器设置。假设您使用 PHPNginx 比您必须调整您的 nginxphp-fpm 来处理这些请求示例:增加后台工作进程和 php-fpm 进程等。你调整得越好越少将是响应时间。
  • 我明白了。我会研究这些建议!非常感谢。我实际上正在考虑再创建 10 台连接到一个数据库的服务器。然后如果另一个忙,它将重定向到另一个。我是个新手:)
  • 如果您想使用多服务器来处理请求。最好在服务器上过一遍load-balancing的概念
  • 哦,所以我认为这是可能的?伟大的!一分钟内有两个选项。
  • 欢迎...... :)

标签: php rest api response-time


【解决方案1】:

您对队列的看法是正确的。如果有 1000 个人用户同时访问您的 API,他们中的一些人很可能会等待。

您可以微调您接受的同时请求的数量。我假设您使用的是 nginx 或 apache。例如,你将不得不尽可能增加 nginx 中的 worker 和 worker 进程,但要确保你的服务器可以处理它们。

如果您想使用更多服务器,您可以使用负载平衡器,该负载平衡器将处理来自当前可用服务器的请求或随机从其中一个服务器发出的请求。

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 2021-03-05
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多