工欲善其事必先利其器html
首先给服务器配上强力的软件,用于安全防御和监控。sql
公司服务器用的阿里云的ECS,已经有防御和监控了,以后又选择额外加了一个安全狗数据库
为了监控服务器上系统的各项运行指标,又买了听云平台的听云Server服务。安全
1.队列长度服务器
网站对应的应用程序池->高级设置->常规多线程
便可进入队列的最大请求数。并发
2.最大工做进程数post
网站对应的应用程序池->高级设置->进程模型性能
默认是1,若是设置大于1,则是Web Garden,多个进程分担压力,网站处理并发请求的能力天然会提高。测试
不过要注意的是每个工做进程是独立的应用程序,全局静态变量不共享。而且进程过多会给服务器形成较大压力,反而下降并发能力,因此须要权衡进程数的多少。
3.最大并发链接数
网站->高级设置->行为->链接限制
4.IIS最大并发工做线程数
这个数字在IIS里面是没有界面进行设置的。这个数字跟操做系统相关,win7系统的IIS的值是10,VS2012自带的IIS Express的值是80。
配置文件地址 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
具体内容可看这个 【深刻理解IIS的多线程工做机制】
netstat -net
查看全部链接
压力测试的时候要保证测试的响应时间曲线稳定住必定时间后,才认为是当前被测试服务器的真实性能,由于刚开始测试的时候须要必定预热时间,通常测试到必定时间以后曲线会稳定住,这时候再判断当前的响应时间。
你想建设一个能承受500万PV/天天的网站吗?服务器每秒要处理多少个请求才能应对?
性能监控
打开性能监视器 cmd->perfmon.msc
计数器:Web Service -> Current Connection ,选择Total或者想要监控的站点 添加便可 。这个监控的是即时IIS并发链接数。
还有数据库链接数,能够经过下面的语句查看
SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo].[SYSDATABASES] WHERE NAME='databaseName' )
池碎片池碎片是许多 Web 应用程序中的一个常见问题,应用程序可能会建立大量在进程退出后才会释放的池。 这样,将打开大量的链接,占用许多内存,从而影响性能。