分析我的扭曲应用程序时,我看到twisted/application/app.py:startReactor
被调用了496次。除此之外,我看到线程泄漏:该应用程序创建了~500个线程,其中大多数在FUTEX_WAIT_PRIVATE
中处于空闲状态。在此性能分析期间,运行简单的负载测试:~1rps。
这是否意味着代码reactor.run()
中的某个地方正在泄漏?我应该从哪里开始挖掘?
一般来说,没有。reactor.run
不会启动线程。 但是,如果您有一个启动 496 个反应堆的应用程序,那么它可能会启动运行每个反应堆的线程。