我即将开始为我们的产品执行一些性能改进工作.
我们的用户使用非常慢的收音机连接到网络.应用程序的主要瓶颈是网络和数据库.我将专注于减少应用程序的网络足迹.
之前我要开始一些“快速胜利”,然后才能破坏UpdatePanels,删除不必要的内容和其他任何想法.
现在我有几件事我想我已经准备好实施了
这些包括
>减少和组合css Using This
>减少和组合js same as above
从HTML发送到客户端删除多余的空格. Using this
编辑:资产缩小和空白清洁工具在一起工作相当好.
不过我有一些事情我不知道我会如何处理.
>某些微软资源(WebResource.axd?d = blahblah和ScriptResource.axd?d = blahblah)没有被缩小. This和This和其他几个取决于页面. Microsoft.Ajax很好.如果这些文件没有被自动缩小,我该如何手动缩小这些文件?我错过了某个地方吗?
>是否可以将微软资源与我的javascript组合成一个单一的js文件?
> 401错误,在fiddler我可以看到,我的第一次访问网站总是给出一个401错误,它紧随其后的正常200.另外其他资源也将随机在他们的第一个呼叫401.这是某种IIS设置,需要配置为删除此不必要的调用?
> aspx文件中的Javascript.不幸的是,我们的aspx文件中有很多js,还有很多javascript,在我们的代码后面使用ScriptManager.RegisterStartupScript渲染.我将如何在< script>标签在aspx标记?
> Favicon,可以这样吗?如果不是下一件最好的事情呢?
更新
> Mads Kristensen的组合器非常棒.然而,我发现有些页面的问题包括14个axd引用产生404.15错误(查询字符串太长,即只有错误)我的解决方案是gzip和base64编码查询字符串.
>我发现结合我的js包括与.axd文件是一个无效的任务,因为每个页面的.axd文件是不同的.让我的静态js文件分开产生一个额外的服务请求,但它将保持缓存在客户端上,而不是让客户端将这些脚本重新下载为组合的js axd文件的一部分.
>我启用了匿名身份验证.没有更多的问题.
>没有进展.
>我发现把favicon.ico放在根上是必要的.我认为这可能只是因为我的应用程序的设计方式.
解决方法
3)HTTP 401未经授权:您已配置身份验证机制正在执行此操作.如果您启用Windows身份验证但未使用Windows身份验证
4)嵌入式JS:MS AJAX Minifier
http://www.codeproject.com/Articles/81317/Automatically-compress-embedded-JavaScript-resourc
http://stephenwalther.com/blog/archive/2009/10/16/using-the-new-microsoft-ajax-minifier.aspx
对于与您的标记混合的JS,您可以做的不多.您可以使用自己的实用程序从RegEx中解析出ASPX,并创建一个包含其中每个页面的文件,然后将该文件缩小并插入1个脚本引用.捕获SCRIPT标签内的所有内容的正则表达式将最终变得相当复杂,因为像…
<script type="text/javascript"> document.write("<script>Dynamica,RegEx don't stop here -></script>"); </script>
5)Favicon:您可以在您的页面上添加一个LINK标签,该标签用REL =“快捷方式图标”引用,或者您的网站的根目录中有一个“favicon.ico”文件.如果您没有LINK标签,那么浏览器会自动检查您网站根目录下的favicon.ico.