博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Liferay优化提速
阅读量:6222 次
发布时间:2019-06-21

本文共 1504 字,大约阅读时间需要 5 分钟。

hot3.png

因为我们应用是运行在Liferay 应用服务器上的,所以对于服务器进行一些优化当然是我们最先想到的。

之前我们也做了很多测试, 因为liferay会有css-fast-load,和 js-fast-load,这些参数会吧若干个css文件或者若干个js文件合并成单个大文件,这样可以显著的减少网络的IO开销次数,我们开发为了方便 调试,当然是需要让这些文件都不合并,这样我们可以方便的进行调试,但是在DEMO服务器,我们显然还是吧他们合并为好,所以我们在portal- ext.properties上进行了如下的配置:

如图所示,就是把theme,javascript这些fast load 从false变为true.

当然了,我们开发阶段使用的一般是ext-all-debug.js,我们为了提高性能,会使用ext-all.js来代替ext-all-debug.js。

对于多数Http请求来说,如果我们能让他们以压缩文件的形式提供这些资源的话,也会极大的提高效率。我们只要开启Gzip,然后就可以减少下载这些资源所占用的网络传输时间。

为了进行比较,我们先给个截图,这是没有启用Gzip的情况:

从这里可以看出,在启用Gzip之前,下载ext-all-debug.js需要2.8MB这么大的文件,需要用时1.53秒。

然后我们就配置Gzip Filter,为此需要做2个步骤:

(1)在$LIFERAY_HOME/portal-ext.properties文件中启用GzipFilter的功能如下:

(2)在$TOMCAT_HOME/conf/server.xml中,因为我们要测试的页面部署在8080端口上,所以我们找到8080端口的连接器(Connector),然后启用gzip ,具体就是加入以下参数:

compression="on"

compressionMinSize="2048"

noCompressionUserAgents="gozilla,traviata"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/png,image/jpg"/>

这里我们可以很明显的看出来,我们启用了compression,然后我们定义了需要压缩的资源类型,用compressableMimeType属性,所以这里所有我们能想到的前端资源都在这个类型列表中。

最后,我们打开Firebug进行再次测试,作为结果的比较,果然性能提升很大:

从这我们不难看出,现在的Resource HeaderContent-Encoding被设置成了gzip,所以这表示我们的gzip的功能已经被正确的开启,然后我们发现ext-all-debug.js的尺寸从2.8MB缩小成了只有550KB,而且网络的传输时间从1.53秒缩短到了906毫秒,几乎减少了40%的下载时间,其他的资源也都相应的下载时间有了大幅度的减少。可见效果很明显。

-------------------------------------------------------------------------------------------------------------------------------

由于实际项目中,user_表的数据通常很多,所以需要在user_表的userId字段上加索引。

转载于:https://my.oschina.net/yq0128/blog/638686

你可能感兴趣的文章
JetBrains发布WebStorm 2016.2,改进对TypeScript和React的支持
查看>>
国内首例:飞步无人卡车携手中国邮政、德邦投入日常运营
查看>>
深入理解浏览器的缓存机制
查看>>
7道常见的数据分析面试题
查看>>
《反脆弱边缘:反脆弱实践》访谈
查看>>
敏捷世界里中层经理的角色
查看>>
微服务现状综述
查看>>
使用试验和数据创新并构建客户真正使用的产品
查看>>
Kubernetes 1.14重磅来袭,多项关键特性生产可用
查看>>
Google发布Tensor2Tensor for TensorFlow
查看>>
微服务的漫长历史
查看>>
专访黄翀:东方航空到底用MongoDB做了什么,技术选型为何花落MongoDB?
查看>>
Keras之父:比特币网络危机重重
查看>>
深入理解JUnit 5的扩展模型
查看>>
Apache Ignite(四):基于Ignite的分布式ID生成器
查看>>
高效运维最佳实践(02):员工的四大误区及解决之道
查看>>
.NET Core完成向RyuJIT的迁移
查看>>
为何百度、智链、蚂蚁金服,纷纷压注区块链溯源?
查看>>
关于HTTPOXY漏洞的分析说明
查看>>
Visual Studio 2017 15.5预览版添加对F# Core及Standard的支持
查看>>