如何确定有多少用户正在访问 Domino HTTP 服务器?

Technote (troubleshooting)


问题

如何确定有多少用户正在访问 Domino HTTP 服务器?

解决问题

如何知道有多少用户正在访问你的Domino Web 服务器? 通常来说,我们无法得到准确的访问用户数。HTTP 是一个无会话的协议,因此想要得到准确的用户数是不可能的。
一项增强统计功能,按时间列出不同 Web 用户的访问请求次数已经提交给质量工程部门,编号是SPR# MBUY6ACKP6。
与之对应的是,每个 Notes 客户端都会创建一个服务器会话,因此很容易确定已建立的服务器会话数 (在控制台输入“show users”)

这里我们给出几种方法,帮助您了解有多少用户正在访问Web 服务器。

Domino Web 服务器日志 (DOMLOG.NSF)

确定有多少用户在访问服务器,第一种方法是使用Domino Web 服务器日志 (DOMLOG.NSF)。
Domlog 会记录每一个发送给服务器的请求以及其源 IP 地址。 把这些日志中的记录按照时间排序。选择你希望计算用户数目的时间段,然后再确定该时间段内有多少IP 地址发出请求。
假设每个用户使用一个 IP 地址,那么 IP 的数目可以反映在该时间段内有多少用户访问服务器。

注意:
1.关于一个用户使用一个IP地址的假设在某些情况下是不成立的。如果用户通过代理发送请求,Domlog 只能记录代理的IP地址。 可能有多个用户都使用该代理,在种情况下,假设就是不成立的。同样,如果Web服务器使用了反向代理,也就是所有外部请求都记录为反向代理的IP 地址,于是所有用户看起来都来自于同一个反向代理,这种情况同样不能做一个用户一个IP地址的假设。
2. Domlog 无法提供实时信息,您只能从Domlog中 选择某个过去的时间段,然后手动计算不同IP 地址的数目。

会话身份认证

另一种估算用户访问数的方法,是使用基于会话的身份认证。在这里, 会话代表的是Domino 的会话cookie 身份认证机制。这与在协议(HTTP始终是无会话的)中所涉及的会话是不同的。在会话身份认证中,服务器给任何被提示身份认证并成功登陆的用户一个cookie。Domino 记录每一个cookie 以及拥有它的用户。启动命令 “Tell http show users”可以显示现在正有多少用户获得了cookie。 从而这种方法可以告诉你现在有多少用户正在访问服务器。

在某些情况下,会话认证方式无法给出准确, 实时的服务器用户数目, 原因如下:

1.这个方法只对登陆的用户起作用。如果服务器允许匿名连接,这种方法将无法将匿名用户计算在内。
2. Cookie 只能在某个具体的时间内有效(比如30分钟)。因此,这种方法只能计算在过去 x 分钟内顺利登陆的用户数目, x 是超时时间(比如超时时间是30分钟,这种方法计算的也就是过去的30分钟)。 所以,如果有用户登陆,打开了页面,然后关闭浏览器,该用户会被认为是“存活”30分钟(也就是说,从用户上次登陆服务器开始计算)。要避免计算额外的“存活”时间,只有请用户登出(或者发出 ?logout 的 URL 请求)如果要确保得到准确的数字,就只能期待用户离开电脑时登出。
3.最后,如果用户获得一个cookie,关闭浏览器 (在同一台机器上打开一个不同的浏览器, 或者一个在另一台机器上通过任意浏览器访问),然后在一个会话超时前再次登陆,用户会获得新的cookie,并会被服务器被计为两个用户。

定制方法

你可以自己想办法来追踪用户活动,例如定制cookie和登陆机制,通过使用定制的DSAPI 插件来实现。

确定点击的次数

相比之下,更重要的事情是知道在一个指定时间端内服务器访问量大小。可以使用“show stat”命令来确定访问量。 Domino 可以给出过去一分钟,五分钟,一小时,一天的访问量数据。Domino 还可以显示访问量的峰值以及发生的具体时间。请注意,访问的次数多少并不代表服务器负载的高低。因为不同请求带来的服务器负载是不同的,有些请求显然会比其他请求占用更多的资源,所以这些统计信息只能给出 Web 负载的概况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值