我估计啊,程序改优化优化一下了!1.ASP的循环程序问题自己去检查检查了!或者是把代码贴出来!2.IIS的话,也有部分原因,不过很小。不知道用户的执行这些操作的时候,是否用到session?如果每个用户执行查询都必须使用session的话,也有可能造成。那只有人数很多的时候了。3.最后一个问题也是最重要的问题:SQL语句。建议使用“select 字段名1,字段名2,字段名3,字段名4 From 表”,不要使用“select * From 表”。 两者的区别在单用户查询的时候显示不出来,如果用户并发数大的话,那问题就大了,消耗的资源就不一样了!产生死锁很正常的。4.注意你的SQL语句和ASP循环语句,如果嵌套太多的话,也会消耗很大的系统资源的!
sp_lock --看看锁住了那个资源id,objid ,select object_name(objid) 得到
dbcc inputbuffer(@blk) -- 看看是那个语句
2.update 时加where的索引
3.不管前后台,catch加commit
4.避免2表混合调用
5......
先不聊MSSQL的锁机制你确定IIS的机制是默认情况下同一时间内只有一个ASP页面在运行吗?
4楼的哥们,你为什么不试试呢? 写两个asp,1.asp 2.asp1.asp 内容<%
dim i
i=0
Do
i=i+1
loop
%>2.asp 内容<%
response.write "hello"
%>你先运行在浏览器里打开 1.asp 再打开 2.asp试试,试试,试试,再发言~
你去找点IIS线程模式的资料看看/
某个用户的页面运行时,iis并不是把所有的表资源一次性分配给该页面,可能按时间分配给它目前需要的一部分表;
在运行过程中,另一用户的页面也发出请求,于是也获得一部分表;
但是继续运行下去,前一用户需要后一用户占有的某些表,而后一用户可能也需要前一用户的某些表。
两个用户相互等待,造成死锁。
绕口令完毕。=_=
多个用户同时访问站点时,如果同时进行相同的操作,就可能引起数据库的并发.2,asp为服务器端代码,页面不打开,不代表没有进程在执行。
就以你写的例子,或者rs.open...
while not rs.eof
response.write ..
loop写个死循环。
然后关掉 asp页。页面是关掉了,但进程却仍存在。
同一时间内只有一个ASP在运行的话,大家可以多多测试一下。为什么我始终强调“默认情况”下,因为通过修改IIS的设置,是允许多个ASP同时运行的。
修改网站所属的“应用程序池”-“性能”-“Web 园”-“最大工作进程数”的数目就可以了。我可以接受我的观点是错误的,但是事实上,如果你在什么情况下能过做到“最大工作进程数”是1的情况下,
同时运行多个ASP,你来告诉我,我很想学习一下。
服务器并不是完全处理完一个页面后再去处理另一个页面的。
比如两台机器可以同时打开新浪的首页,并不是必须等前一个人网页全部提交为HTML才去处理另一个人的请求,
否则全世界人一起访问,那速度谁能忍受?
同一时间内只有一个ASP在运行的话,大家可以多多测试一下。 为什么我始终强调“默认情况”下,因为通过修改IIS的设置,是允许多个ASP同时运行的。
修改网站所属的“应用程序池”-“性能”-“Web 园”-“最大工作进程数”的数目就可以了。 我可以接受我的观点是错误的,但是事实上,如果你在什么情况下能过做到“最大工作进程数”是1的情况下,
同时运行多个ASP,你来告诉我,我很想学习一下。
否则就不要再那里没调查,满脑子自以为怎么样就不经过大脑,本来只是问个问题,
如果你们不发言,不那么肯定自己的发言,我也不去计较,
为什么这么多人都是通过想象中的理论就能确定一件事情呢?回14楼,新浪有很多服务器,并且服务器处理单一页面都是毫秒级的,没有你想象中的那么久,并且服务器处理静态页面和动态页面是两回事。你同时可以下载两个rar,但是你不能同时运行两个ASP,在默认情况下。回12楼,页面关掉了,的确进程也在,这能说明什么呢?就算你关掉页面,你第二个2.asp在第一个1.asp超时之前,仍然无法打开!
lz你有病啊,讨论归讨论,你bao粗口就显得你能耐了???
既然你那么确定"默认情况下只能执行一个asp页面", 那么你在不更改iis的配置的情况下,多个人同时打开你的asp页面,同时执行操作a、操作b,然后你在用Profiler跟踪一下SQL的执行顺序及spid情况,看下结果再说,
>>你说别人老是怀疑着怀疑那,自己还不肯动手试试,唉,几个人不动火啊....晕,想不到现实中真有丁谢存在
飘过
估计你的机器是单核的,你用循环把IIS给跑死了,那CPU全都用来算那个死循环了,当然不会来处理第二个页面,并不能说IIS是单线程的服务,只是当前没有资源让他能处理另一个线程
你所说的死锁其实也并非是死锁,只是普通的更新锁,不要混淆概念,原因只是你写的SQL性能不好,或者是机器的性能不好