IIS服务器的性能关系的我们的工作效率,因此不能有事阻碍到了IIS服务器性能,不过很多人还是会犯一些错误导致IIS的性能受损,现在就来盘点一下哪些事情是千万不能做的。
1、应该分配和释放多个对象
你应该尽量避免过量分配内存,因为内存分配可能是代价高昂的。释放内存块可能更昂贵,因为大多数分配算符总是企图连接临近的已释放的内存块成为更大的块。直到Windows NT? 4.0 service pack 4.0,在多线程处理中,系统堆通常都运行得很糟。堆被一个全局锁保护,并且在多处理器系统上是不可扩展的。
2.不应该考虑使用处理器高速缓存
大多数人都知道由虚拟内存子系统导致的hard 页错误代价很高,最好避免。但是许多人认为其他内存访问方法没有什么区别。自从80486以后,这一观点就不对了。现代的CPUs比RAM要快得多,RAM至少需要两级内存缓存 ,高速L1 缓存能保存8KB数据和8KB指令,而较慢的L2 缓存能保存几百KB的数据和代码,这些数据和代码混合在一起。L1 缓存中内存区域的一个引用需要一个时钟周期,L2 缓存的引用需要4到7个时钟周期,而主内存的引用需要许多个处理器时钟周期。后一数字不久将会超过100个时钟周期。在许多方面,缓存像一个小型的,高速的,虚拟内存系统。
至于和缓存有关的基本内存单元不是字节而是缓存列。Pentium 缓存列有32个字节宽。Alpha 缓存列有64个字节宽。这意味着在L1 缓存中只有512个slot给代码和数据。如果多个数据一起使用(时间位置)而并不存储在一起(空间位置),性能会很差。数组的空间位置很好,而相互连接的列表和其他基于指针的数据结构的位置往往很差。
把数据打包到同一个缓存列中通常会有利于提高性能,但是它也会破坏多处理器系统的性能。内存子系统很难协调处理器间的缓存。如果一个被所有处理器使用的只读数据,和一个由一个处理器使用并频繁更新的数据共享一个缓存 列,那么缓存将会花费很长时间更新这个缓存列的拷贝。这个Ping-Pong高速游戏通常被称为"缓存 sloshing"。如果只读数据在一个不同的缓存 列中,就可以避免sloshing。
对代码进行空间优化比进行速度优化效率更高。代码越少,代码所占的页也越少,这样需要的运行设置和产生的页错误也会更少,同时占据的缓存 列也会更少。然而,某些核心函数应该进行速度优化。可以利用profiler去识别这些函数。
3.决不要缓存频繁使用的数据。
软件缓存可以被各种应用程序使用。当一个计算代价很高时,你会保存结果的一个拷贝。这是一个典型的时空折中方法:牺牲一些存储空间以节省时间。如果做得好,这种方法可能非常有效。
你必须正确地进行缓存。如果缓存了错误数据,就会浪费存储空间。如果缓存得太多,其他操作可以使用的内存将会很少。如果缓存得太少,效率又会很低,因为你必须重新计算被缓存 遗漏的数据。如果将时间敏感数据缓存得时间过长,这些数据将会过时。一般,服务器更关心的是速度而不是空间,所以他们要比桌面系统进行更多的缓存。一定要定期去除不用的缓存,否则将会有运行设置问题。
4.应该创建多个线程,越多越好。
调整服务器中起作用的线程数目是很重要的。如果线程是I/O-bound的,将会花费很多时间用来等待I/O的完成-一个被阻塞的线程就是一个不做任何有用工作的线程。加入额外的线程可以增加通量,但是加入过多的线程将会降低服务器的性能,因为上下文交换将会成为一个重大的overhead。上下文交换速度应该低的原因有三个:上下文交换是单纯的overhead,对应用程序的工作没有任何益处;上下文交换用尽了宝贵的时钟周期;最糟的是,上下文交换将处理器的缓存填满了没用的数据,替换这些数据是代价高昂的。
有很多事情是依靠你的线程化结构的。每个客户端一个线程是绝对不合适的。因为对于大量用户端,它的扩展性不好。上下文交换变得难以忍受,Windows NT用尽了资源。线程池模型会工作得更好,在这种方法中一个工人线程池将处理一条请求列,因为Windows 2000提供了相应的APIs,如QueueUserWorkItem。
分享到:
相关推荐
简易IIS服务器简易IIS服务器简易IIS服务器简易IIS服务器简易IIS服务器简易IIS服务器
IIS服务器组建一览,IIS服务器组建一览
IIS服务器配置课件IIS服务器配置课件
IIS性能调优IIS性能调优 IIS性能调优
这可以在没有安装IIS服务器进行asp的调试,不需要安装直接打开就可以用
netbox IIS Asp 服务器netbox IIS Asp 服务器netbox IIS Asp 服务器netbox IIS Asp 服务器netbox IIS Asp 服务器
关于IIS服务器配置的文档,我当初遇到问题时也查过,详细
IIS网站服务器性能应如何进行优化IIS网站服务器性能应如何进行优化IIS网站服务器性能应如何进行优化
IIS服务器应用程序不可用的解决办法 ,我反复查找后找到的资源,希望带来方便
IIS服务器的备份软件,当IIS服务器被破坏后可以用它恢复IIS的设置。
绝对好使 打开ASP格式的网站专用绝对好使 打开ASP格式的网站专用绝对好使 打开ASP格式的网站专用
IIS服务器安装与配置,良心文档,适合初学者!!!!!
装不上iis的可用这个,如果很多人的机器装不上iis,可以用这个简单的iis服务器替代,简单快捷
简单模拟IIS服务器程序,可以在浏览器中输入请求的页面内容,服务器通过该程序响应浏览器,并显示出请求页面。对IIS的理解很有帮助。
在IIS服务器上部署vue项目,使用history模式,一步一步截图演示,一看就会,简单明了。
让IIS支持FSO功能,IIS服务器配置支持FSO功能
IIS 7.0是包括在Windows Vista客户机上的,该操作系统的家庭版本也带有IIS 7.0(而不象IIS 5.1,只有在XP Professional上才有)。服务器的IIS 7.0版本将在今年稍后随Windows Longhorn服务器发布,将添加一堆额外的...
本资源主要是说明如何将物理上分离的SQL服务器和IIS服务器进行匿名连接。
自己整合了构建高性能.net应用之配置高可用iis服务器的5篇为一篇,文件为pdf文档,共19页。深入浅出的说明了IIS服务的工作原理,以及如何配置高性能的iis服务器。
成功后可以在你的电脑 右下角看到一个在闪在闪的小图标. 鼠标左击能选择停止、重起、关闭 web服务器(相当于IIS). pause service(服务器暂停运行) restart service(重启服务器) 2.在当前文件夹下找到...