hapijs 有过载保护之类的东西吗?
Does hapijs have something like overload protection?
如果 hapi 服务器过载,它会做什么?是否有类似 toobusy-js 的东西可以通过缩短一些有错误的请求来防止服务器崩溃。
是的,它嵌入在框架中,在连接 settings 上查看 load
。
您有 3 个选项:
maxHeapUsedBytes
- 传入请求被 HTTP 服务器超时 (503) 响应拒绝的最大 V8 堆大小。默认为 0(无限制)。
maxRssBytes
- 传入请求被 HTTP 服务器超时 (503) 响应拒绝的最大进程 RSS 大小。默认为 0(无限制)。
maxEventLoopDelay
- 以 HTTP 服务器超时 (503) 响应拒绝传入请求的最大事件循环延迟持续时间(以毫秒为单位)。默认为 0(无限制)。
`
并且您一定不要忘记在 server.load
配置上设置采样间隔(两次检查之间的时间):
sampleInterval
- 以毫秒为单位的采样频率。默认为 0(无采样)。
示例:
服务器配置:
{
"load": {
"sampleInterval": 1000
}
}
连接配置:
{
"load": {
"maxHeapUsedBytes": 1073741824,
"maxRssBytes": 1610612736,
"maxEventLoopDelay": 5000
}
}
如果 hapi 服务器过载,它会做什么?是否有类似 toobusy-js 的东西可以通过缩短一些有错误的请求来防止服务器崩溃。
是的,它嵌入在框架中,在连接 settings 上查看 load
。
您有 3 个选项:
maxHeapUsedBytes
- 传入请求被 HTTP 服务器超时 (503) 响应拒绝的最大 V8 堆大小。默认为 0(无限制)。maxRssBytes
- 传入请求被 HTTP 服务器超时 (503) 响应拒绝的最大进程 RSS 大小。默认为 0(无限制)。maxEventLoopDelay
- 以 HTTP 服务器超时 (503) 响应拒绝传入请求的最大事件循环延迟持续时间(以毫秒为单位)。默认为 0(无限制)。 `
并且您一定不要忘记在 server.load
配置上设置采样间隔(两次检查之间的时间):
sampleInterval
- 以毫秒为单位的采样频率。默认为 0(无采样)。
示例:
服务器配置:
{
"load": {
"sampleInterval": 1000
}
}
连接配置:
{
"load": {
"maxHeapUsedBytes": 1073741824,
"maxRssBytes": 1610612736,
"maxEventLoopDelay": 5000
}
}