日期:2014-05-17  浏览次数:20639 次

在线人数问题
因为我开发了一个系统,由于在线人数较多,采用三台web服务器和一台mssqlserver服务器方式架构,系统开发语言为C#,现在我需要统计在线人数,由于在Global.asax里面设置只有统计第台web服务器的人数,所以怎么来实现在线人数,sqlserver中有一个user表,我想统计目前在线的用户人数。不知道怎么统计
sqlserver 服务器 在线人数

------解决方案--------------------
在Global.asax中添加一个函数,每次被调用的时候,将统计的人数写入SQL
------解决方案--------------------
如果你能获取用户的登录和登出时间,那就把这些信息记录下来,放到sqlserver中的一个表中,统计的时候根据时间段来统计,但是如果能用前端时间,我觉得速度更快
------解决方案--------------------
可以从数据库的连线数估算出来.

select * 
 from sys.dm_exec_sessions
 where session_id>50

------解决方案--------------------
在user表增加一个字段,比如is_login,也就是是否登录,当用户登录成功,就把这个字段改为1,

这样要精确统计有多少用户登录就比较容易了:

select count(*)
from user
where is_login = 1

------解决方案--------------------
引用:
在user表增加一个字段,比如is_login,也就是是否登录,当用户登录成功,就把这个字段改为1,

这样要精确统计有多少用户登录就比较容易了:

select count(*)
from user
where is_login = 1

我觉得也是这个好。