加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 对Mono XSP托管的Web应用程序的第一次浏览器请求

发布时间:2020-12-16 09:35:46 所属栏目:asp.Net 来源:网络整理
导读:我们使用Mono(2.10)XSP4网络服务器来托管在开放式嵌入式 Linux(ARM)上运行的ASP.Net MVC3 Web应用程序.启动XSP4时,它需要几秒钟才能准备好并接受请求.到目前为止没问题. 但是当来自浏览器/网站访问者的第一个请求被XSP4使用所有CPU时,它可以获得大约55秒,直
我们使用Mono(2.10)XSP4网络服务器来托管在开放式嵌入式 Linux(ARM)上运行的ASP.Net MVC3 Web应用程序.启动XSP4时,它需要几秒钟才能准备好并接受请求.到目前为止没问题.

但是当来自浏览器/网站访问者的第一个请求被XSP4使用所有CPU时,它可以获得大约55秒,直到网页(在网络浏览器中)成功显示.每次启动/重新启动XSP后都会发生这种情况.

我的第一个想法是,这是整个网络应用程序的及时编译.所以我构建了一个只包含二进制文件,.css,.js和视图(.cshtml)的部署包.它工作但仍然有这个巨大的延迟.

然后我尝试使用Visual Studio预编译该Web应用程序(如一些Mono发行说明中所述).该网站再次运作良好,但仍存在巨大延迟.

实际上在我脑海中的一些问题:

>当第一个浏览器请求进入时,是否有人知道XSP网络服务器正在做什么?这是即时编译,即使它是一个预编译的Web应用程序?
>为什么每次重新开始后都会这样做?
>一般可以以某种方式减少巨大的延迟吗?
>是否可以减少巨大的延迟,因此只有在Web应用程序更新(在后续的XSP运行之间缓存)后的第一个浏览器请求中才能完成?

任何帮助/想法都会很棒.

更新:同时我发现延迟是由Mono / ASP.Net编译器构建并将MVC3 razor视图编译到/tmp/root-aspnet…/中引起的,该视图映射到内存,因此不是持久性的.我现在正在寻找一种方法来控制XSP4 / Mono.WebServer / Mono-Asp.Net存储这些编译文件的位置.如果有人熟悉这个让我知道;-)

解决方法

这可能是本机编译开销(与预编译的开销分开).您可以检查 AOTing the system libraries是否为您提供加速:

mono --aot /usr/lib/mono/1.0/mscorlib.dll
for i in /usr/lib/mono/gac/*/*/*.dll; do mono --aot $i; done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读