Mic*_*che 4 java performance osgi
是OSGi适合高性能应用服务器?
OSGi有助于生成高度模块化的应用程序,但由于执行模型与常规Java应用程序不同(因为我了解OSGi应用程序在特定平台上运行,因此对性能的影响Apache Felix).
您在性能方面的不同实现有哪些经验?
谢谢
根据我的经验,将应用程序从非OSGi移动到OSGi环境(使用Felix)对性能没有任何影响.我生产的每个建筑都经过压力测试; 压力测试的结果表明性能没有下降.
它可能取决于您的应用程序的功能.我会对显式的 OSGi概念(例如服务)进行折扣,因为这样的新代码需要您自己的测试,我假设您正在询问对现有POJO代码的影响.
OSGi环境的隐含影响主要是类加载.您可能知道,OSGi要求为每个捆绑包分别使用类加载器,并提供一种将捆绑中的代码连接到其他捆绑包中的依赖项的方法.当bundle中的一个类调用另一个bundle中的一个类时,它是第二个bundle的类加载器,它负责加载第二个类.
这可能是(但可能不会),这个类加载逻辑消耗比在香草的Java环境中使用默认的类加载一些额外的工作.但是,除非您的代码本身不断重新创建和重新加载类,这是不可能的,否则任何性能影响都可能忽略不计.无论如何,这只是理论上的可能性.这取决于您选择的实施尽可能高效.
对内存占用也有很小的影响.最好采用堆转储并使用像mat这样的东西来分析它.
你会花更多的时间从概念上了解OSGi,OSGi容器,工具,版本管理之间的差异以及等待类加载的不同,相信我;)
| 归档时间: |
|
| 查看次数: |
3508 次 |
| 最近记录: |