欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

网络性能探讨

程序员文章站 2024-01-12 21:54:22
...

这周我们公司会进行新项目的research,主要是用于用户行为分析,在各个网站上采集一些用户行为然后传送到指定服务器进行数据收集,以后用于用户行为的分析,其中有一个带头的engineer,他指出希望采用ajax+tcp server的架钩模式进行这个项目,首先由于有很多网站,上百个,在用户点击一些广告的时候会由ajax 异步传输数据到指定server,这里的server可能就是一个Tcp server,这里的讨论焦点就是 是否有必要重新开发一个Tcp server去做数据收集的工作。首先他的论点是:

  1. Tcp server位于OSI 网络7层模型的传输层,这样想当然他的效率是最高的,没有了HTTP server没必要的很多东西,比如每次http 传输后http server总是会来个callback,通过tcp 就不需要了,只要来个握手就可以了没必要callback,性能自然提升了。
  2. 通过linux的 epoll 可以提升网络性能。

感觉上他的论点的确有他的道理。但是大家知道现在很多开源的高性能的网络服务器比如wildfire等都是 通过mina nio网络框架进行实现,觉得其性能不会很差,以及其他quick server,cindy都是大口碑的网络框架,我觉得是否有必要再去重新开发一个TcP server,另外关于EPoll从一些文章了解到的当访问量达到 千W级别时候,相对于传统select的确可以大幅提升性能。对于java而言听说java6已经支持了,希望大家发表高见,如何通过现有资源开发一个高性能网络服务器。