delay
'delay' 指令用于在处理请求时引入指定时长的故意延迟。
Delay requests for a given time
·
httpserverlocation
语法delay time;
默认值none
上下文http, server, location
参数1
说明
'delay' 指令用于在 NGINX 中根据指定的时间长度在请求处理过程中引入暂停。它可以在多个上下文中设置,包括 http、server 和 location 块。该指令接受一个参数,表示以毫秒、秒或分钟为单位的延迟时间。当启用时,它会暂时停止对该请求的处理,直到指定的延迟时间到期。最大持续时间仅受服务器配置和可用资源的限制。\n\n当带有延迟的请求被处理时,该请求的写事件会被置于延迟状态。这意味着在延迟期间,服务器不会为该请求处理任何额外事件。延迟期结束后,服务器会恢复到正常的处理流程。如果请求发生内部重定向,则会触发另一次延迟,从而延长总等待时间。该模块可用于模拟慢响应、限制请求速率或测试客户端在服务器响应延迟情况下的行为。\n\n必须配置适当的超时设置,以避免由于过长的延迟而导致的意外服务器过载或无响应状态。应谨慎使用 'delay' 指令,需考虑整体服务器性能和客户端体验。
配置示例
location = /slow {
delay 10s;
# other configurations
}⚠
内部重定向会触发单独的延迟,可能导致等待时间叠加。
⚠
请确保所有超时配置设置正确,以防过长的延迟导致请求失败。