月度归档:2009年08月

浏览器访问服务器的速度问题分析

之前看资料,有多次看到过说ie浏览器的客户端在与一个服务器之间(特指http 服务)最多建立2个TCP连接来传输http request。F5可以利用express connect通过增加域名的方式来增加连接数。
我观察过多次,访问我的网站 总能看到10个连接
TCP    192.168.0.185:3632     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3633     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3634     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3635     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3636     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3637     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3638     203.171.232.42:80      ESTABLISHED
TCP    192.168.0.185:3639     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3640     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3641     125.76.229.121:80      ESTABLISHED
TCP    192.168.0.185:3642     125.76.229.121:80      ESTABLISHED

这就让我迷惑。今天在网上一番google,终于明白了点:
原来根据RF2616的要求,客户端和同一个server之间确实只能建立不超过2个TCP(http 1.1是2个,1.0是4个连接)连接以避免拥塞
Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.

但是这个不是绝对的,不同的浏览器行为可能并不一样。对于IE有这样一个注册表设置:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

MaxConnectionsPerServer REG_DWORD (Default 2)
Sets the number of simultaneous requests to a single HTTP 1.1 Server

MaxConnectionsPer1_0Server REG_DWORD (Default 4)
Sets the number of simultaneous requests to a single HTTP 1.0 Server

这是标准的,但是我的电脑是IE7,他们的值都是10,我想在IE8应该也是这样吧
我查了微软的文档,http://support.microsoft.com/kb/183110/en-us,6.0(含)以前的版本应该都是2. 大家可以验证下。

我将限制值改为2后,再查看发现确实只能同时建立2个TCP连接了。
  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:2869           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:15000          0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1045         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1100         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:62514        0.0.0.0:0              LISTENING
  TCP    192.168.0.185:139      0.0.0.0:0              LISTENING
  TCP    192.168.0.185:1071     219.133.60.243:8000    CLOSE_WAIT
  TCP    192.168.0.185:2307     121.0.19.146:16000     ESTABLISHED
  TCP    192.168.0.185:3609     60.28.183.195:80       TIME_WAIT
  TCP    192.168.0.185:3615     60.28.183.195:80       TIME_WAIT
  TCP    192.168.0.185:3618     125.76.229.121:80      ESTABLISHED
  TCP    192.168.0.185:3619     125.76.229.121:80      ESTABLISHED
  TCP    192.168.0.185:3620     203.171.232.42:80      ESTABLISHED
  TCP    192.168.0.185:3621     125.46.105.130:80      ESTABLISHED
  TCP    192.168.0.185:3623     60.12.231.25:80        ESTABLISHED
  TCP    192.168.0.185:3624     60.12.231.15:80        ESTABLISHED
  TCP    192.168.0.185:3625     61.189.20.200:80       SYN_SENT
  TCP    192.168.0.185:4952     207.46.107.64:1863     ESTABLISHED
  TCP    192.168.0.185:4989     207.46.26.130:1863     ESTABLISHED
  TCP    192.168.0.185:4990     64.4.36.22:1863        ESTABLISHED
  TCP    192.168.0.185:4991     207.46.26.76:1863      ESTABLISHED
  TCP    192.168.0.185:4992     65.54.171.33:1863      ESTABLISHED
  TCP    192.168.0.185:4993     65.54.171.39:1863      ESTABLISHED
  TCP    192.168.0.185:4995     207.46.26.153:1863     ESTABLISHED
  TCP    192.168.124.1:139      0.0.0.0:0              LISTENING
  TCP    192.168.194.1:139      0.0.0.0:0              LISTENING

五句话足以改变人生

第一句话是:优秀是一种习惯。

这句话是古希腊哲学家亚里士多德说的。如果说优秀是一种习惯,那么懒惰也是一种习惯。人出生的时候,除了脾气会因为天性而有所不同,其他的东西基本都是后天形成的,是家庭影响和教育的结果。所以,我们的一言一行都是日积月累养成的习惯。我们有的人形成了很好的习惯,有的人形成了很坏的习惯。所以我们从现在起就要把优秀变成一种习惯,使我们的优秀行为习以为常,变成我们的第二天性。让我们习惯性地去创造性思考,习惯性地去认真做事情,习惯性地对别人友好,习惯性地欣赏大自然。

注解:要会“装”,要持续的、不间断的“装”,装久了就成了真的了,就成了习惯了,比如准时到会,每次都按时到会,你装装看,你装30年看看,装的时间长了就形成了习惯。:)

第二句话是:生命是一种过程。

事情的结果尽管重要,但是做事情的过程更加重要,因为结果好了我们会更加快乐,但过程使我们的生命充实。人的生命最后的结果一定是死亡,我们不能因此说我们的生命没有意义。世界上很少有永恒。大学生谈恋爱,每天都在信誓旦旦地说我会爱你一辈子,这实际上是不真实的。统计数据表明,大学生谈恋爱的100对里有90对最后会分手,最后结婚了的还有一半会离婚。你说爱情能永恒吗?所以最真实的说法是:“我今天,此时此刻正在真心地爱着你。”明天也许你会失恋,失恋后我们会体验到失恋的痛苦。这种体验也是丰富你生命的一个过程。

注解:生命本身其实是没有任何意义的,只是你自己赋予你的生命一种你希望实现的意义,因此享受生命的过程就是一种意义所在。

第三句话是:两点之间最短的距离并不一定是直线。

在人与人的关系以及做事情的过程中,我们很难直截了当就把事情做好。我们有时需要等待,有时需要合作,有时需要技巧。我们做事情会碰到很多困难和障碍,有时候我们并不一定要硬挺、硬冲,我们可以选择有困难绕过去,有障碍绕过去,也许这样做事情更加顺利。大家想一想,我们和别人说话还得想想哪句话更好听呢。尤其在中国这个比较复杂的社会中,大家要学会想办法谅解别人,要让人觉得你这个人很成熟,很不错,你才能把事情做成。

注解:如果你在考数学试题,一定要答两点之间直线段最短,如果你在走路,从A到B,明明可以直接过去,但所有人都不走,你最好别走,因为有陷阱。在中国办事情,直线性思维在很多地方要碰壁,这是中国特色的中国处事智慧。

第四句话是:只有知道如何停止的人才知道如何加快速度。

我在滑雪的时候,最大的体会就是停不下来。我刚开始学滑雪时没有请教练,看着别人滑雪,觉得很容易,不就是从山顶滑到山下吗?于是我穿上滑雪板,哧溜一下就滑下去了,结果我从山顶滑到山下,实际上是滚到山下,摔了很多个跟斗。我发现根本就不知道怎么停止、怎么保持平衡。最后我反复练习怎么在雪地上、斜坡上停下来。练了一个星期,我终于学会了在任何坡上停止、滑行、再停止。这个时候我就发现自己会滑雪了,就敢从山顶高速地往山坡下冲。因为我知道只要我想停,一转身就能停下来。只要你能停下来,你就不会撞上树、撞上石头、撞上人,你就不会被撞死。因此,只有知道如何停止的人,才知道如何高速前进。

注解:用汽车来比喻,宝马可以上200公里,奇瑞却只能上120公里,为什么?发动机估计不相上下,差距在刹车系统,上了200公里刹不了车,呵呵,我的天!

第五句话是:放弃是一种智慧,缺陷是一种恩惠。

当你拥有六个苹果的时候,千万不要把它们都吃掉,因为你把六个苹果全都吃掉,你也只吃到了六个苹果,只吃到了一种味道,那就是苹果的味道。如果你把六个苹果中的五个拿出来给别人吃,尽管表面上你丢了五个苹果,但实际上你却得到了其他五个人的友情和好感。以后你还能得到更多,当别人有了别的水果的时候,也一定会和你分享,你会从这个人手里得到一个橘子,那个人手里得到一个梨,最后你可能就得到了六种不同的水果,六种不同的味道,六种不同的颜色,六个人的友谊。人一定要学会用你拥有的东西去换取对你来说更加重要和丰富的东西。所以说,放弃是一种智慧。

注解:我的个人原则是:每一次放弃都必须是一次升华,否则就不要放弃;每一次选择都必须是一次升华,否则不要选择。做人最大的乐趣在于通过奋斗去获得我们想要的东西,所以有缺点意味着我们可以进一步完美,有匮乏之处意味着我们可以进一步努力。美国有一部电视片,讲的是一位富翁给后代留下了用不尽的遗产,结果他的后代全都变成了吸毒的、自杀的、进监狱的,或者精神病患者。为什么会这样呢?因为这位富翁给自己后代留下的钱太多了,以致他们不需要劳动就可以继承一大笔财产。继承一大笔财富,就几乎什么都能买到。所以,当一个人什么都不缺的时候,他的生存空间就被剥夺掉了。如果我们每天早上醒过来,感到自己今天缺点儿什么,感到自己还需要更加完美,感到自己还有追求,那是一件多么值得高兴的事情啊!

源码安装ntop与启动

操作系统:CentOS
软件:ntop-3.3.10
其它的一些关联包,例如rrdtool,pcap等

建立启动ntop的账户
#useradd ntop
#passwd ntop
安装ntop
#cd /usr/local/src
#wget http://downloads.sourceforge.net/project/ntop/ntop/ntop-3.3.10/ntop-3.3.10.tar.gz
#tar -zxvf ntop-3.3.10.tar.gz
#cd ntop-3.3.10
#./autogen.sh –prefix=/usr/local/notp –with-rrd-home=/usr/local/rrdtools
注释:rrdtool我是编译的,所以这里需要指定rrdtool的目录位置,其它的关联包我是yum安装的,所以没有指定路径
#make
#make install
安装完成

启动ntop
#/usr/local/ntop/bin/ntop -P /usr/local/ntop/var/ -u ntop -A
按照提示输入密码
正常启动
#/usr/local/ntop/bin/ntop -P /usr/local/ntop/var -u notp -d
完成,当然,您可以再添加一些参数来启动ntop,具体的参数网上到处都有,我这里只有一块网卡,做了端口镜像,所以也没有带-i ethX的参数

 

以上如有问题,欢迎指正。