我需要提高Liferay 6.2门户的性能,该门户在6GB RAM的vm中运行。将Xmx和Xms增加到3GB以上也无济于事。
所以我在Liferay User-Guide:
中偶然发现了这一段请注意,存在一种内存收益递减规律,尤其是 64位系统。这些系统允许您创建非常大的 JVM,但JVM越大,垃圾所需的时间就越多 收集发生。出于这个原因,你可能不会想要 创建大小超过2 GB的JVM。 利用更高的优势 单个系统上的内存量,运行Liferay的多个JVM 代替
现在,我将如何运行Liferay的多个JVM?我的意思是我可以轻松地在不同的端口上运行两个tomcats(如8080和8082),但我想这两个实例必须以某种方式连接?
情景:
(我知道这不是门户网站的场景,但是客户想要它并且对建议有抵抗力)
在用户登录之前,加载页面需要45秒。我无法为您提供vm(运行CentOS的Hyper-V)的规格,但它不会令人惊叹(读低预算)。
谢谢,〜法比
答案 0 :(得分:1)
我需要重新安排我的陈述 - 如果这会弄乱故事情节,那就很抱歉。
首先,在具有单个页面和5个用户的系统上,您在设置群集时无法获得任何收益。如果回答时间为45秒,则在另一个地方遇到严重问题,而不是您目前的想法。至于您提供的信息,人们只能猜测 - 但即使这不是一个很好的猜测 - 这些问题在哪里。他们当然不需要第二个实例。而且我会在更正的文档中得到过于具体的声明。
这结束了您原始问题的答案,即潜在的和假定的问题。万一你 - 或其他任何人 - 真的将来需要一个集群并想要设置它,我在这里留下我的其余答案。它不适用于您的情况。
如果2G max的一揽子索赔适合您,您必须自己测量。有些门户是内存绑定的,有些是CPU绑定的,有些是I / O或数据库绑定的。您必须自行检查限制特定应用程序性能的因素。您可能需要查看Liferay的性能白皮书(可在客户门户网站上找到,因为您似乎是EE用户)并确定应用程序的性质以及您可以期待的性能。
如果您的门户网站受CPU限制,则同一虚拟机上的两个门户网站根本无法帮助 。你应该看看实际的瓶颈并解决它。 45秒的应答时间 - 除非在非常高的负载下 - 指向一个我无法用集群解决的问题。
有关设置群集的文档,您可能需要查看新版Beta文档网站User's Guide上的https://dev.liferay.com或可用资料中的说明
此外,在几天之内(我在后期制作中)我将发布关于应用程序性能监控的Radio Liferay一集,并且将来可能会发布关于此主题的一系列剧集(计划中) - 它目前在队列中排名第3 - 可能是第44集。
此外,群集是System Administration Training中的一个(几乎全天)主题。最后,当你提到EE时,有一个clustering plugin for EE,优化了正在进行的集群通信。但请注意,您可能需要两个EE订阅才能在群集中运行两个实例。我在这里提到完整性,并不是因为我认为这个插件对你的情况有帮助。
在我写完所有这些之后,我发现你在与Liferay相同的机器上运行Oracle - 使用这种配置,如果你坚持使用6G RAM,那么同一台机器上的另一个Liferay实例肯定无济于事。事实上,性能不佳的原因可能是虚拟内存的使用:只要您的服务器将内存分页到磁盘,您就会进行烘烤。请注意,VM guest虚拟机甚至VM主机可能都是执行分页的主机。如果两者都在同时交换记忆,那么你就是一大堆吐司。