ASP.NET网站第一次访问慢的解决方法

本篇经验以IIS8,Windows Server 2012R2做为案例。

IIS8 运行在Windows Server 2012 and Windows 8 版本以上的平台上。

IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下。

默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动回收掉。

IIS8 自带应用程序初始化工具包,IIS7.5要搜索独立安装包进行安装,低于7.5的暂时不支持IIS自动初始化。

本篇经验中的方法能解决ASP.Net第一次访问慢,间隔一段时间后,又访问慢的问题。

方法/步骤

安装IIS应用程序初始化功能,如下图所示:

编辑网站对应应用程序池启动模式,操作路径:应用程序池 -> 网站对应程序池 -> 右键,高级设置 ->选择,启动模式AlwaysRunning,如下图所示:

开启对应网站预加载,操作路径:网站 -> 对应网站 -> 右键,高级设置 ->选择,预加载已启用 True,如下图所示:

设置配置编辑器,编写默认预加载请求,打开配置编辑器,如下图所示:

在左上角配置节点选择system.webServer/applicationInitialization,其他配置如红圈中,如下图所示:

在集合中添加一个初始化请求地址(用于IIS初始化默认请求地址),添加完成后,点击配置界面右侧的应用按钮,并重启应用程序池和网站,如下图所示:

总结:

1、原理说明:IIS应用初始化会在网站第一次创建后或者对应网站的应用程序池回收后,自动开启新程序池,并启动网站初始化,模拟一次正常请求,使网站一直处于在线状态。

(此流程可以借助第三方工具或者服务模拟网站请求达到相同目的)

2、配置说明:

 (1)、启用应用程序池(AlwaysRunning):保证应用程序池在第一次创建或者被回收后,能自动再次重启运行。

 (2)、启用网站程序预加载(true):保证程序池在启动过后,网站能响应预加载动作。

 (3)、配置网站默认预加载路径:保证程序在程序池启动后,网站预加载过程中,能快速编译程序并进驻内存,保证请求快速响应。 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ASP.net中网站访问量统计方法代码

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数.访问总人数的增量统计,代

  • 用IIS建立的.net网站通过IP地址不能访问解决方法

    用iis建立一个.net的网站,在iis中绑定了服务器公网ip的80端口和127.0.0.1的80端口,结果用ip地址不能直接访问,而在局域网中,是可以直接访问的. 因为网站还没有注册,所以要用ip地址来测试网站. 用pache建立的网站,修改httpd.conf文件,bind ip:80 可以外网ip访问 到底怎么回事,后来查到, iis还有个叫主机头的东西,主要用于设置虚拟主机的.用于同一ip下的多网站. 现在通过修改 hosts文件来访问网站,问题解决. 在hosts文件中加入一行 123

  • .net 应对网站访问压力的方案总结

    开年比较空,抽时间写个博文,总结下自己工作里的一些应对网站访问压力的技术方案. 自己项目现在大概一天50W的pv.已从前端到后端的顺序总结下自己用的一些方案. 一. 前端页面: 1.首先减少资源的大小,能用小图,就用小图.引用第三方js用mini 压缩版的js. 2.用CDN减少服务器访问的压力,将图片,css,js文件放到CDN上.用户从cdn缓存获取资源的速度远快与访问服务器获取的速度.(还有网络关系,cdn网络快) 3.耗时长的js可以异步请求后加载. 二.服务器负载均衡: 负载均衡解决方

  • ASP.NET网站第一次访问慢的解决方法

    本篇经验以IIS8,Windows Server 2012R2做为案例. IIS8 运行在Windows Server 2012 and Windows 8 版本以上的平台上. IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下. 默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动回收掉. IIS8 自带应用程序初始化工具包,IIS7.5要搜索独立安装包进行安装,低于7.5的暂时不支持IIS自动初始化. 本篇经验中的方法能解决AS

  • Asp.net "对路径的访问被拒绝" 解决方法的分析

    给下面这个目录加上ASP.NET帐号的权限.C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files ASP.NET帐号的权限为: 读取和运行,列出文件夹目录,读取,写入. 前几天把自己写的东西移植到另一台机器上的时候,出了这个问题.很直觉地想到了是权限问题.可是我把WEB目录下的权限都几乎改成了完全控制,还是不能解决问题.查了很多资料,讲得也不清楚.有说改这个,也有说改那个的.后来,终于注意到,出错时显示的是对

  • HTTP 错误 403.1禁止访问:禁止执行访问的完美解决方法

    HTTP 错误 403.1 - 禁止访问:执行访问被拒绝. 解决方法该页无法显示 您试图从目录中执行 CGI.ISAPI 或其他可执行程序,但该目录不允许执行程序. 请尝试以下操作: 如果您认为该目录应该允许执行访问权限,请与网站管理员联系. HTTP 错误 403.1 - 禁止访问:执行访问被拒绝. 技术信息(为技术支持人员提供) 转到 Microsoft 产品支持服务并搜索包括"HTTP"和"403"的标题. 打开"IIS 帮助"(可在 II

  • 深入了解 register_globals (附register_globals=off 网站打不开的解决方法)

    深入了解 register_globals dedecms 里强制限制了register_globals 由于register_globals设置控制PHP变量访问范围,如果开启会引起不必要的安全问题,所以这里对其进行了强制关闭,如果站长的空间不支持,可以采用以下几种办法进行修改,供广大站长参考: *如果是独立服务器的用户可以修改php配置文件中的php.ini,将register_globals=On改为register_globals=Off,然后重启Apache. *如果是虚拟主机的用户,

  • ASP.NET MVC错误处理的对应解决方法

    ASP.NET MVC的错误处理应考虑到这几个方面:模型绑定期间发生的错误,未能路由到指定操作,针对控制器的错误处理.使用配置文件可以帮助我们处理异常,但是不够灵活和全面:使用HandleErrorAttribute.自定义错误过滤器或重写控制器OnException方法只能解决针对控制器的错误,无法解决模型绑定期间发生的错误,也无法处理404错误,即使将错误过滤器注册为全局过滤器也是如此.有时候需要多种方法配合使用. 在捕获错误的地方,可以将有用的信息记录下来,便于我们查出引起问题的原因和纠正

  • 浅谈php处理后端&接口访问超时的解决方法

    [HTTP访问] 一般我们访问HTTP方式很多,主要是:curl, socket, file_get_contents() 等方法. 如果碰到对方服务器一直没有响应的时候,我们就悲剧了,很容易把整个服务器搞死,所以在访问http的时候也需要考虑超时的问题. [ CURL 访问HTTP] CURL 是我们常用的一种比较靠谱的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等. CURL: curl_setopt($ch, opt) 可以设置一些超时的设置,主要包括: *(重要) CU

  • Docker容器开jupyter不能访问到的解决方法

    在本项目中使用了docker容器搭建环境,Dockerfile 如下: FROM tensorflow/tensorflow:1.14.0-gpu-py3 RUN pip install scipy==1.3.3 RUN pip install requests RUN pip install Pillow RUN pip install matplotlib RUN pip install pandas RUN pip install keras==2.2.4 RUN pip install

  • SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法

    一.错误提示 : 该作业失败. 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534. [SQLSTATE 42000] (错误 15404)). 二.说明: 更改作业计划的所有者,不是数据库所有者 三.解决方法: 下面是其他网友的补充方法 下午准备

  • asp.net“服务器应用程序不可用” 解决方法

    引起这个的原因大概是现安装了.Net Framework后装的IIS导致.Net没有在IIS里注册. 在网上找了很久都是说从.net命令行工具里运行aspnet_regIIS /i就可以了(或者在类似下面的目录:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i),但是自己试了很多次都不行,后来发现还是要先卸载再安装,重新创建为应用程序才行,具体如下: 从.net命令行工具里运行 aspnet_regIIS /u 卸

  • 解决asp.net ajax sys未定义的解决方法

    出现这种错误,一般是缺少2个文件,放到项目或者服务器根目录下 新建记事本,随便打上几个字母,分别保存为以下2个文件,上传即可解决 WebResource.axd , ScriptResource.axd 或参考如下方法:每个人碰到的原因可能不一样. 首先,我们看一下网上出问题的同志们虽说都是"Sys 未定义",但是情况却不尽相同,有的人使用的是Atlas版本,有的使用的Asp.net ajax Beta,有的则是正式发行版Asp.net ajax Beta,所以解决的方法也有区别了.下

随机推荐