Nginx的速度,以及如何复制它
我不仅从学术角度而非实际角度对此感兴趣;我不打算创建一个生产网络服务器来与nginx竞争.我想知道的是nginx究竟是如此之快.最热门的谷歌回应是this线程,但它只链接到一个神秘的幻灯片和不同的io策略的一般覆盖.所有其他结果似乎只是简单描述了nginx的速度,而不是原因. 我尝试构建一个简单的erlang服务器来尝试与nginx竞争,但无济于事; nginx赢了.我的所有服务器都为每个请求生成一个新进程,使用该进程将文件读取到套接字,然后关闭文件并终止该线程.这并不复杂,但考虑到erlang的轻量级进程和底层的aio结构,我认为它会竞争,但在重压力测试下,nginx仍能以300毫秒的平均值获胜. 什么是nginx做我的简单服务器不是?我的第一个想法是将文件保存在主内存中,而不是在请求之间抛出它们,但文件系统缓存已经这样做了,所以我认为它不会产生那么大的差别.我错了吗?或者还有其他我想念的东西? 最佳答案 结果我的小测试服务器与nginx相当竞争,一旦我告诉它以二进制模式而不是列表模式读取文件.我认为对于不熟悉erlang和erlang服务器设计的人来说,在这个线程的其余部分中进行的大量讨论可能会让人感到困惑.我不想删除该线程,因为其中有关于nginx的良好信息(我不能,它已经有答案),但我鼓励任何人研究制作基于erlang的服务器进行一些研究并写下很多测试,而不仅仅是你在这里阅读的内容. (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 如何在nginx中列出所有vhosts?
- 使用Nginx反向代理应用程序及其静态文件
- apache – 将.htaccess转换为nginx(mod_rewrite)
- apache-2.2 – Linux上的Mono:Apache或Nginx
- nginx – 基于请求的标头的响应
- 当响应位置的域发生变化时,使用nginx的proxy_redirect
- ruby-on-rails – 504网关超时nginx / 1.4.6(Ubuntu)
- angularjs-使用Nginx作为代理来避免CORS
- nginx选择错误的默认网站
- Django Gunicorn nginx表现非常糟糕.甚至无法获得8 qps
- ruby-on-rails – Gem:Module的未定义方法`path
- apache-2.2 – 使用Nginx进行严格的安全性和虚拟
- nginx – uWSGI / Emperor:UnicodeEncodeError:
- 缓存 – 在NGINX`position`指令中`expires -1’是
- nginx /index.html到/重写
- 在/ nginx中将/foo.html重定向到/ foo但不是/ to
- nginx中的动态proxy_pass到Kubernetes中的另一个
- ruby-on-rails – 无法启动独角兽,master无法启动
- 通过nginx提供fastcgi
- angularjs-使用Nginx作为代理来避免CORS