c - 提高成交率的技巧

标签 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 中使用哪些技术来实现如此惊人的性能?

最佳答案

多年来一直关注 G-WAN 服务器,我在旧的 G-WAN 论坛上阅读了(很多)关于这个问题的演讲。

据我所知,反复提到的是程序:

  1. 架构(具体对比了nginx、lighty、cherokee)
  2. 实现(如何进行整体分支、请求解析和响应构建)
  3. 精益公共(public)路径(所有类型请求遵循的路径:动态、静态、处理程序)

Pierre 经常提到其他服务器,以解释他们的特定架构和实现中的什么正在减慢他们的速度。

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

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

如果您正在寻找 G-WAN 速度的“ secret ”,那么我想这就是关键点。但是,如果您想了解更多详细信息,那么您应该直接与 G-WAN 作者联系。

关于c - 提高成交率的技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12451398/

相关文章:

linux - 重用目录中的文件名

linux - 在每次 vagrant up 命令后,如何防止 RSA key 的指纹发生变化?

c# - 提高 WCF 服务性能

python - 如何在linux上的python中安装模块autopy?

c - 套接字编程 : recv/read issue

c++ - C/C++ 中的并发日志文件访问

使用 NMake : Not producing a static library 在 Windows 中编译 libssh2

html - 制作像国际象棋一样的巨大网格最轻的方法是什么?

C++在for循环之前是否获取参数

c - Thermo 迷你打印机上 C 语言的文本换行