我正在尝试提高我们公司网页的加载/渲染速度。部分问题在于一堆 JavaScript 文件。
如果我将 JavaScript 文件(包括它们各自引用的 JavaScript 文件)放在同一个域中的一台非常快的服务器上,那么速度是否会显著提高(我询问而不是尝试,因为尝试将花费相当多的时间)。
如果这能带来巨大的好处,我是否需要为这些文件配备高度优化的文件服务器?还是专用的 IIS 服务器?或者 CDN 可以胜任这项工作?(我知道 CDN 非常适合将大文件放在一起以实现更高效的下载,但它们是否也旨在快速交付文件?)
另外,JavaScript 的页面加载问题主要是下载文件吗?还是处理文件?
答案1
对于您的用户来说,等待时间是
- 从你的主机提供文件,
- 通过网络传输它们,并且
- 在客户端上解释并运行它们。
您的问题集中在 #1 上,但这可能不是最慢的。网络通常比文件系统慢几个数量级,而文件系统又比 CPU 慢。
因此,通过首先关注 #2,您可能可以获得最佳的性能改进。使用 Webpack 或 Gulp.js 等工具打包并缩小您的 Javascript 文件,然后在传输过程中对其进行压缩。
#3 并不直接受您控制,但您可以通过减少要求客户端运行的 Javascript 文件的数量和大小来改进它。
当然,这只是一般情况。要确切知道,你需要进行测试。