我需要提高在具有6GB ram的vm中运行的Liferay 6.2门户的性能。将Xmx和Xms增加到3GB以上没有帮助。
所以我偶然发现了Liferay用户指南中的这一段:
请注意,内存回报率是递减的,尤其是在64位系统中。这些系统允许您创建非常大的JVM,但JVM越大,垃圾收集所需的时间就越长。因此,您可能不想创建大小超过2GB的JVM。要在单个系统上利用更大的内存,请运行Liferay的多个JVM。
现在,我如何运行Liferay的多个JVM?我的意思是,我可以轻松地在不同的端口(比如8080和8082)上运行两个Tomcat,但我想这两个实例必须以某种方式链接起来?
方案:
(我知道这不是门户网站的场景,但客户想要它并且相当抗拒建议)
加载页面最多需要45秒,用户才能登录。我不能给你vm(运行CentOS的Hyper-V)的规格,但它不会是什么了不起的东西(阅读低预算)。
谢谢,法比
我需要重新排列我的陈述——如果这打乱了故事流程,对不起。
首先也是最重要的是,在一个只有一个页面和5个用户的系统上,当你设置一个集群时,你将一无所获。回答时间为45秒,你在另一个地方遇到了严重的问题,而不是你现在想的地方。至于你提供的信息,人们只能猜测——但即使这样也不是一个好的猜测——这些问题在哪里。他们当然不需要二审。我会纠正文件中过于具体的陈述。
这就结束了你最初问题的答案,即潜在的和假设的问题。万一你——或其他人——将来真的需要一个集群并想建立它,我将剩下的答案留在这里。它不适用于你的情况。
如果2G max的全面声明对您适用,您必须自己衡量。有些门户是内存限制的,有些是CPU限制的,有些是I/O或数据库限制的。您必须自己检查是什么限制了您特定应用程序的性能。您可能需要查看Liferay的性能白皮书(可在客户门户上获得,因为您似乎是EE订阅者)并确定您的应用程序的性质,以及您可以期望什么样的性能。
如果您的门户是CPU受限的,那么同一个VM上的两个门户将毫无帮助。你应该看看实际的瓶颈并解决它。45秒的应答时间——除非是在非常高的负载下——表明了一个我无法想象用集群解决的问题。
有关设置集群的文档,您可能需要查看《用户指南》中的说明或新beta文档网站上的可用资料https://dev.liferay.com
另外,几天后(我正在后期制作中),我将发布一个关于应用程序性能监控的Radio Liferay插曲,未来可能还会发布一系列关于这个主题的插曲(计划中)——目前排在第三位——可能是第44集。
此外,集群是系统管理培训中的一个(几乎全天)主题。最后,正如你提到的EE,有一个针对EE的集群插件,优化正在进行的集群通信。但是请注意,在集群中运行两个实例可能需要两个EE订阅。我在这里提到这一点是为了完整性,不是因为我认为这个插件对你的情况有帮助。
在我写完所有这些之后,我发现你在与Liferay相同的机器上运行Oracle——使用这种配置,如果你坚持使用6G RAM,同一台机器上的另一个Liferay实例肯定不会有帮助。事实上,性能不佳的原因可能是虚拟内存的利用率:一旦服务器将内存分页到磁盘,您就完蛋了。请注意,执行分页的可能是VM来宾,甚至是VM主机。如果两人同时交换内存,那你就是一大堆吐司。
我有一个这样的运行测试类。 我有4个cucumber功能文件在src/test/资源/功能。当我尝试运行此测试(4个cucumber功能)时,我得到了错误: 我试着给Cucumber选项一个完整的路径,但效果不太好。有人能帮我吗?非常感谢。
所以,如果我们只想在Liferay startup上运行一些东西,我们可以使用其他一些答案中描述的技术,比如下面。然而,为了使用OS管理表达式来表达自己,它提供了“自动运行”功能。每次启动Liferay时,此代码都会运行。这对于portlet初始化和其他工作非常有用,每次启动Liferay时都需要执行这些操作。 但是,我想知道的是,Liferay中是否有“运行一次”功能?那么,有没有一种方法可以指
问题内容: 在我的我有这两个脚本: 每当我开始在Node.js中开发时,我必须 并行 运行这两个脚本。我想到的第一件事是添加第三个脚本,如下所示: …但这将等待完成再运行。 如何并行运行它们? 请记住,我需要查看以下命令。另外,如果您的解决方案涉及构建工具,则我宁愿使用,因为我已经在另一个项目中使用了它。 问题答案: 使用并发调用的包。 然后按以下步骤设置您的任务:
在我的中有以下两个脚本: 每次在Node.js中开始开发时,我都必须并行运行这两个脚本。我首先想到的是添加第三个这样的脚本: ...但在运行之前,将等待完成。 我如何并行运行这些?请记住,我需要查看这些命令的。另外,如果您的解决方案涉及构建工具,我宁愿使用而不是,因为我已经在另一个项目中使用了它。
一个spark有一个oracle查询。所以我必须并行运行多个作业,以便所有查询都将同时激发。 如何并行运行多个作业?
问题内容: 如何在一台机器上运行多个JVM?您如何在其他JVM中调用方法? 问题答案: 如何在一台机器上运行多个JVM? 只需启动多个进程即可。 您如何在其他JVM中调用方法? 使用任何类型的RPC框架(RMI,EJB,Web服务等)。