Wso2 如何限制一个JVM内的资源

Wso2 如何限制一个JVM内的资源,wso2,Wso2,我正在尝试WSO2产品,我正在考虑一个场景,坏代码可能会占用所有的CPU时间(例如死循环等等)。我确实在WSO2上试过,就像在A和B两个租户上试过一样。A的坏代码确实会影响B,B的应用程序会有很长的响应延迟甚至卡住。有没有办法限制租户的CPU使用?谢谢 我的建议是不要在一台应用服务器上运行两个租户。在同一台机器上运行两个单独的进程。更好的方法是,在单独的操作系统级容器(如或容器)中运行两个单独的进程。如果不能使用容器,则可以使用单独的虚拟机 操作系统为您提供了控制CPU使用的工具—rlimit和

我正在尝试WSO2产品,我正在考虑一个场景,坏代码可能会占用所有的CPU时间(例如死循环等等)。我确实在WSO2上试过,就像在A和B两个租户上试过一样。A的坏代码确实会影响B,B的应用程序会有很长的响应延迟甚至卡住。有没有办法限制租户的CPU使用?谢谢

我的建议是不要在一台应用服务器上运行两个租户。在同一台机器上运行两个单独的进程。更好的方法是,在单独的操作系统级容器(如或容器)中运行两个单独的进程。如果不能使用容器,则可以使用单独的虚拟机

操作系统为您提供了控制CPU使用的工具—rlimit和nice用于进程,以及用于容器和VM的特定于实现的工具。因为它们是在操作系统(或虚拟机管理器)中实现的,所以它们能够正确可靠地完成这项工作。应用服务器不可能在任何地方也做到这一点


在任何情况下,让不同的应用程序共享一个应用程序服务器和JVM都是一个可怕的想法,应该在90年代被处死。不需要它,而且它会带来很多潜在的麻烦。

我的建议是不要在一台应用服务器上运行两个租户。在同一台机器上运行两个单独的进程。更好的方法是,在单独的操作系统级容器(如或容器)中运行两个单独的进程。如果不能使用容器,则可以使用单独的虚拟机

操作系统为您提供了控制CPU使用的工具—rlimit和nice用于进程,以及用于容器和VM的特定于实现的工具。因为它们是在操作系统(或虚拟机管理器)中实现的,所以它们能够正确可靠地完成这项工作。应用服务器不可能在任何地方也做到这一点


在任何情况下,让不同的应用程序共享一个应用程序服务器和JVM都是一个可怕的想法,应该在90年代被处死。不需要它,而且它会带来很多潜在的麻烦。

目前,如果您需要完全隔离,您必须将您的环境设置为所谓的private jet模式,其中每个租户都有自己的JVM


在共享环境中,我们有固定的线程检测,这将确保关键线程的运行时间不会超过指定的时间段。我们有计划限制每个租户的CPU使用量。这将在未来的版本中提供。

目前,如果需要完全隔离,您必须在称为private jet模式的环境中设置环境,其中每个租户都有自己的JVM


在共享环境中,我们有固定的线程检测,这将确保关键线程的运行时间不会超过指定的时间段。我们有计划限制每个租户的CPU使用量。这将在以后的版本中提供。

谢谢您的回复,Tom!但是我们关注WSO2的主要原因是它所谓的多租户支持,它允许我们运行来自多个租户的应用程序。如果这不可行,那么WSO2可能不是一个明智的选择。顺便说一句,您说过让不同的应用程序共享一个应用程序服务器和JVM的想法已经被扼杀了。请你推荐一些关于这方面的阅读资料好吗?谢谢在WSO2平台中,这不是所谓的多租户。多租户有两种不同的模式;基于共享资源和环境的机器翻译和完全隔离的机器翻译。我们支持两者。从这两个选项中选择一个是部署选项。我们的用户和客户都使用这两种方法。WSO2产品支持过程中的MT。您可以在WSO2框架内运行非WSO2产品(不支持过程中的MT),受益于PaaS基础服务,包括使用新的弹壳模型。您可以从中了解更多关于所支持的模型。WSO2最近为Apache提供了StalpOS PaaS基金会。@汤姆。是的,我同意你的观点,即应用程序不应该共享容器。我已经看到了一种趋势,即即使是java应用程序也不使用容器。我开始问这个问题的原因是我正在调查进程中多租户的潜力及其利弊。谢谢你的回答,汤姆!但是我们关注WSO2的主要原因是它所谓的多租户支持,它允许我们运行来自多个租户的应用程序。如果这不可行,那么WSO2可能不是一个明智的选择。顺便说一句,您说过让不同的应用程序共享一个应用程序服务器和JVM的想法已经被扼杀了。请你推荐一些关于这方面的阅读资料好吗?谢谢在WSO2平台中,这不是所谓的多租户。多租户有两种不同的模式;基于共享资源和环境的机器翻译和完全隔离的机器翻译。我们支持两者。从这两个选项中选择一个是部署选项。我们的用户和客户都使用这两种方法。WSO2产品支持过程中的MT。您可以在WSO2框架内运行非WSO2产品(不支持过程中的MT),受益于PaaS基础服务,包括使用新的弹壳模型。您可以从中了解更多关于所支持的模型。WSO2最近为Apache提供了StalpOS PaaS基金会。@汤姆。是的,我同意你的观点,即应用程序不应该共享容器。我已经看到了一种趋势,即即使是java应用程序也不使用容器。我开始问这个问题的原因是我正在调查进程中多租户的潜力及其利弊。谢谢,阿法卡姆!对于我们的用例来说,私人飞机模式似乎比进程中的多租户模式更好。您提到了卡住的线程检测,但当我在WSO2AS上使用死循环进行实验时,它没有关闭或杀死线程。我需要在WS2AS上进行一些特殊设置吗?我已经看过文件了,但我可能错过了。文件太多了。您还提到了限制CPU使用的计划,这将在何时实现