golang协程和python协程对比

golang协程和python协程对比

golang协程和python协程对比,主要是测试在生产中的并发、效率等。

因为机器配置较弱(没钱开机器😄),均在load15负载约降为0的时候开启下次测试,避免机器负载影响。 同时程序无复杂逻辑处理,仅做返回。

go协程和python协程测试环境

压测环境

AWS 1核1G CPU为 E5-2676 v3 @ 2.40GHz,压测工具:wrk

目标环境

AWS 1核1G CPU为 E5-2676 v3 @ 2.40GHz,机器无弹性扩容性能,固死频率

前段均用nginx做反向代理

  • golang环境:nginx->docker->golang->gin
  • python环境:nginx->docker->python3.7->flask+gevent单进程模式

go协程测试结果

golang在机器负载高的时候响应很慢,约为100ms左右,机器负载低的时候响应很快34ms。平均水平QPS约为2800(1核1G内存,2.4GHZ处理器)

python协程测试结果

可以看出python在并发和机器负载低情况下跟golang响应方面差别不大,平均水平QPS约为1000(1核1G内存,2.4GHZ处理器)。不过并发能力确实弱很多,而且随着负载增高,越来越慢(还是动态语言解释的原因),不过话说instagram都用来处理上亿的并发,这点量算什么😄,Refer:《Flask gevent 多进程WSGI,每秒1w5 QPS》

发表评论

电子邮件地址不会被公开。 必填项已用*标注