网站优化记录-通过命令预编译Asp.net 网站,成功优化到毫秒级别。

在去年一次项目上线时发现部署的站点首次访问跟回收后响应特别慢,每次都在3秒以内。(使用的是vs工具预编译的方式发布),在随后找到解决办法是通过命令预编译Asp.net 网站,成功解决站点响应在毫秒级别。

预编译 ASP.NET 网站

预编译 ASP.NET 网站可缩短用户的初始响应时间,因为页在第一次被请求时无需编译。这对于经常更新的大型网站尤其有用。

https://msdn.microsoft.com/zh-cn/library/ms227972(VS.80).aspx 微软介绍

使用说明打开cmd命令

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -v \ -p 项目路径 部署文件路径 -fixednames



对比Visual Studio 发布预编译执行的命令,看到命令多了个-u,但生成出来的文件差别却很大。

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p "" -u ""

如viewStart文件

左边命令发布,右边工具发布

发布文件对比

经过服务器部署对比发现命令发布响应速度更快,尤其是在低版本IIS里。

个人观点,不对之处还望大家帮忙指正。

时间: 2024-08-14 08:37:47

网站优化记录-通过命令预编译Asp.net 网站,成功优化到毫秒级别。的相关文章

[转]预编译 ASP.NET 网站

转自:如何:预编译 ASP.NET 网站 Visual Studio 2005 预编译 ASP.NET 网站可缩短用户的初始响应时间,因为页在第一次被请求时无需编译.这对于经常更新的大型网站尤其有用. 本主题中的过程使用 ASP.NET 编译工具 (Aspnet_compiler.exe) 的开关和参数.有关此工具的更多信息,请参见ASP.NET 编译工具 (Aspnet_compiler.exe). 有关预编译的更多信息,请参见 ASP.NET 网站预编译. 就地预编译 ASP.NET 网站

关于ASP.NET预编译的问题

第一次接触到vs2010的预编译,因为网站源码在部署到服务器上之前要经过预编译过程,其中的aspx文件.cs文件.以及master文件.app_code文件均被编译,然后放到了bin目录下.这样不仅对网站安全有好处(不直接存放源代码),而且在用户访问网站时不用在经过漫长的预编译过程,使响应速度加快. 预编译步骤: 1.运行cmd,打开命令行后,连续输入"cd.."段字符将目录调至c:\>下 2.输入aspnet_compiler.exe文件的详细物理路径,一般是在"C:

ASP.NET 动态编译、预编译和 WebDeployment 项目(转)

概述 在 Web 服务器上,既可以部署源文件,也可以部署编译后程序集. 若部署源文件,则当用户访问时,Web 应用程序会被动态编译,并缓存该程序集,以便下次访问. 否则,若部署程序集,Web 应用程序能直接使用. 动态编译 本文针对 VS 2008.Web 应用程序要想为请求提供服务,ASP.NET 必须首先分析 Web 应用程序的代码,并将其编译成一个或多个程序集.当编译代码时,会将代码编译为 Microsoft 中间语言(MSIL,与具体编程语言和 CPU 无关的语言).运行时,MSIL 将

Handlebars.js 预编译(转)

Handlebars.js 官网上对预编译1是这样说的: 你需要安装 Node.js 你需要在全局环境中,通过 Npm 安装 handlebars 包 然后你就可以通过命令预编译你的 handlebars 模板文件: $ handlebars <input> --output <output> 假设我有一个模板文件,名称为 person.handlebars,内容很简单,如下: <table> <tr> <td>This is {{firstna

从Mybatis中#和$的区别到SQL预编译

#和$的区别 Mybatis中参数传递可以通过#和$设置.它们的区别是什么呢? # Mybatis在解析SQL语句时,sql语句中的参数会被预编译为占位符问号? $ Mybatis在解析SQL语句时,SQL语句中的参数会被当做字符串拼接SQL. 使用#能够防止SQL注入攻击. 那么什么是预编译? 什么是预编译 通常,一条sql在db接收到最终执行完毕返回需要经历三个阶段: 词法和语义解析 优化sql语句,制定执行计划 执行并返回结果 但是如果同样一条SQL,如果只是参数值变了,不需要每次都语法语

VC++编译器预编译头功能(stdafx.h)原理与实践

1 现象 在使用VC++应用向导生成的源码框架时,无论是MFC应用程序,还是Win32窗体程序,都会默认启用"预编译头"功能,自动生成stdafx.h和stdafx.cpp这两个文件.以后向项目中增加源文件时,也自动对该源文件启用"预编译头"功能.要求必须在.cpp文件开头加入 #include "stdafx.h" ,否则编译器就会报错:fatal error C1010:在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#i

ASP.NET 预编译命令(解决发布后第一次访问慢问题)

ASP.NET 编译工具 (Aspnet_compiler.exe) 官方说明 新建bat文件 @echo off   CD /d C:\Windows\Microsoft.NET\Framework\v2.0.50727   aspnet_compiler -p E:\wwwroot\站点主目录 -v /   echo 命令执行成功!   pause 请注意,上面的v2.0.50727代表项目的.NET版本,可根据项目版本替换成以下版本 v2.0.50727 v3.0 v3.5 v4.0.30

26种提高ASP.NET网站访问性能的优化方法 .

1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求. 连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完

理解 ASP.NET 预编译

一.预编译的优点 1. 由于页和代码文件在第一次被请求时无需编译,因此可以缩短对用户的响应时间.这对于更新频繁的大型网站尤为有用 2. 可以在用户看到网站之前识别编译时的 Bug 3. 可以创建站点的已编译版本,并将该版本部署到成品服务器,而无需使用源代码 二.就地预编译与针对部署的预编译 1. 就地预编译 就地预编译网站可以有效执行用户在请求网页时所发生的编译过程.因此,主要的性能改进在于在第一次请求页时无需对该页进行编译. 编译后的文件存放在%SystemRoot%\Microsoft.NE