如果你要访问统计
www.51.la
就不错, 把代码放到页面就可以统计, 也有显示访问量的代码可以调用
但是如果你要统计的访问量还和会员挂钩的话,你现在提供的信息让人无法回答;;;;
涉及到 统计代码 和 会员判断代码 以及 调用代码
⑵ vps配置E5620 2.4 内存512 能承受多少访问量 数据库mssql 大约 pv 和ip
512M内存,如果你的网站只有纯脚本<50K,则可以承受1000人在线,
如果有图片,但页面上的图片不多也比较小则1000*0.7人在线,
如果有图片,同时页面上的图片较多则1000*(0.3-0.5)人在线,
然后是数据库
语法写的好精练,则是上面的值X×(0.5-0.7)人在线,
写的语法不好,那就不好说了。
日PV,跟你的日访问人数和网站页容有关,这个不好估,你只要算好同时在线人数即可。
最后建议,你如果能达到同时在线100人,则你的网站已经会产出效益,而这时建议你需要换好的或更大内存的VPS,提高访问者的体验感。
⑶ 如何查看sql server 2000中的某个数据库有有多少用户正在访问
系统表sysprocesses 中有用户连接记录。可以根据数据库名称,查看连接的用户。
Selectspid,hostname,loginame,user_name(uid)Asusername
Fromsysprocesses
Wheredbid=db_id('glkf')
⑷ SQL SERVER 2005数据库 以访问量最大是多少
理论上无限制 前提你硬件很好 能支持这么多 还有关键的因素 你的带宽有这么多吗
⑸ sql数据库和网站访问量有关的问题
虽然知道你是sql数据库.但一般指的都是access和mssql较多,mysql也有,那么:
asp+access(或mssql)类的网站,一般主机都是win2003虚拟主机对不?那么.一般会限制IIS数量,少数的空间商也会限制流量,iis大致可以说成是"同时在线人数",而"流量"指的就是用户下载你网站的网页所产生的数据交换大小.一般iis同时在线人数都是100~400,需要更多可以向空间商询问.
但一般来说,100个iis如果真被占用光的话,那么.用户数通常是小于100的,打个比方说,如果一个用户,在浏览器里面打开你网站的两个页面,那么,就占用你的两个iis,那样.如果有人一口气打开你100个网页不关闭,那么,就把你的iis给消耗光了,别的用户就看不到了.
但是嘞,其实就算是每个用户只开一个网页,也不一定人支撑起100个用户,只要涉及到数据库,那么,打开的数据库也会占用一定量.
还有一点就是CPU分配,一般都是分配给每个用户1%~5%的资源,如果网站程序有错误,导致空间的资源消耗迅速,那么,容易引起频繁的死机,最坏的情况,有可能会被空间商给请出去.
如asp语句中,如果打开数据库连接池后,没有及时进行关闭,set conn=nothing,会导致资源消耗迅速.
你说,如果服务供应商没有限制?是独立主机吗?那样的话,iis就够你用的了.流量和cpu也不用怕了.但如果你的程序是asp+access的,那样就有点吃不消拉.因为access承受力不好,因为不是专业的web数据库的原因,一般中小型网站用ac可以,如果访问量更大,那就麻烦了.具说超过2G就不能用了,超过20M就会卡...没试验过,但也不一定,不常调用数据库的话,就没关系.根据你的网站而定,如果是小说站,那就更死人了.我现在就在烦恼着改sql server2000呢...ACCESS 的并发连接数限制为 255 个,就是说.就算你的空间商不限制,255个在线就可以把你的撑破.
Access是种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是Access本身对于同时访问客户端及容量都有一定的缺陷。当您遇到下面的情况之一,您就应该考虑SQL数据库了:(1) 数据库大小超过100M;2) 在线人数经常超过100人;(3) 网站经常出现服务失效(英文提示:Service Unavailable);(4) 服务器经常出现CPU资源被100%占用。
但如果你的网站是mssql的,那当我上面那段都是废话...没说过...
另外,php+mysql的网站,一般都是在linux主机里面,并不存在所谓的iis,所以都限制流量,就不怕同时在线拉.但是也没试过...因为我做过的php程序不是很多...
当然.如果你的空间是独立的主机,程序是asp+mssql,或是asp.net,那么,就只顾完善整个程序和改进网站吧.
哎...累死了...我回答那么多.该给我了吧.不懂在提问.
⑹ 如何设置mysql数据库访问次数
如何设置mysql数据库访问次数
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。
⑺ 在数据库访问量过大时,怎样提高访问速度
在ASP中优化数据库处理
ASP是一个WEB服务器端的开发环境,它提供了一种简单易学的脚本(VBScript或Jscript),并带有许多内置的对象,从而提供了一条简捷的编程之路。更为重要的是,ASP中提供了ADO对象,让程序员可以轻松操作各种数据库,从而可以产生和运行动态的、交互的WEB服务应用程序。目前,国内很多电子商务站点都采用了ASP技术来与数据库交互,为用户提供各类服务。
由于电子商务站点的大部分信息都存放在数据库中,要提高WEB的响应速度,建立高性能的电子商务站点,很大一部分取决于ASP与数据库之间的处理性能。因此,在ASP编写时,要注意数据库处理方法。
1、 使用Connection pool机制
在数据库处理中,资源花销最大的是建立数据库连接,而且用户还会有一个较长的连接等待时间。若每一个用户访问时,都重新建立连接,不仅用户要长时间等待,而且系统有可能会由于资源消耗过大而停止响应。如果能够重用以前建立的数据库连接,而不是每次访问时都重新建立连接,则可以很好地解决这些问题,从而提高整个系统的性能。在IIS+ASP处理体系中,采用了Connection pool机制来保证这一点。
Connection pool的原理是,IIS+ASP体系中维持了一个连接缓冲池,建立好的数据库连接在ASP程序中的断开都是逻辑断开,而实际的物理连接被存储在池中并被维护。这样,当下一个用户访问时,直接从连接缓冲池中取得一个数据库连接,而不需重新连接数据库,因此,可以大大地提高系统的响应速度。
为了正确使用Connection pool时,必须注意以下几点:
a). 在MDAC2.0以前的版本中,必须经过数据库驱动程序的配置才能使用Connection Pool;在以后的版本中(比如MDAC2.1),缺省是使用Connection Pool机制。具体配置情况可以参见微软公司的站点()。
顺便提一句,在使用ORACLE数据库时,最好使用微软提供的驱动程序。
b). 每次数据库连接串参数必须相同,否则会被认为是不同的连接而重新去连接数据库,而不是使用缓冲池中的连接。最好的做法是将连接串存储在Application变量中,所有的程序在建立连接时使用Application变量的值。
c). 为了更好地使用和维护连接缓冲池,建议在程序中使用以下的方法对数据库连接进行操作,因为隐式使用数据库连接时不能利用缓冲池的机制:
¨ 显示地创建连接对象: Set conn=Server.CreateObject(“Adodb.connection”)
¨ 建立数据库连接:conn.open Application(“connection_string”),…
¨ 进行数据库操作:…
¨ 显式地关闭连接对象:conn.close
2、 利用直接的Ole DB驱动程序
在Asp中,通过ADO可以使用两种方式连接数据库,一种是传统的ODBC方式,一种是Ole DB方式。由于ADO是建立在Ole DB技术上的,为了支持ODBC,必须建立相应的Ole DB 到ODBC的调用转换(如MS Oledb provider for ODBC)。而使用直接的Ole DB方式(如MS Oledb provider for Sql, Oracle),则不需转换,从而提高处理速度,同时,还能利用Ole DB的新特性。
3、 在内存中缓存ADO对象或其内容
通常,在ASP程序中,都会涉及到一些存储在数据库中的常用信息,如省份列表,商品分类等,这些信息对于每一个访问用户都是相同的。若每一个用户访问时,都要去数据库里取出来,然后显示给用户,不仅会使数据库服务器负载加重,无法快速服务于更重要的事务处理,而且WEB服务器也必须不停地创建ADO对象,消耗大量资源,导致了当用户很多时几乎失去响应。若能把一些常用信息事先存储在内存中,当用户访问时,直接从内存中取出,显示给用户,则可以大大减小系统的压力,提高响应速度。
比如,我们可以把已经取得了数据的RecordSet对象存储在Application变量中,当用户访问时,从Application变量中取得RecordSet对象,而不需再次建立数据库连接;也可以将RecordSet对象里的数据以其他方式存储,比如存储在数组中,然后再将数组存储在Application变量中,使用时用数组的方式读取。
需要注意的是,一个对象要存储在Application变量中,线程模式必须是Both;对于不满足该条件的对象,必须以其他方式,比如转换成数组的方式存储在Application变量中,这也是上面所说的将内容存储在数组中的原因。
4、 使用数字序列
在Asp程序中,从诸如RecordSet中读取数据时,为了方便,常使用数据库列名的方式进行:
Response.write rs(“fieldnameN”)
而很少采用该数据库列名所在的数字序列来读取,即:
Response.write rs(N)
其实,为了从RecordSet得到列值,ADO必须将列名转化为数字序列,因此,若直接使用数字序列,则可以提高读取速度。若感觉使用数字序列,程序可读性不直观,可以采用建立常量的方法,定义:
const FIELDNAME1 1
5、 使用数据库过程(procere)
在电子商务站点中,尤其是要进行交易的站点,为了完成交易,可能需要多次查询大量的信息,用于判定是非,然后更新入库。若在编写Asp时,直接在一个程序中作多次数据库操作,不仅IIS要创建很多ADO对象,消耗资源,而且加重了数据库服务器的负担,增大了网络流量。若把多次数据库操作流程定义为一个数据库过程,用如下方式调用:
connection.execute “”
则可以利用数据库的强大性能,大大减轻Web系统的压力,而且由于页面内容与业务分开,管理维护也变得方便。
6、 使用优化过的sql语句
对于电子商务网站,最主要的就是要保证,不论访问用户的多少,系统都要有足够快的响应速度。由于在Asp技术中,ADO对象消耗的资源是非常大的,若一个sql语句要执行很长的一段时间,对整个资源也将一直占用,使系统没有足够的资源服务于其它用户。因此,尽量使用优化过的sql语句,减少执行时间。比如,不使用在in语句中包含子查询的语句,充分利用索引。
7、 利用数据库的特性
ADO是一套通用的对象控件,本身没有利用数据库的任何特性。但若在Asp程序编写时,有意识地考虑结合数据库的特性,往往可以有很好的效果。
比如,Oracle数据库服务器对于执行过的sql语句,通常都经过了分析优化,并存储在一个sql内存缓冲区中,当下次同样的sql语句请求时,直接从内存缓冲区取出执行,不再进行分析优化,从而可以大幅度提高性能。这就要求在Asp程序编写时,尽量使用相同的Sql语句,或者参数化的Sql语句:
Set cmd=Server.createobject(“adodb.command”)
cmd.CommandText=”select * from proct where proctcode=?”
8、 用时创建,用完释放
在前面也提到过,ADO对象是非常消耗资源的,因此一定要牢牢记住,只在用到ADO对象时才创建,用完后马上释放:
set rs=Server.createobject(“adodb.recordset”)
….
rs.close
set rs=nothing
愿您愉快地编程,让人们享受社会信息化所带来的好处。
⑻ SQL 语句 怎么计算 日均访问量
相同IP算访问几次?
方法1:
统计每天的访问量
select convert(char(10),times,120) DATE,count( IPS) IP_COUNT
from TB group by convert(char(10),times,120)
然后再求日均访问量:
select avg(IP_COUNT) AVG_COUNT_PER_DAY from(
select convert(char(10),times,120) DATE,count(distinct IPS) IP_COUNT
from TB group by convert(char(10),times,120))
方法二:分别累计IP数与天数相除:
select count( IPS)*1.0/count(distinct convert(char(10),times,120)) from tb
如果下同IP算1次得话,只要在IPS前加distinct即可。
⑼ 怎么查询数据库每天的数据增量和访问量
1、增量,也就是要看整个库增加了多少条数据,
(1)Oracle 查 dba_tables视图,里面有NUM_ROWS , SUM一下,早一次,晚一次,不过这个只是在大概的数据,不是100%准;
(2)SQL Server 查sys.partitions视图,里面有ROWS,比ORACLE准一点。
2、访问量,这个实现不了,访问量是没有数据的,现在都用的连接池,谁知道真正的访问量。
⑽ 怎样给访问量过大的mysql数据库减压
以MySQL为例,碎片的存在十分影响性能
MySQL 的碎片是 MySQL 运维过程中比较常见的问题,碎片的存在十分影响数据库的性能,本文将对 MySQL 碎片进行一次讲解。
判断方法:
MySQL 的碎片是否产生,通过查看
show table status from table_nameG;
这个命令中 Data_free 字段,如果该字段不为 0,则产生了数据碎片。
产生的原因:
1. 经常进行 delete 操作
经常进行 delete 操作,产生空白空间,如果进行新的插入操作,MySQL将尝试利用这些留空的区域,但仍然无法将其彻底占用,久而久之就产生了碎片;
演示:
创建一张表,往里面插入数据,进行一个带有 where 条件或者 limit 的 delete 操作,删除前后对比一下 Data_free 的变化。
删除前:
Data_free 不为 0,说明有碎片;
2. update 更新
update 更新可变长度的字段(例如 varchar 类型),将长的字符串更新成短的。之前存储的内容长,后来存储是短的,即使后来插入新数据,那么有一些空白区域还是没能有效利用的。
演示:
创建一张表,往里面插入一条数据,进行一个 update 操作,前后对比一下 Data_free 的变化。
CREATE TABLE `t1` ( `k` varchar(3000) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
更新语句:update t1 set k='aaa';
更新前长度:223 Data_free:0
更新后长度:3 Data_free:204
Data_free 不为 0,说明有碎片;
产生影响:
1. 由于碎片空间是不连续的,导致这些空间不能充分被利用;
2. 由于碎片的存在,导致数据库的磁盘 I/O 操作变成离散随机读写,加重了磁盘 I/O 的负担。
清理办法:
MyISAM:optimize table 表名;(OPTIMIZE 可以整理数据文件,并重排索引)
Innodb:
select count(*) from test.twitter_11;
1. ALTER TABLE tablename ENGINE=InnoDB;(重建表存储引擎,重新组织数据)
2. 进行一次数据的导入导出
碎片清理的性能对比:
引用我之前一个生产库的数据,对比一下清理前后的差异。
SQL执行速度:
修改前:1 row in set (7.37 sec)
修改后:1 row in set (1.28 sec)
结论:
通过对比,可以看到碎片清理前后,节省了很多空间,SQL执行效率更快。所以,在日常运维工作中,应对碎片进行定期清理,保证数据库有稳定的性能。