2024-05-14 18:31:13 发布
网友
我目前正在单核机器上设置一个Gunicorn应用程序,我对内存有限制,所以我宁愿使用1个Worker和8个线程,而不是2个Worker和4个线程
但是,我仍然在问自己1个worker配置可能存在的性能问题,Gunicorn官方文档建议使用以下设置
2 * (number of cores) + 1
考虑到使用Python时,如果我想使用线程实现真正的并行性,那么我本机就会被GIL阻塞,因此我仍然没有看到使用比核心数量更多的进程的兴趣
这实际上取决于工作量
对于CPU密集型任务,您是对的。 对于I/O(网络、存储)密集型任务,即使在单个核心上,也可以利用多个线程来提高性能
这都是理论上的,性能瓶颈可能来自意外的来源
在我看来,最好的做法是在模拟系统在生产中所面临的工作负载下,根据经验对几个配置进行基准测试,并选择产生最佳结果的配置
这实际上取决于工作量
对于CPU密集型任务,您是对的。 对于I/O(网络、存储)密集型任务,即使在单个核心上,也可以利用多个线程来提高性能
这都是理论上的,性能瓶颈可能来自意外的来源
在我看来,最好的做法是在模拟系统在生产中所面临的工作负载下,根据经验对几个配置进行基准测试,并选择产生最佳结果的配置
相关问题 更多 >
编程相关推荐