如何从多处理器计算机上的JavaEE服务器获得最大性能?

时间:2016-04-08 09:37:33

标签: java multithreading tomcat multiprocessing multicore

我的服务器有8个处理器,16个线程(Intel Xeon E5 E5-2630v3)和64GB RAM。我想从我的服务器获得最大的性能。 我想在Java上编写一个上传服务器,它将接受视频文件,存储在远程存储器中并将作业放入队列来处理视频文件。但问题是我不知道JavaEE如何使用处理器。如果我运行java服务器,它将使用8个处理器或只使用1个? 我需要在所有处理器之间平衡工作负载。这样的事情:
如果我同时上传了10个,那么每个处理器将有1个或2个保存任务 如果我同时有100个上传,那么每个处理器将有12或13个保存任务。

如何在tomcat上正确运行JavaEE实例以获得多处理器服务器的最大性能?在tomcat上运行一个JEE项目实例或者在每个上运行16个具有JEE实例的虚拟机更好吗?

1 个答案:

答案 0 :(得分:2)

操作系统应该负责在所有可用的处理器和线程上安排作业。无需将Tomcat或任何其他服务器配置为使用多个处理器。 虽然,服务器上运行的代码可以使用专门设计用于利用多核系统的最新Java API来实现。 一些参考文献(未经测试) https://dzone.com/articles/building-multi-core-ready-java http://www.theregister.co.uk/2014/03/20/java_8_security_multi_core/