我有一个托pipe公司的虚拟服务器,所以CPU和RAM是有限的。 我需要随时间观察负载/性能,以了解何时升级服务器。
该网站运行多个ASP.NET应用程序以及PHP应用程序,全部使用MSSQL后端。
什么是一些重要的perfmon计数器用来监视一个标准的IIS / MSSQL Web服务器:即传入的IIS请求量,响应时间,MSSQL负载等? 关于为什么柜台很重要以及要注意什么(如果不是很明显的话)的简短描述也是有帮助的。
你应该从基础开始;
如果你使用默认安装的非expression式SQL,那么它将占用所有的内存,并使IIS / Windows挨饿。 另一方面,如果SQL没有足够的内存,它将有一个低缓冲区高速caching命中率,你可能会看到磁盘队列。 大多数其他计数器将成为单个服务器安装的磁盘/内存/处理器约束的副作用。 一旦你到了需要确定它是否是:IIS / SQL,PHP与asp.net,识别密集WPs等,那么监控变得更加复杂,你将需要做大量的研究或雇佣一个承包商。
用户性能监视器或顾问工具链接在底部以设置数据收集时间表以logging关键性能计数器。 通常5-15分钟的样品足以用于整个系统监测/分析。 如果您正在尝试诊断某个特定问题,则可能会在短时间内降至15秒或更短。
Pages / Sec:长时间的平均值> 150可以表示问题,但也取决于磁盘。 在云服务器上,您可能要平均<150,因为磁盘可能是共享的或远程的。 另外看看可用字节数,如果每秒页数高,可用字节数高,那么计数器可能会引起误解,因为除了这个问题之外还有其他的原因而不是分页
处理器时间百分比:如果它是平均值或者你看到延长期> 75-80%,你是CPU绑定。
缓冲区caching命中率:一般应该是96-99%,越低越意味着SQL没有有效的caching,需要更多的内存
平均磁盘队列长度:logging每个单独的磁盘,> 2表示磁盘饱和。 您也可以loggingPhysicalDisk \%空闲时间,如果它低于20%,则表示磁盘饱和。
您还可以使用Microsoft的性能顾问来启动您的监控,并根据Microsoftbuild议进行更彻底的监控; 微软性能顾问
你的问题很难客观回答。 不过,我可以告诉你,如果你的数据库得到了正常的操作,数据库也不小,那么MSSQL将获取尽可能多的内存,因为它可以找出如何使用。 (尽pipeSQL Server Express版本不会占用超过1 GB的空间)。因此,如果SQL Server正在使用所有可用内存,请不要惊讶。 如果是这样,这并不一定意味着你需要进行内存升级,在这种情况下它仍然可以正常工作。 我的观点是,内存使用可能不像一个指标那样有意义,比如说cpu使用率或网站延迟。