文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>网站首次访问速度慢 解决方案

网站首次访问速度慢 解决方案

时间:2011-03-02  来源:孤蝶傲飞

  没办法,只能往MS的编译方向上找了,这时,刚好看到了Artech的《深入剖析ASP.NET的编译原理》,总算找到原因了,编译过程如下:

  • Step1:当ASP.NET收到对于某个Page的Request,根据这个request对应的Url试着找到该page对应的Preservation File,如果没有找到,重新编译Page所在目录下的所有需要编译的文件,同时生成一些额外的文件,包括Preservation File。
  • Step2:然后解析这个Preservation File,通过hash和filehash判断文件自身或者是Dependent File是否在上一次编译之后进行过任何的修改,如果是的,则重新编译。然后重新执行Step2。
  • Step3:通过Preservation File 的assembly attribute Load对应的assembly(如果Assembly还没有被Load的话),通过type获知对应的aspx type,然后借助FastObjectFactory的对应的Create_ASP_XXX创建这个type。这个新创建的对象就是我们需要的Http Handler,在之上执行相应的操作把结果Response到客户端。

  网站在首次收到客户端对某个页面的请求,将会对该页面所在目录下所有需要编译的文件进行编译,而刚好我的网站并没有对功能模块进行分目录,也就相当于对整个网站的页面进行一次编译,速度当然难以接受。找到原因自然就好办了,以模块为单位进行分目录。以下是分目录前后首次访问所耗的时间:

未分目录

已分目录

第一次

33s

12s

第二次

39s

9s

第三次

34s

9s

  从数据上可以看到,效果还是相当的明显,而且数据是在开发模式上做的测试,发布到生产机器上还能进一步减少启动时间。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载