网站优化——前端优化.net页面生命周期优化
最近,我需要做一个网站优化工作。我总结了几天,并与您分享。优化思想无非是后端优化、asp.net页面生命周期优化、数据访问优化、IIS和web.config配置优化。为了防止空间过长,它分为四个部分。我希望你能多加评论,谢谢
1.网站优化-前端优化
2.网站优化--asp.net页面生命周期优化
3.Website优化——IIS和web.config配置优化
4.网站优化-数据访问优化
本文将分享一些IIS的优化和asp.net的web.config配置优化
IIS相关优化1.修改IIS工作进程的最大数量
a。考虑以下事项:
1.每个工作进程将消耗系统资源和CPU利用率;太多的工作进程将导致系统资源和CPU利用率的显著消耗
2.每个工作进程都有自己的状态数据。如果web应用程序依赖工作进程来保存状态数据,则它可能不支持使用多个工作进程
3.进入资源竞争,让多个工作流程运行同一个应用程序将导致资源竞争
b。修改ISS工作进程的最大数量,以提高应用程序池在处理请求时的性能
@IIS中的1.6.0在的web garden中,指定应用程序池的工作进程数可以提高应用程序池处理请求的性能。当服务器上的负载很小且不需要额外的工作进程时,将使用IIS@6.0在一定时间后自动减少实际工作进程数(默认为20分钟网站优化,可配置);如果负载变大,则需要额外的工作进程,IIS@6.0再次减少工作流程的数量。所有这些操作都是在没有管理员干预的情况下手动执行的
2.修改方法如下:
修改服务器的machine.config的配置。Net框架
目录:C:\windows\Microsoft。Net\framework64\v2.0.50727\CONFIG\machine.CONFIG
将“processmodel”节点的“allowdefinition”值设置为“everywhere”
修改服务器中IIS最大工作进程数:
方法:右键单击IIS应用程序池-->;属性->;性能选项卡->;网络公园->;工作进程的最大数目
注:经测试验证,服务器为32(16*2)core 32g视频内存时,设置为5,性能最好
(PS:processmodel元素(asp.net设置框架)元素配置服务器的处理模型,包括服务器上的所有asp.net应用程序。因此,processmodel设置只能放在machine.config文件中,不能通过任何web.config文件中的设置重绘。)
2.取消IIS的web访问记录
a、 关闭IIS访问日志记录可以提高web性能
1.IIS @ 6.0默认情况下,web的IIS访问记录处于启用状态。启用记录功能后,IIS将忠实地记录所有IIS访问记录的每个细节。这些记录文件的内容非常复杂,例如访问时间、客户端IP、从该链接的访问、Cookie等。此外,它们还包括方法、用户年龄新界等
这些记录不仅占用了大量的C磁盘空间,而且极大地影响了web服务器的性能。据评估,停止IIS访问记录可以将web性能提高5%到8%
2.method:打开IIS管理器,找到特定网站,右键单击并选择“属性”,然后取消选中“主目录”选项卡下的“记录访问”
Web.config配置优化(生产环境)1.remove无用的httpmodules
d、 并非所有模块都是必需的。删除未使用的HttpModule会增加请求速率
1.asp.net默认的httpmodules管理请求管道并控制每个请求
例如,sessionstatemodule截获每个请求并分析会话cookie以在httpcontext中加载适当的会话。但是,并非所有模块都是必需的。例如,如果不使用成员身份,则不需要配置formsauthentication模块;如果不使用windows身份验证,则不需要配置windows身份验证。这些模块只是管道中包含的包,执行一些不需要的代码
2.默认模块在machine.config中定义(在网站的web.config中设置以指示当前网站有效)($windows$\Microsoft.Net\framework\$version$\config)。如果不需要此管道,则配置如下:
<httpModules> <remove name="OutputCache" /> <remove name="Session" /> <remove name="WindowsAuthentication" /> <remove name="FormsAuthentication" /> <remove name="PassportAuthentication" /> <remove name="RoleManager" /> <remove name="UrlAuthorization" /> <remove name="FileAuthorization" /> <remove name="AnonymousIdentification" /> <remove name="Profile" /> httpModules>
2.关闭页面级无用机制
在web.config中
节点配置全局定义特定于页面的设置,例如配置文件范围内页面和控件的asp.net指令。默认EnableViewState属性为“true”,即打开视图。如果未使用此机制,则可以将其设置为“false”
默认的autoeventwireup属性为“true”,即启动页面风暴。如果不使用此机制,可以将其设置为“false”
默认缓冲区属性为“true”,它启用HTTP响应缓冲
默认的enableviewstatemac属性为“false”,它允许在页面的视图状态上运行计算机身份验证检测(MAC),以放置用户篡改。如果设置为true,性能将降低
默认情况下,默认validaterequest为true。当启用用户输入以验证是否存在跨站点脚本和SQL注入漏洞时,如果存在匹配,将发送httprequestvalidationexception
3.将customerror设置为非关闭状态
web.config中的节点用于定义一些自定义错误信息。此节点有两个属性:mode和defaultredirect。defaultredirect属性是一个可选属性,指示发生错误时应用程序将重定向到的默认URL。如果未指定此属性,将显示一般错误ed.模式属性是一个必需属性,它有三个可能的值,其含义如下:
模式描述
开启意味着本地和远程用户将看到自定义错误消息
关闭将禁用自定义错误消息,本地和远程用户将看到详细的错误消息
Remoteonly意味着本地用户将看到详细的错误消息,而远程用户将看到自定义错误消息
在这里,有必要解释本地用户和远程用户的概念。当我们用来访问asp.net应用程序的机器和我们用来发布asp.net应用程序的机器是同一台机器时,它将成为本地用户,否则称为远程用户。为了方便查找错误,建议设置mode属性在开发和调试阶段设置为off,在部署阶段应将mode属性设置为off。安全设置为on或remoteonly是为了防止此详细错误消息暴露程序代码的详细信息,从而吸引黑客
配置如下:
<customErrors mode=" On " defaultRedirect="Error.html"/>
4.禁用调试
web.config中的节点配置asp.net使用的所有编译设置。默认调试属性为“true”,允许调试。在开发阶段,此类配置没有问题。但是网站优化,在线部署程序后,它将影响支持套接字的性能,因此应将其设置为“false”程序编译并联机后
配置如下:
<compilation debug="false" />
5.连接并发配置
连接并发限制是指由同一IP启动到同一域的最大连接数。事实上,此限制存在于大多数Google产品或组件中。通常,此值为2/4,即默认情况下,对于同一IP访问同一域,最多两个连接处于构造状态。default为2,非常低。这意味着asp.net中的连接管理节点可以设置单个IP启动到域的最大连接数
配置如下:
<system.net> <connectionManagement> <add address="*" maxconnection="100" /> connectionManagement> system.net>
Address表示域,maxconnection表示最大连接数
优搜云-快速排名优化系统,支持百度、360、搜狗、神马四大搜索引擎做关键词优化推广。拥有全新百度优化算法,新站降权站皆可做单词、整站优化,是能免费试词的百度seo推广公司。