ASP.NET在IIS的启动优化设置

ASP.NET在IIS的启动优化设置

约定:

IIS=Internet Information Services Manager

概要

因为ASP.NET 程序在第一次启动的时候需要等待太长时间,至少是第二次访问的3倍以上时间,这是由于程序是按需启动的,而且程序会在空闲一段时间后自动关闭。

所以特意做了这个文档来告诉大家怎么能让ASP.NET 程序在第一次启动(或者重启)的时候表现的更好,至少速度上接近第二次访问。

IIS 8

如果系统是Windows Server 2012 或以上,那么系统自带的IIS版本已经是8了

IIS 的版本可以在 IIS管理器的窗口,帮助(Help)->关于(About) 里面找到,红色框里面就是了。

在IIS8 上设置就很简单了

主要有3个步骤:

应用程序池-高级设置-启动模式:AlwaysRunning

应用程序池-高级设置-进程模型-闲置超时:1740 (分钟)

应用程序-高级设置-常规-预加载已启用:True

在应用程序池里面选择你的应用程序所用的程序池,在高级选项卡里面设置

启动模式:AlwaysRunning

进程模型-闲置超时:1740 (分钟)

选中你所要加速的应用程序,在高级设置里面 规-预加载已启用:True。

这就搞定了。

IIS7.5

Windows Server 2008 就自带了IIS7.5,在这个版本里面,设置比较麻烦,需要借助于微软的工具才行。

准备工具:

Application Initialization Module for IIS 7.5下载地址

http://www.iis.net/downloads/microsoft/application-initialization

ApplicationInitializationInstaller_x64.zip

https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/10/38/83/23/ApplicationInitializationInstaller_x64.zip

注意:安装完后你可能需要重启服务器才能生效!

在服务器上安装好。

选择你的引用程序,找到这个

双击,在里面选择该应用程序对应的程序池,选择AlwaysRunning,点击Apply。

选择WebSites标签

OK,现在你可以重启对应的应用程序看看是不是比平时快多了。

英文教程看这里:

https://blogs.msdn.microsoft.com/amol/2013/01/25/application-initialization-ui-for-iis-7-5/

参考连接:

http://www.huaface.com/p/12

https://blogs.msdn.microsoft.com/amol/2013/01/25/application-initialization-ui-for-iis-7-5/

时间: 2024-10-29 00:05:44

ASP.NET在IIS的启动优化设置的相关文章

asp.net core通过控制台启动,设置端口与运行环境

发布好的asp.net core mvc项目, 如果想在window下启动的话,可以用下面的命令 dotnet MyProject.dll --urls="https://localhost:7001;http://localhost:7000" --environment=Development 默认端口为5000(https为5001) 默认环境为Production 原文地址:https://www.cnblogs.com/builderman/p/9160228.html

服务器返回503(IIS Service Unavailable HTTP Error 503. The service is unavailable.)+IIS常见优化设置策略

一.服务器返回503,问题排查步骤(IIS下) 出现503错误,一般是由于IIS常出现问题,可从以下几个方面进行排查 1.打开IIS,看下具体的应用程序池是否正常,如果应用程序池中该应用状态是停止,则需要重新启动. 如果手动点击启动不了,直接以管理员身份运行cmd命令行窗口,先输入 iisreset /stop ,执行完之后,再输入 iisreset /start.则可解决. 但是这只是启动了服务,我们还要找到造成这种503 的根源. 先在任务管理器中,找到该程序的进程,看下资源占用是否正常.

[转] ASP.NET WEB API程序在VS启动或发布到IIS后启动后发生 - Could not load file or assembly 'System.Web.Http.WebHost’异常,无法正常访问

Just do Copy Local = true in the properties for the assembly(System.Web.Http.WebHost) and then do a redeploy, it should work fine. http://stackoverflow.com/questions/20323107/could-not-load-file-or-assembly-system-web-http-webhost-after-published-to-

初次开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、目前性能还不够好

继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-host测试,但是官方说运行环境的MONO版本至少需要3.4.1,我去年买了个表,至本文发布为止,你让我下地狱去找3.4.1吗,硬着头皮用3.4.0搞了一晚上,MAC一直停留在 httpapi.dll出错,Ubuntu Server 12.0.4 是不认其中的几个DLL包,具体哪几个也忘了,过段时间有了稳定版本再

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL 引言--- 在现今搜索引擎制霸天下的时代,我们不得不做一些东西来讨好爬虫,进而提示网站的排名来博得一个看得过去的流量. URL重写与优化就是搜索引擎优化的手段之一. 假如某手机网站(基于ASP.NET MVC)分类页面URL是这样的, http://www.xxx.com/category/showcategory?categoryid=1000&view=list&orderby=price&p

ASP.NET在IIS 5/6上的运行模型(ISAPI)

IIS 5.X中的ASP.NET 实现了Web Server和ASP.NET App的分离. IIS作为Web Server运行在InetInfo.exe进程上.该进程是非托管的本地进程. ASP.NET App运行在aspnet_wp的Worker进程上.该进程初始化时会加载CLR,所以是一个托管进程. 通过创建虚拟目录将资源Host到IIS下,然后就可以通过IIS访问所有资源. Server会区分静态资源和动态资源. 对于静态资源的请求,不需要Server进行任何的处理,直接提取对应的文件作

mysql数据库的安装以及常见优化设置

原文:mysql数据库的安装以及常见优化设置 本文根据优才网课程整理,面向web开发者,内容以实用为主,专业DBA可以绕行. 如果你在大公司,可能有专门的DBA来做这些事情,如果你在一个小公司当架构师或者技术总监,或者你自己创业,那DBA的活你也得干了.咱们来讲一下基本的mysql安装和优化. 一: MYSQL安装和基本配置 在linux上安装,可以用包管理工具来安装,比较简单:RedHat 系列:yum -y install mysql mysql-server Debian系列:sudo a

利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包

原文:利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包 因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是64位也可能是32位,所以在打包的时候就需要打包成两份安装包.研究了几天终于有所收获,下边就是打包的步骤. 打包步骤: 一.前期准备 1.将asp.netmvc发布到本地目录中

无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动

无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同.如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection 的值,确保服务器接受远程请求.如果服务器位于本地计算机上,并且上面提到的注册表值不存在或者设置为 0,则状态