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