0

我有一个只有一条路由的小烧瓶网络服务器。只要客户端不停止连接,连接就会保持打开状态并将数据流式传输到客户端。我正在使用女服务员多个线程,所以它不会阻塞。

现在的问题。一段时间后,CPU 使用率上升到 100%。与此同时,收到了一些对 /admin.php 的奇怪请求,但它们都得到了 404。在空闲或有几个连接时,我什至看不到 $top 下的 python3。

为什么会这样,我该怎么办?

4

1 回答 1

0

当您使用 Flask 和 waitress(GIL 问题)时,100% 的 CPU 使用率 - 单处理多线程,并且您的进程似乎主要是非基于 CPU 的,例如高 IO,因此您看不到 python进程使用 CPU 但队列正在增加,在大量队列之后,在分配 CPU 时,它开始对所有排队的线程进行上下文切换,并达到死锁竞争条件。我有一个类似的问题,我搬到了 Gunicorn 类型的 wsgi 服务器,它能够在带有工人和工人类的多处理器上运行它

于 2020-10-06T05:17:10.043 回答