提高交易率的技巧

时间:2012-09-16 22:54:07

标签: c linux performance data-structures g-wan

Lighttpd,nginx和其他人使用一系列技术来提供最高的应用程序性能,例如AIO,sendfile,MMIO,缓存和epoll以及无锁数据结构。

我的同事和我编写了一个小应用程序服务器,它使用了许多这些技术,也可以服务器静态文件。所以我们用apache bench测试了它,并将我们与lighttpd和nginx进行了比较,并且至少匹配了从100字节到1K的文件的静态内容性能。

然而,当我们将相同静态文件的交易率与G-WAN的交易率进行比较时,G-WAN领先一步。

我知道这个问题可能有点主观,但除了我提到过的明显技巧之外,还有哪些技术可能会让Pierre Gauthier在GWAN中使用,这将使他能够达到如此惊人的表现?

2 个答案:

答案 0 :(得分:4)

多年来,在G-WAN服务器之后,我已经阅读了旧G-WAN论坛上关于这个问题的(很多)会谈。

从我记忆中,反复提到的是该计划:

  1. 架构(与nginx,lighty和cherokee进行了具体比较)
  2. 实施(如何进行整体分支,请求解析和响应构建)
  3. 精简公共路径(所有类型的请求遵循的路径:动态,静态,处理程序)
  4. 皮埃尔经常提到其他服务器来解释其特定架构中的 ,而实施正在减慢它们的速度。

    随着时间的推移,由于G-WAN似乎堆叠了越来越多的功能(C#脚本支持,下一版本需要反向代理和负载均衡器),看来上述3点越来越多重要。

    这可能就是为什么每个新版本的G-WAN似乎都愿意比以前更快:你做的工作越多,必须消除更多的脂肪,因为它的成本会越来越高。就像赛车或飞机一样,这是一个渐进的过程,一个呼唤更多的另一个过程。

    如果您正在寻找G-WAN速度的“秘密”,那么我想这是关键点。但如果您想了解更多细节,那么您应该直接与G-WAN作者交谈。

答案 1 :(得分:1)

查看G-WAN的时间表。 2011年8月8日的更新可能会让您了解他正在使用的内容。

G-WAN Timeline

皮埃尔提到G-WAN在G-WAN的核心功能上使用了它的等待免费Key-Value存储。由于没有使用锁,因此速度更快。

他还使用Lorenz Waterwheel灵感技术来处理线程。我不确定它是如何工作的,但他说它允许G-WAN在每种情况下都能更快地运行。