求助,iis网站iis7发布网站的问题

&于& 10:15&发表在&222014
网站访问一段时间之后 就会变的巨卡甚至访问不了 只要重启IIS 立刻速度变快 求助
我搜索了很多 不少人说设置进程池 回收就可以了,可是我设置了每60分钟回收一次,但是每天还会出现
几次网站访问不了,需要重启IIS才能恢复的情况,系统也换了,数据库 和PHP环境也重新配置了
情况还是一样,求助各位高手,有没有什么解决办法 谢谢
我的也 是一样
服务器的问题吧。。。。
看是数据库 原因还是什么
服务器的问题
换个服务器吧
换个IP空间试下
提示: 作者被禁止或删除 内容自动屏蔽
这个要看你CPU和内存,如果流量高且CPU和内存消耗也高说明你该升级硬件了。
如果你认为是程序设计上的BUG,可以使用IIS监控软件查看各脚本的执行时间。
另外你可以把回收池设置为1分钟回收一次。不会影响访问的。!
都是这样的啊
服务器的问题
资源 配置 有 问题
IIS 抱死系统启动!就像汽车的ABS!哈哈!
服务器的问题吧。。。。
嗯& &这种问题是服务器问题啊&&学习了&&谢谢楼上的&&
重装系统。。。
建议丢了算了
服务器的问题
任务区阅读权限
关于A5交易
(中介专线:5)
服务时间:周一到周日8:00-23:30
随时随地上A5站长网!
增值电信业务经营许可证:
在线数据处理与交易许可证:苏B2-
Powered by Discuz! X3.2
Comsenz Inc.调试的时候,调用Word模板操作,另存为新的Word文件都正常。当发布到上后,访问Web,打开需要操作Word的页面时,提示输入用户名和密码。
--------------------------------------
IIS的默认使用的是认证。需要修改成匿名认证或者自己编写Forms认证。可以通过IIS管理器或者修改web.config来改变认证方式。
--------------------------------------
应用池里面网站对应的集的运行用户 如何修改 在哪里设置
--------------------------------------
将 匿名用户打开
--------------------------------------
修改池的运行帐号:IIS7以上:右键点击某个应用程序池,菜单里选高级属性,找到默认的帐号AppPoolIdentity,把它改成你需要的。IIS6不太一样,不过我有点忘了。把IUSR和IIS_IUSRS添加到合适的用户组里,也可以达到赋予应用程序池所需权限的作用。posts - 316,&
comments - 63,&
trackbacks - 0
一个ASP.NET项目在部署到生产环境时,当用户并发量达到200左右时,IIS出现了明显的请求排队现象,发送的请求都进入等待,无法及时响 应,系统基本处于不可用状态。因经验不足,花了很多时间精力解决这个问题,本文记录了我查找问题的过程和最后解决方案,供大家参考。
软硬件环境:
IBM刀片,Intel至强处理器,4核,16个逻辑核心,内存32G
Windows Server2008 Enterprise R2, ASP.NET 4.0 Webform &IIS7.5 &集成模式
当发现请求明显延迟,没有被即时处理的现象,首先就要查看Windows自带的性能日志Performance Monitor。
由 于我注意到只有对于.aspx或.ashx的请求才会延迟,而.htm或.jpg文件都是即时响应的,所以很明显问题出在ASP.NET上,于是我选择了 性能监视器中的ASP.NET 4.0中的2个主要计数器:Requests Current(当前请求数), Requests Queued(被排队的请求数)进行观察。通过观察发现,当前请求数达到200左右时,被排队的请求数就从0开始上升,一直到50左右,如果请求数继续上 升,则被排队数也随之上升。当被排队的请求数&0时,就意味着这个时候去访问任何.aspx页面,页面都会处于长时间等待中,没有任何响应,直到 IIS处理完了其他请求,才会开始处理队列中的请求。也就是说,当排队数长期&0时,系统基本处于不可用的状态。
由于这个系统的页面布局比较复杂,采用了大量的Ajax+.ashx的方式,将内容分批展示在页面上,所以对的请求总数会比传统aspx模式来的多一些,一个页面全部加载完毕可能需要5-10秒,但我想这不应该是造成问题的主要原因,就算系统性能较差,IIS也应该足以承受这么小的并发量的。
为 探究到底是系统写的有问题,还是IIS本身的问题,我抛开我们的系统,写了一个简单的页面,就一个aspx文件,page_load里sleep 10秒。假设这就是一个性能比较差的网站,每个页面都要10秒才能展现,我将其部署在IIS上测试其性能,我使用的是Microsoft Web Application Stress Tool,模拟发起80个线程,每个连接有4个Socket,总共相当于320个并发请求。
测试开始后,可以从下图中看到,当前请求数立刻攀升到300左右(图中红线),然后队列中的请求数也上升到300左右(图中绿线),就是说在300个并发请求下,几乎所有的请求都被排队了,系统基本不可用,通过简单的测试,这个问题已经得以重现了。
随着时间推移,发现绿线慢慢减少,从300下降到100多,就是系统可用性渐渐提高,有一部分用户可以正常使用,但大部分还在排队。
过了6,7分钟,队列中的请求数下降到0左右,并有一些小幅波动。这个时候大部分请求可以被正常处理了。 按照这个现象分析的话,应该是IIS发现有大量请求在队列中,就会试图增加处理线程数以满足要求,但是增长速度有些缓慢。
那是不是系统经过了6,7分钟的适应期之后,以后就一直可以在这个并发量下稳定运作了呢?事实并非如此。我将停了几秒,当的 请求数降为0以后,再重新开启320个请求的测试,IIS如何表现?从下图可以看到,只要请求数有明显上升,则等待队列又开始达到最高值,然后缓慢下降, 重复上面的过程。总结下来就是,当出现较大并发时,IIS的处理请求能力完全跟不上,需要很长时间才能开出足够的线程。
然后我做了一个测试,看看IIS默认情况到底能承受多少请求而不排队?似乎是在100个并发左右,表现尚可,未出现排队。
当200个左右就不行了。
然后我将测试程序从sleep10秒改成3秒,对于一个应用系统来说,页面平均3秒处理时间的性能该还算比较正常了。但可惜的是,排队现象与处理时间并无太大关系,排队仍然很严重。
针对以上问题,查阅了相关资料,是否出现排队是和应用程序池的可用线程有关,通过2个方法可以查看系统程数和当前可用线程数。
ThreadPool.GetAvailableThreads( out availableWorker, out availableIO);
ThreadPool.GetMaxThreads(out maxWorker, out maxIO);
在队列请求数达到120左右时,通过此方法,得到maxWorker=1600,而availableWorker=1472
因为是16核的,ASP.NET4.0默认每核可以使用100个线程,所以maxWorker是-120=1480,大致相等。
就是说当前有120个线程被用来处理请求,还有1400多个处于空闲。关键问题就是为什么这些空闲线程没有被及时启用?
ASP.NET提供的线程配置参数中,有一个参数是非常重要,但是可能被大家忽略的,就是minWorkerThreads。
意指最小工作线程,根据我们以上的测试结果,IIS托管线程启动非常慢,微软也认识到了这个问题,所以提供此参数用于设置正常情况下的最小工作线程数。比如我们系统白天的并发在200-300之间,则可以设置最小线程为300,这样系统响应速度可以大幅提高。
据此,我对配置文件(machine.config)进行了如下修改。注意都是针对单个CPU的,系统会自动乘以逻辑CPU的数量。
&system.web&&processModel autoConfig="false" maxWorkerThreads="200" minWorkerThreads="50" /&
&相当于最小工作线程设置成了50*16=800。
重启IIS后进行测试,我们得到了以下结果:
可以看到,由于设置了合理的最小工作线程数,使得IIS无需不断创建新线程来处理请求,系统的响应能力已可以满足并发要求。
除此之外,在IIS6之后引入了一个新功能叫Web Garden,其设计目的是为了在CPU占用较低,但是并发请求数比较多的情况下,提升性能。这正符合我当前的情况,于是我启用了Web Garden,将工作进程数从1调整到5,在任务管理器中可以看到w3wp进程从原来的1增加到了5,然后重新测试。
同样的320个请求下,可以看到除了一开始的几秒出现了一些排队,后面基本上表现良好,没有请求进入队列。
通过以上两种方式,都可以有效解决本文开头提出的问题。但Web Garden是工作在多进程模式下,如果应用中用到了依赖进程的Session和Cache等对象都必须另想办法,不能保存在中,而且Web Garden的多个进程切换时会有上下文复制,其资源消耗相对单进程要大,这些是需要考虑的因素。
阅读(...) 评论()Web Deploy发布网站及常见问题解决方法(图文)
投稿:mdxy-dxy
字体:[ ] 类型:转载 时间:
由于最近恰好入手一台Windows Server 2008 R2的服务器,所以周良就在这上面进行了一番测试研究
Web Deploy对于ASP.NET开发人员来说绝不陌生,在开完完成后我们部署网站的过成功使用Web Deploy可以很便捷的实现从Visual Studio一键部署到服务器,并且可以自动判断文件是否有更改,并进行相应的修改和删除。由于最近恰好入手一台Windows Server 2008 R2的服务器,所以周良就在这上面进行了一番测试研究。
安装Web Deploy
安装的详细过程这里就不再赘述,主要是确保以下几项服务安装正确。
1. 安装之前确认服务器安装了管理服务:IIS-Add Role Service
2. 下载Web Deploy
下载地址:http://www.iis.net/downloads/microsoft/web-deploy
3. 点击安装,如果你不需要PHP,可以将PHP相关的全部取消,点击I accept就可以进行下载和自动安装。如果是手动在安装一定要确保Web Deploy的所有组件都安装上,否则在使用的时候就会产生404错误。
4. 安装完成后,为网站创建一个非管理员的账号,同时将IIS中Management Service中“Enable Remote connections”勾选。
5. 配置Configure Web Deploy Publishing
6. 打开服务器的8127端口
使用Web Deploy的常见问题
安装完成后就可以开始在Visual Studio中开始配置连接。在刚开始使用的时候周良曾遇到如下的问题,这里附上我的解决方法,欢迎大家讨论:错误的信息可以通过查看服务器上的“Web Deploy”事件日志。
错误一:Not able to log on the user ‘.\WDeployConfigWriter'
第一次安装好之后,未检查用户是否创建正确所以出现了无法登陆的情况,这个问题是由于服务器用户组中WDeployAdmin 和WDeployConfigWriter用户未能创建。这种情况下,需要我们手动去创建两个用户,并进行相关权限的配置。具体步骤如下:
1. 在服务器本地用户中创建 WDeployAdmin 和 WDeployConfigWriter. 并设置密码(第四步还将用到)。二者都同时勾选“密码永不过期“ 。
2. 添加WDeployAdmin 到Administrators组
3. 打开C:\\Windows\system32\inetsrv\config—属性—安全,添加WDeployConfigWriter并赋予修改和写权限
4. 打开IIS,选择”Management Service Delegation ( 管理服务委派)”将这里所有用户名为WDeploy* 的点击右侧的“编辑”—“设置”填写第一步添加的用户名和密码。
设置完成以后,就能够正常使用Web Deploy进行连接,如果使用仍然有错误,那么继续检查事件日志。
错误二:System.UnauthorizedAccessException: 试图执行未经授权的操作。
出现此类问题通常是由于创建用户时未授权造成。
首先检查错误一中的第二,三步中提到的授权是否正常。
然后重新配置用户的授权。
在IIS中右键网站-选Deploy菜单中的Configure Web Deploy Publishing
选择Windows,点击“Select”
输入创建的非管理员的Deploy用户名
周良到此步为止,问题解决。
接下来就可以通过VS进行连接发布。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 win10 iis 发布网站 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信