网站服务器是怎么统计访问量的?

网站服务器是怎么统计访问量的?,第1张

假定数据存在 abc.mdb中

abc.mdb中字段如下:

序号(自动)

日期访客进入时间)

电脑(IP地址

来自(如果访客从www.0086it.com/?f=hello 进入本站,那会显示“hello”)

地址(通过对IP地址分析后知道的地址(如:中国网通或北京大学))

在网站首页中插入以下代码:

《%

if session("0086it")<>1 then

'上面一行防止刷新给统计造成不准。

dsntemp=server.mappath("abc.mdb")

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)}dbq="&dsntemp

set rs=server.createobject("adodb.recordset")

rs.open "db",conn,1,3

rs.addnew

rs("日期")=now()

rs("电脑")=request.servervariables("remote_addr")

rs("来自")=request.querystring("f")&"◆"&request.serverVariables("Http_REFERER")

rs("地址")=session("laizi")

'session("laizi")的值的取得不作具体介绍,是由另一程序将访者ip地址与另外一个数据库对比中得出来“详细汉字地名,相当于IP地址查询软件中的功能)

rs.update

rs.close

set rs=nothing

conn.close

set conn=nothing

session("0086it")=1

end if

%》

这样,每次访客访问我站,就可以记录他的信息。

当然,我还需要有一个程序来读后台。

程序如下:

《%

'**********************************

'

' 访 客 统 计 系 统'

'

' 程序设计 : 姜川

' china_jiangchuan@163.com

' COPY请保留以上信息

'

'*********************************

'

response.expires=0

Response.Buffer=True

dim id

id=request.querystring("id")

if id="" then

id=50

end if

%》

《html》

《style type="text/css"》

《link rel="stylesheet" href="../css/one.css" type="text/css"》

《!--

.jiangc { font-size: 9ptline-height: 12pt}

a { color: #FF0000text-decoration: none}

a:hover { text-decoration: underline}

--》

《/style》

《body bgcolor="#FFFFFF"》

《%

dsntemp=server.mappath("abc.mdb")

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)}uid=adminpassword=hellodbq="&dsntemp

if request.querystring("cha")《》"" then

sql ="select * from db where 来自 like '%"&request.form("cha")&"%' order by 日期 DESC"

else

sql ="select * from db order by 序号 DESC"

end if

set rs=server.createobject("adodb.recordset")

rs.open sql,conn,1,1

%》

《p align="center"》《br》

《font face="黑体"》访 问 统 计 系 统《/font》《/p》

《table width="700" border="0" cellspacing="1" cellpadding="0" align="center" class="jiangc" bgcolor="#000000"》

《form name="form1" method="post" action="?cha=1"》 《tr》

《td height="24" bgcolor="#ECF9FF" align="center"》 [ 共 《font color=red》《%=rs.recordcount%》《/font》

条记录 ] 列出最近 《a href="?id=100"》100《/a》 《a href="?id=300"》300《/a》 《a href="?id=500"》500《/a》

《a href="?id=1000"》1000《/a》 《a href="?id=3000"》3000《/a》 《a href="?id=5000"》5000《/a》

《a href="?ID=《%=rs.recordcount%》&ID2=all"》所有《/a》 记录

《input type="text" name="cha" class="jiangc" size="12"》

《input type="submit" name="Submit" value="查" class="jiangc"》

《/td》

《/tr》 《/form》

《/table》

《table width="100%" border="0" cellspacing="0"》

《tr》

《td height=2》《/td》

《/tr》

《/table》

《table border="0" cellspacing="1" cellpadding="2" bordercolorlight="#CCCCCC" bordercolordark="#FFFFFF" class="jiangc" align="center" bgcolor="#999999"》

《tr bgcolor="#CCCCCC"》

《td》 序号《/td》

《td》记录中总编号《/td》

《td》访问者进入日期《br》

0000000000000000000《/td》

《td》 访问者电脑IP地址《/td》

《td》 地区《/td》

《td》 来自《/td》

《/tr》

《%

while not rs.eof and i《 cint(id)

i=i+1

%》

《tr bgcolor="#FFFFFF"》

《td align="center"》《font color=cccccc》《%=i%》《/font》《/td》

《td align="center"》 《%=rs("序号")%》 《/td》

《td》

《%

if rs("日期") 》 date() then

response.write "《font color=red》"&rs("日期")&"《/font》"

else

response.write rs("日期")

end if%》

《/td》

《td》

《%if rs("电脑")="221.215.99.61" then response.write "*" else response.write rs("电脑") end if%》

《/td》

《td》

《%=rs("地址")%》

《/td》

《td》

《%if instr(rs("来自"),"◆")《》0 then

response.write "《a href='"&right(rs("来自"),len(rs("来自"))-instr(rs("来自"),"◆"))&"' target='_blank'》"&rs("来自")&"《/a》"

end if%》

《/td》

《/tr》

《%

rs.movenext

wend

%》

《/table》

《br》

《table width="700" border="0" cellspacing="1" cellpadding="10" align="center" class="jiangc" bgcolor="#CCCCCC" bordercolor="#0000CC"》

《tr》

《td bgcolor="#EFEFEF"》备 注:《%if request.querystring("id2")=all then%》只列出最近的 《font color=red》《%=id%》《/font》 条记录《br》

《%else%》

系统列出了所有访问记录《br》

《%end if%》

设 计:China_jiangchuan@hotmail.com(MSN)《br》

设计日期:2003年03月《/td》

《/tr》

《/table》

《/html》

1、本地新建一个空白文档,命名为cnt.php

2、用记事本打开cnt.php,然后将代码复制到cnt.php里面。代码如下:

<?php

$n=file_get_contents('cnt.txt')

$n++

file_put_contents('cnt.txt',$n)

echo "document.write($n)"

?>

3、保存cnt.php文件,并上传到服务器。

4、然后在主页或者其它页面里面这样调用计数器:

”你是第<script type=text/javascript src=cnt.php></script>位访问者“

就可以了。

5、这样就可以清楚的知道了有多少访客来访了。这个除了在首页可以使用外,其他页面也可以通过这个方法进行调用,只需要在你需要统计的地方添加上这个”你是第<script type=text/javascript src=cnt.php></script>位访问者“就可以轻松知道你需要统计的地方有多少访客了。

服务器的IIS里面有一个设置日志的地方,这个日志本身就记录了访问IP、获取内容、时间日期等信息。一般服务器的日志如果长时间不清理,系统盘就快没空间了。日访问1万的服务器一天也能记录出几十到几百M的信息。只要用记事本打开即可。具体的统计需要工具,因为我服务器就自己一个网站,日志只用来查询不做分析,所以不是很清楚。刚才搜了下,估计用“服务器”“日志”“log”“分析”“统计”组合一下能找到。当然,自己编个小程序转存到数据库里就方便多了。(个人感觉,对于统计而言,这个日志过度详细了。)楼上的程序是Oracle用的,一般哪个用了Oracle的服务器管理员能问这样的问题呢?呵呵。注:我说的方法可以统计出来1-4问,第5问不是这样统计的。限制的瓶颈是带宽而不是人数。带宽允许的话,那人数可以很多的。当前带宽占用情况可以在开始ampgt运行“taskmgr”查看“网络”。经验的话,新闻网站1000人总是没什么问题的吧,下载的话,我那个服务器2M/s的情况吓论坛还不会出现卡,再多就难说了,上限大约是20M/s(目前测试极限为17M/s)


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/308571.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存