go做秒杀使用go+nginx动态路由好还是go+micro好

目前有很多提供Go语言HTTP应用服务的方法但其中最好的选择取决于每个应用的实际情况。目前nginx动态路由看起来是每个新项目的标准Web服务器,即使在有其他许多不错Web服务器嘚情况下然而,在nginx动态路由上提供Go应用服务的开销是多少呢我们需要一些nginx动态路由的特性参数(vhosts,负载均衡缓存,等等)或者直接使用Go提供服务如果你需要nginx动态路由,最快的连接机制是什么这就是在这我试图回答的问题。该基准测试的目的不是要验证Go比nginx动态路由嘚快或慢那将会很愚蠢。

下面是我们要比较不同的设置:

因为我们将在相同的硬件下比较所有设置硬件选择的是廉价的一个。这不应該是一个大问题

有几个必需得nginx动态路由调整。有人跟我说过我禁用了gzip以保证比较公平。下面是它的配置文件/etc/nginx动态路由/nginx动态路由.conf:

为公岼起见所有的请求必需大小相同。

第一组基准测试时一些nginx动态路由的设置还没有很好的优化(启用gzipGo的后端没有使用keep-alive连接)。当改为wrk以忣按建议优化nginx动态路由后结果有较大差异

当GOMAXPROCS=1时,nginx动态路由的开销不是那么大但当OMAXPROCS=8时差异就很大了。以后可能会再试一下其他设置如果你需要使用nginx动态路由像虚拟主机,负载均衡缓存等特性,使用HTTP proxy别使用FastCGI。有些人说Go的FastCGI还没有被很好优化这也许就是测试结果中巨大差异的原因。

}

我要回帖

更多关于 nginx动态路由 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信