2016-04-08 7 views
1

私は8プロセッサ、16スレッド(Intel Xeon E5 E5-2630v3)と64GBのRAMを搭載したサーバーを持っています。私は自分のサーバーから最高のパフォーマンスを得たいと思っています。 ビデオファイルを受け入れ、リモートストレージに保存し、ジョブをキューに入れてビデオファイルを処理するJava上にアップロードサーバーを書きたいと思います。しかし問題は、JavaEEがどのようにプロセッサーを使用しているかわかりません。私はJavaサーバーを実行する場合、それは8つのプロセッサーを使用するか、ちょうど1を使用しますか?
すべてのプロセッサ間で負荷を分散する必要があります。このようなもの:
私は同時に10のアップロードがある場合、各プロセッサは1または2の保存作業を行います。
アップロード回数が100回になると、各プロセッサに12または13の保存タスクが適用されます。


マルチプロセッササーバーのパフォーマンスを最大限に引き出すためにTomcatでJavaEEインスタンスを正しく実行するにはどうすればよいですか? TomcatでJEEプロジェクトのインスタンスを1つ実行するか、それぞれにJEEインスタンスを持つ16の仮想マシンを実行する方が良いでしょうか?マルチプロセッサマシン上のJavaEEサーバから最大限のパフォーマンスを引き出すには?

+0

単一のインスタンスだけで結構です:) Javaは複数のコアを使用する方法を知っているのに十分な近代的です。 – Kayaman

+0

JavaEEが1つあります。しかし、これが重要な場合は、安価なステージングサーバーを用意してください。そして、負荷テストなどを行います。 –

+0

ありがとうございました! – Alexandr

答えて

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/

関連する問題