下载CRM Online Dev环境中的Web资源是否比Prod环境慢?(Is Downloading A Web Resource in CRM Online Dev Environment Slower Than a Prod Environment?)

我有一个Web资源html页面,我在CRM中托管。 它使用Kendo UI,我也将其作为CRM中的Web资源托管。 这是加载页面时的Chrome网络结果:

它一直需要4秒多才能下载620KB的js文件。 这对我来说似乎很慢。 生产环境会更快吗? 有什么方法可以加快速度吗?

I have a Web Resource html page that I'm hosting in CRM. It uses Kendo UI, which I also have hosted as a Web Resource in CRM. This is the Chrome Network results when loading the page:

It's consistently taking 4+ seconds to download the 620KB js file. This seems slow to me. Would a production environment be faster? Is there any way to speed this up?

最满意答案

这里有几个要回答的问题与测试环境的加载和生产相关,这会影响产品是否会更快。 性能是关于如何使用资源的功能,特别是CPU,磁盘,内存和网络。 了解这些资源在现有环境中的使用方式以及产品是否有所不同可以帮助您回答问题。 还存在生产差异的问题。

例子。 a)Dev / QA位于虚拟机上,其中虚拟机主机与其他50个VM共享。 所有对资源的访问都由管理程序仲裁(所有共享,非独占),并且所有人都必须竞争资源。 CPU始终以95%++的速度运行,并且机器始终在交换 - 1Gigabit网络。 在生产中,机器也将在VM上运行,但每台主机至少有4个VM。 它将拥有自己独有的磁盘,网络(10-Gbit),内存和CPU池,不与其他主机共享。 这会影响从磁盘到内存高速缓存的交付链,以便经常请求的项目在线上进行维护。 在没有仲裁的情况下对资源进行更独占的访问可以改善文件(以及所有文件)上的整个交付链

b)在生产CDN与开发/质量保证中没有CDN。 该文件将从您的本地CDN节点提供,或理想情况下从客户端缓存中提供,并为返回访问者提供适当的缓存管理。 这突破了对服务器的请求的长网络链,从磁盘(如果不在请求缓存中)和服务

c)生产中的不同Web服务器与dev / qa。 您正在使用Apache进行测试,但在prod中您将使用nginex。 一个是跑车,另一个是运动赛车。 赛车在交付文件时获胜。

d)压缩和优化。 在prod中,所有文件都被缩小并压缩。 这减少了传递文件的网络窗口以及从磁盘中提取的中断服务。 最终结果,更快地传递此文件以及所有受缩小和压缩影响的文件。

e)产品中的不同主机。 在生产中,您计划将静态文件放在Amazon中,而不是在dev / qa中使用虚拟站点的一台服务器上托管它们。 这为prod提供了更独特的传递途径。 另外,还有亚马逊CDN。

620KB也很重要。 这些天经常发生的事情是很多开发flotsam在通过迭代开发周期推出的代码中积累。 确保您的文件仅包含所需内容而不包含所需文件。 如果这一页不需要某些JavaScript,但下游页面需要这些JavaScript,请考虑在单个页面上将文件分解为较小的块。 这似乎违反直觉,但对于那些从未访问“Page 42”的用户来说,有10个JavaScript函数,他们不得不等待并等待(如果是公共站点可能会放弃),而他们从不需要代码拉了。

较小的文件,仅包含该页面所需的内容,至少在会话期间缩小,压缩和缓存* 2 + CDN将统计您的交付日期。

Although James has an excellent generic answer concerning script download time and environment differences, it doesn't answer the question at hand, will the prod environment be faster than the dev when it comes to downloading scripts?

I ended up moving my example to a production environment and unfortunetly there was no statistical difference between Dev and Prod. Sometimes the Prod env was actually slower than then the Dev.

The interesting thing to note, is that the js file is minified, and it is showing up as 610KB, when the actual size is 1.99MB. MS CRM must be doing some additional compressing in order to further decrease the download size, or Chrome lies...

更多推荐