在理想的异步程序中,每个事件循环在接收数据和轮询->动作-执行之间的停机时间总是为零。
我的程序侦听一组端口,并将数据轮询和移动到队列中发生在单个异步核心 (A) 上。然后我有另一个异步核心(B),它从该队列中获取数据并处理它。然后我有另一个运行后台子程序(C)的异步核心。所有 A、B 和 C 都发生在不同的线程上。
假设有大量的数据流负载,核心 B 因待处理的工作而过载(这实际上意味着最终用户的“滞后”)。检测这种过载的常用方法是什么,如果检测到过载,我应该使用另一个与 B 连接的 async-core(D) 吗?