前言
在 Web 应用程序中,当负载变得过高时,用户将不得不等很长时间才能得到响应。这对用户来说非常不好,也可能导致应用程序崩溃。使用 Node.js 编写的应用程序需要避免这样的情况,以确保系统在负载高时仍然正常工作。npm 包 toobusy-js 就是专门为解决这个问题而创建的。这篇文章将教你如何使用 toobusy-js 包。
安装 toobusy-js
在开始使用 toobusy-js 之前,你需要把它安装到你的项目中去。在终端中运行以下命令即可:
npm i toobusy-js
该命令将自动从 npm 包管理器中下载和安装 toobusy-js 包。
使用 toobusy-js
在你的项目中引入 toobusy-js 包。因为 toobusy-js 监控当前程序的进程状况,所以它只能在 Node.js 环境中使用。在你的代码文件的开头添加以下代码行:
const toobusy = require('toobusy-js');
这将为你的程序创建 toobusy 对象。
开启负载避免模式
要避免因负载过高而导致应用程序变慢,你必须捕获所有传入的 HTTP 请求,并确定系统是否已经不忙。以下是处理 HTTP 请求的示例代码:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------- - ---------------------- ----- ------ - ----------------------- ---- -- - -- ----------- - -------------- - ---- ----------------------------- -------------- --------------- -- --- ----- ------ --- ----- --------- - ---- - -- ----------- - --- ------------------- -- -- - ------------------- -- ------- -- ------------------------ ------------------- ---
可以看出,在 toobusy-js 中,只需要简单的在传入请求处理的流程中添加一个 if 语句即可,它将根据当前的负载情况决定是拒绝请求还是继续处理。
注意,我们在 server.listen
函数直接设置了 toobusy.maxLag(50)
。这意味着在系统达到 50 毫秒的忙碌阈值后,它将开始拒绝请求。你可以根据应用程序的特定要求进行调整。
关闭负载避免模式
在某些情况下,你可能希望关闭 toobusy ,如在测试场景中。以下是关闭 toobusy 的示例代码:
toobusy.shutdown();
总结
toobusy-js 是一个非常有用的包,可以帮助你避免系统负载过高而导致服务器变慢或崩溃。通过开启 toobusy 即可监控当前系统的负载,根据负载情况决定是否拒绝请求。在应用程序的 server.listen
函数中加入 toobusy.maxLag(50)
一行即可控制忙碌阈值,如果系统达到这个阈值,它将开始拒绝请求。希望这篇文章能够帮助你更好地使用 toobusy-js。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/63753