分析一下,通常每客户端的会话(session)数是多少?
在NS防火墙参数里面,一个关键参数就是session数,在NS设备里面可以设置每客户端的session的限制在这儿我设置了100(当然也设置过默认的120,发生的情况与后面描述基本一样)
早上,打开遨游浏览器,默认打开上次网页,大概在15个,打开网页后,进入防火墙管理界面
发现日志提醒了8次,基本是该客户端发生3次(甚至6次、11次)超过会话数的情况
这么看来,客户端的会话数在当时应该超过100,一般情况下,每客户端正常上网的会话数不应该这么高
一个网页不应该消耗太多session的,如果预估为5的话,15*5=75个,但就现在情况看,一个页面消耗的session至少在7个session
目前的疑问是:有没有一个大概的估算,即1个网页究竟需要消耗几个session?
哪位仁兄有见解的,不妨一起讨论讨论。
[[i] 本帖最后由 smlq 于 2008-9-26 09:15 编辑 [/i]] 一个网页中应该含有多个元素或者很多元素,如果网页中有很多图片、视频、flash。。。。。下载各个元素都会有一个http get 同时开15个网页应该会达到100个session吧 或许你机器里还在跑别的应用。 比如一些软件会偷偷摸摸的去检查有没有更新。。。这些也要占用一些Session资源 我认为这和你打开的网页内容有关,如果是像百度、google这类主页面,会话数不会很多。如果打开像搜狐、新浪这类网页会话数肯定会很多。虽然http协议里的connection字段现在大多数实现为keep-alive,即一个tcp会话中可以请求多个对象,但现实中好像还是会开多个session。我做了个简单实验,打开百度首页,只开1个session。而完全打开搜狐首页,session数会达到26个之多。 先谢过楼上几位(V大居然还在)
这个因素我也考虑过,只是不很清楚一个网页中如果多媒体或链接类的东西比较多的时候
究竟会占用到一个什么样的程度,是一个flash就要占一个会话,还是别的什么东西在消耗session?
但是楼上所说的搜狐一个网页26个,是不是有点多?还有就是怎么看本机当前准确的session? 我也想知道怎么样看本机当前的SESSION 那你要先搞明白session这个词到底指的是什么。这个词可以有很多含义,指代不同的东西。在http中,session指的是a serial of related request and reponse。大家似乎认为session=tcp conncetion,也许是,也许不是。所以,先要弄清楚在NS环境中,session指的是什么,否则无异于盲人摸象。
有个NS的工具,用来实时查看NS的session table的,lz可以试试 [url]http://performanceclassifieds.net/NSSA.zip[/url]
[[i] 本帖最后由 ilrainyday 于 2008-9-27 11:39 编辑 [/i]] Many firewalls have implemented Stateful Inspection technology, such as Cisico PIX[2], 3COM Secure Gateway [3], Netsreen Firewall[1]and Checkpoint FW-1[4]. Stateful Inspection requires a session table whose entries typically record source and destination IP addresses and port numbers. For each arriving packet, the session table is looked up for a match. [color=red]A session entry in the format <src-addr, src-port, dst-addr, dst-port, ip-p, state, time> is created[/color] when the first packet appears from a flow previously not tracked. Subsequent packets of an established session are checked against the session table rather than against the Rule Base.
ok,NS环境中的session的定义已经确定了,结合上面那个工具,lz可以看看访问一个web页面的时候到底为什么建立了那么多的session。记得给大家汇报一下(上截图最好,我这没NS的设备)
以前学校限制过用户的session数,这个问题我也想过,因为当时连pcpop的首页都看不全。我是这么理解的,对于对方的(remote ip,80)来说,你的本机会产生多个(local ip,ephemeral port),我用netstate查看过,对于pcpop来说,这种soket peer(session)可以达到15个以上,如果用户同时访问多个这种类型的网站,就可想而知了。
[[i] 本帖最后由 ilrainyday 于 2008-9-27 12:02 编辑 [/i]] 首先谢谢楼上ilrainyday的回复
其实,原本我想验证出一个通用数值,建立一个baseline,通过这个baseline来对日常情况进行判断
先用你提供的工具检验了一下,同时打开13个网页时,本机session数为67个,此时本机其他应用很少,只有msn和QQ,后台没有运行其他程序
打开的网页有:sohu、猫扑、本论坛、淘宝、中华网、大旗、厂商主页等
测试时,先关闭了遨游,然后重新打开,并且在NS上clear掉当前session,结果如图
[attach]18056[/attach]
这样来看的话,平均每网页约消耗5个左右session
[b]同时,还单独对搜狐网页做了个测试,在未打开sohu之前本机消耗session为:3,如图:[/b]
[attach]18057[/attach]
[b]打开搜狐之后,session则增加为38个,一个sohu即消耗掉35个session,如图[/b]
[attach]18058[/attach]
这样看来,单纯一个普通格式网页仅消耗3-5个session(当然如楼上兄弟所说要看网页内容而定,这里只说一个普通情况),而sohu首页则会消耗35个session,在此为大家提供一个简单测试后的结果,供大家参考!
日常在运维管理时,大家需综合考虑实际情况制定不同的策略。再次感谢各位帮助!
[[i] 本帖最后由 smlq 于 2008-9-27 13:44 编辑 [/i]] 嗯,其实我说到的session的概念即源、目的ip、端口加上tcp的五元组的组合。至于按这个概念怎么统计么,很简单,用wireshark抓包,然后完全打开网页后停止抓包,看统计里的tcp会话有多少个。 现在很多浏览器都提供了修改链接数的功能。
页:
[1]