iis优化网站访问速度(iis优化网站访问速度变慢)
本文目录一览:
网站访问很慢很慢怎么回事
网站打开的速度很慢的原因:
1、网站服务器的速度慢:服务器的速度直接影响网站打开的快慢,国内的主机速度要比国外的快一些,也稳定一些。
2、网站代码的繁琐:网站访问速度慢不仅仅就是主机的原因,还有一部分原因就是网站代码的繁琐。
3、网站用了大量的JS调用:JS代码的执行效率往往直接影响了页面的性能,过多的js调用会对网站造成很大的影响,尽量少用或者进行JS优化。
4、网站图片太大:很多网站都有大量的图片,而这些图片都没有经过优化,所以这些图片都非常大。那么这自然就会影响到网站的加载速度。
网站性能优化 页面打开过慢怎么解决
很高兴为你解答。
网站打开速度慢,可以通过网站加速技术来优化。
网站加速技术具体操作方法如下:
一、连接过程:
核心提示:减少请求次数。如合并JS、CSS文件、合并CSS背景图片等。
二、下载页面(重点):
核心提示:压缩与优化。如压缩JS、CSS、图片。启用压缩传输GZIP。
三、渲染页面
核心提示:声明和合理编码。如编码声明、图片尺寸声明、CSS、JS位置。
优化网站图片要点总结:
色彩丰富、数码照片选择JPG,色彩少、大面积色块使用GIF或者PNG,非动画使用PNG-8,
因为PNG-8与GIF在效果一样的情况下,PNG-8要小,动画使用GIF。
用站长工具检查一下网页的GZIP压缩
检查声明字符集:
代码更好理解,网站加速实战技术:使用CSS+DIV布局
好处:1、代码简洁、加载快:
采用CSS+DIV重构的页面容量要比TABLE编码的页面文件容量小的多,代码更加简洁,前者一般是后者的1/2大小。
2、边加载边渲染,显示快:
加载TABLE里全部内容才进行显示DIV是边加载边显示。
3、表现和内容相分离:
①提高搜索引擎对网页的索引效率。
②维护方便,换换CSS,变变样子。
以上是我为以往客户优化的成功案例经验总结,非常实用,希望能帮你解决实质性的问题。
怎样提高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。
5.应该对数据结构使用全局锁
使数据线程安全的最简单方法是把它套上一把大锁。为简单起见,所有的东西都用同一把锁。这种方法会有一个问题:序列化。为了得到锁,每一个要处理数据的线程都必须排队等候。如果线程被一把锁阻塞,它没有在做任何有用的事。当服务器的负载较轻时,这个问题并不常见,因为一次可能只有一个线程需要锁。在负载很重的情况下,对锁的激烈争夺可能就会成为一个大问题。
设想在多车道高速公路上发生了一个意外事故,这条高速公路上的所有车辆都被转向一条狭窄的道路。如果车辆很少,这一转换对交通流的速率的影响可以忽略。如果车辆很多,当车辆慢慢并入那条单通道时,交通阻塞会延伸几英里。
有几种技术能够减少锁竞争。
· 不要过分保护,也就是说,不是非常必要不要锁住数据。只有需要时才去持有锁,而且时间不要过长。不要在大段代码周围或频繁执行的代码中没必要地使用锁,这一点很重要。
· 对数据进行分割,使它能够用一套独立的锁保护。例如,一个符号表可以按标识符的第一个字母分割,这样在修改名字以Q开头的符号的值时,就不会去读名字以H开头的符号的值。
· 使用APIs的Interlocked 系列(InterlockedIncrement,InterlockedCompareExchangePointer等)自动修改数据而不需要锁。
· 当数据不是经常被修改时可以使用多读者/单作者(multi-reader/single-writer)锁。你将获得更好的并发性,尽管锁操作的代价将更高并且你可能会冒饿死作者的危险。
· 在关键部分使用循环计数器。参见Windows NT 4.0 service pack 3中的SetCriticalSectionSpinCount API。
· 如果你不能得到锁,使用TryEnterCriticalSection并做一些其他的有用的工作。
高竞争导致serialization,serialization导致降低CPU的利用率,这促使用户加入更多的线程,结果事情变得更糟。
6.不必注意多处理器机器
你的代码在多处理器系统上比在单处理器系统上运行得还要糟,这可能是件令人恶心的事。一个很自然的想法是,在一个N维系统上运行N次会更好。性能很差的原因是竞争:锁竞争,总线竞争,和/或缓存列竞争。处理器都在是争夺共享资源的所有权,而不是做更多的工作。
如果你一定要编写多线程应用程序的话,你应该在多处理器盒上对你的应用程序进行强度测试和性能测试。单处理器系统通过时间分片地执行线程而提供一个并发性的假象。多处理器盒具有真正的并发性,竞争环境和竞争更容易发生。
7.应该始终使用模块化调用;他们很有趣。
利用同步模块化调用来执行I/O操作对大多数桌面应用程序来说是合适的。但是,他们不是使用服务器上的CPU(s)的好方法。I/O操作要花费上百万个时钟周期来完成,这些时钟周期本来可以被更好地利用。利用异步I/O你能得到显著提高的用户请求率和I/O通量,不过增加了额外的复杂性。
如果你有需要花费很长时间的模块化调用或I/O操作,你应该考调拨多少资源给他们。你想使用所有的线程还是有个限制?一般地,使用有限的几个线程要好些。构建一个小的线程池和队列,利用队列来安排线程的工作完成模块化调用。这样,其他线程就可以拾取和处理你的非模块化的请求。
8.不要进行测量
当你能够测量你所谈论的事情并用数字表达它时,这就表示你对他有了一定的了解;但是如果你不能用数字表达时,你的知识是贫瘠的不能令人满意的;这可能是知识的开始,但这时你简直不可能将你的思想提高到科学的水平。
- Lord Kelvin (William Thomson)
如果不测量你就不能了解应用程序的特性。你在黑暗中摸索,一半是靠猜测。如果不识别性能问题,你就不能做任何改进或做出工作量计划。
测量包括黑匣子测量和profiling。黑匣子测量的意思是收集由性能计数器(内存使用,上下文交换,CPU利用等)和外部检测工具(通量,反映时间等)所显示的数据。为了profile你的代码,你编译代码的一个工具版,然后在各种条件下运行它,并收集关于执行时间和过程调用频率的统计数据。
测量如果不用于分析的话就一点用都没有。测量将不仅告诉你有问题,而且甚至能帮助你找到问题发生在哪,但它不能告诉你为什么会有问题。对问题进行分析以便你能正确地改正他们。要从根本上解决问题而不是停留在表面现象。
当你进行改动后,要重新测量。你要知道你的改动是否有效。改动也可能会暴露其他性能问题,测量-分析-改正-再测量的循环就会重新开始。你也必须要有规律地进行测量,以便发现性能衰退问题。
9.应该使用单一用户,单一请求的测试方法。
书写ASP和ISAPI应用程序的一个通病是只用一个浏览器去测试应用程序。当他们在Internet上应用他们的程序时,他们才发现他们的应用程序不能处理高负载,并且通量和反应时间另人可怜。
用一个浏览器测试是必要的但是不够的。如果浏览器反应得不够快,你就知道你有麻烦了。但即使它在使用一个浏览器时很快,你也不知道它处理负载的能力如何。如果十几个用户同时请求会发生什么事?一百个呢?你的应用程序能容忍什么样的通量?它能提供什么样的反应时间?在轻载时这些数字会怎样?中等负载呢?重载呢?在多处理器机器上你的应用程序会如何?对你的应用程序进行强度测试,这对于找出bugs发现性能问题来说是基本的。
类似的负载测试考虑适用于所有的服务器应用程序。
10.不应使用实际环境。
人们往往只在几个特定的,人工的环境(如下benchmarks)下调整应用程序。选择和实际情况相对应的各种情况,并为针对各种操作进行优化,这一点很重要。如果你不这样做,你的用户和评论家一定会这样做,并且他们将依此来评判你的应用程序的好坏。
IIS访问速度很慢是怎么回事?高手请进
Windows XP
在使用Windows XP的过程中,系统速度会随着时间的推移越来越慢,你可重装系统,但重装后,那么多的应用软件也要重新安装,如何在不安装系统的前提下提升Windows XP的运行速度呢?
1、定期整理磁盘碎片
计算机硬盘中最细小的单位是扇区,一个档案通常会占用若干扇区,每当硬盘用久了,无数次的新增、更改和删除档案后,就会造成很多断断续续的扇区,因而非连续性的档案便会愈来愈多,硬盘磁头便需要花更多时间跳来跳去来读取数据,这就导致硬盘速度减慢。有见及此,windows才会有“整理磁盘碎片”出现。只要执行“整理磁盘碎片”,所有非连续性的档案都会被重新编排得整整齐齐,至于执行时间,大约一星期左右执行一次便可了。
2、去掉预定任务
通常情况下,Windows XP在连接其它计算机时,会全面检查对方机子上所有预定的任务,这个检查会让你等上30秒钟或更多时间。去掉的方法是开始
a、修改注册表的run键,取消那几个不常用的东西,比如Windows Messenger。启用注册表管理器:开始→运行→Regedit→找到“HKEY_CURRENT_USER\Software\Microsoft\Windows\Current\Version\Run\
MSMSGS”/BACKGROUND这个键值,右键→删除,世界清静多了,顺便把那几个什么cfmon的都干掉吧。
b、修改注册表来减少预读取,减少进度条等待时间,效果是进度条跑一圈就进入登录画面了,开始→运行→regedit启动注册表编辑器,找HKEY_LOCAL_MACHINESYSTEM\ Current\Control\SetControl\ Session anagerMemory\ManagementPrefetchParameters,有一个键EnablePrefetcher把它的数值改为“1”就可以了。另外不常更换硬件的朋友可以在系统属性中把总线设备上面的设备类型设置为none(无)。
3、关闭系统属性中的特效
这可是简单有效的提速良方。点击开始→控制面板→系统→高级→性能→设置→在视觉效果中,设置为调整为最佳性能→确定即可。这样桌面就会和win2000很相似的,我还是挺喜欢XP的蓝色窗口,所以在“在窗口和按钮上使用视觉样式”打上勾,这样既能看到漂亮的蓝色界面,又可以加快速度。
5、Windows XP实现1秒关机
体积庞大的Windows XP操作系统关机起来很慢,大约需要30~50秒,但是按我们下面提供的方法更改注册表选项,你的Windows XP系统关机速度就会非常的快了。
找到HKEY-CURRENT-USER\Control Panel\Desktop键,将WaitToKillAppTimeout改为:1000,即关闭程序时仅等待1秒。
另:程序出错和系统自动关闭停止响应的程序如何实现快速关闭。
a、将HungAppTimeout 值改为:200,表示程序出错时等待0.5秒。
b、将AutoEndTasks 值设为:1,让系统自动关闭停止响应的程序。
6、关掉调试器Dr. Watson
我好像从win95年代开始一次也没用过这东西,可以这样取消:打开册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current\Version\AeDebug子键分支,双击在它下面的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就取消它的运行了。沿用这个思路,我们可以把所有具备调试功能的选项取消,比如蓝屏时出现的memory.dmp,在“我的电脑→属性→高级→设置→写入调试信息→选择无”等等。
7、加快启动速度
要加快Windows XP的启动速度。可以通过修改注册表来达到目的,在注册表编辑器,找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters,在右边找到EnablePrefetcher主键,把它的默认值3改为1,这样滚动条滚动的时间就会减少;
9、优化网上邻居
Windows XP网上邻居在使用时系统会搜索自己的共享目录和可作为网络共享的打印机以及计划任务中和网络相关的计划任务,然后才显示出来,这样速度显然会慢的很多。这些功能对我们没多大用的话,可以将其删除。在注册表编辑器中找到HKEY_LOCAL_MACHINEsofewareMicrosoftWindowsCurrent VersionExploreRemoteComputerNameSpace,删除其下的(打印机)和{D6277990-4C6A-11CF8D87- 00AA0060F5BF}(计划任务),重新启动电脑,再次访问网上邻居,你会发现快了很多。
10、自动关闭停止响应程序
有些时候,Win XP会提示你某某程序停止响应,很烦,通过修改注册表我们可以让其自行关闭,在HKEY_CURRENT_USERControl PanelDesktop中将字符健值是AutoEndTasks的数值数据更改为1,重新注销或启动即可。
11、加快菜单显示速度
为了加快菜单的显示速度,我们可以按照以下方法进行设置:我们可以在HKEY_CURRENT_USERControl PanelDesktop下找到“MenuShowDelay”主键,把它的值改为“0”就可以达到加快菜单显示速度的效果。
12、清除内存中不被使用的DLL文件
在注册表的HKKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion,在Explorer增加一个项AlwaysUnloadDLL,默认值设为1。注:如由默认值设定为0则代表停用此功能。
13、加快预读能力改善开机速度
Windows XP预读设定可提高系统速度,加快开机速度。按照下面的方法进行修改可进一步善用CPU的效率:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManager
MemoryManagement],在PrefetchParameters右边窗口,将EnablePrefetcher的数值数据如下更改,如使用PIII 800MHz CPU以上的建议将数值数据更改为4或5,否则建议保留数值数据为默认值即3。
iis优化网站访问速度的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于iis优化网站访问速度变慢、iis优化网站访问速度的信息别忘了在维启网络进行查找喔。
发表评论
暂时没有评论,来抢沙发吧~