Java / Hectorcassandra-異なるOSでのクライアントの異なるパフォーマンス

ジョセフ・テンバー

Cassandra現在、5ノードのレプリケーション3で1年以上使用しています。

現在のバージョン1.2.12

Cassandra介してレコードを削除するプログラムを作成しましたhector/Java

古いOS(OpenSuSEでは、約2500 ops / secの書き込みパフォーマンスがありました現在、ノードをにアップグレードしていUbuntu 12.04 LTSます。Cassandra触れられていません、それはそれ自身のRAIDシステムを持っています)。そのため、Deleteing-Programmを新しいOSを持つ他のノードに移動します。このノードでは、書き込みパフォーマンスは約ですが70 ops/sec、これは許容できません。

私たちは、同じ使用しているJRE両方のマシンで同じのprogramm-コード。

/etc/security/limits.conf 

同じだ。

遅いマシンでJavaコードをプロファイリングすると、ボトルネックは次のようになります。 org.apache.thrift.transport.TIOStreamTransport.read()

カサンドラの操作を遅くするOS設定があるかどうか誰かが知っていますか?ご協力いただきありがとうございます。


更新:(3日目)

  • kernel 3.5パフォーマンスが低いマシンでも問題ないことに気づきました...検索を続けてください
  • kernel 3.8パフォーマンスの悪いマシン

更新:(4日目)

「OS / kernel-suspicion」が間違っていました/同じカーネルバージョンのubuntuマシンが2台あります/ 1つは高速でもう1つは低速です

...ファイアウォールなし...ネットワークのチェック:P


更新:(5日目)

いくつかのクロステストを実行しました(各ノードを相互に接続しますAllOneConsistencyLevelPolicy)。Cassandra Kernel 3.8+-serversへの接続を使用したcassandra-clientsでさらに問題が発生しましたkernel <=3.5

  • 3.8から3.8いくつか遅い、いくつか速い
  • 3.8から<3.5遅い、速い
  • <3.5から他のいずれか-常に高速

次にどこを検索すればよいかわかりません...ブレーンストーミングを歓迎します;)


まだ遅い...への接続だけlocalhostが(常に)高速です。この現象は、2つの異なるデータセンター(2つの異なるプロバイダー)の2つの異なるクラスターで発生します。したがって、ネットワークインフラストラクチャとは何の関係もない可能性があります。

Cassandrasには、2番目のデータセンター(2.0.6)にも異なるバージョンがあります。

だから私はまだそれがカーネルの問題だと思います...この問題を抱えている人は他に誰もいませんか?


それを見つけました...私たちは非rootユーザーとしてcassandraを実行しています。ubuntuには、開いているファイルの数を制限する追加の「スイッチ」があります。次のスレッドでした。

https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user

引用:[...]

また/etc/pam.d/common-session*、次の行を編集して最後に追加する必要があります

session required pam_limits.so

[...]

トリックをしました。

jbellis

リソース制限とRAID構成が両方で同じであることを確認してください。先読みは、特に一般的に誤って構成された設定です。このページの「setra」を参照してください:http://www.datastax.com/documentation/cassandra/2.0/webhelp/cassandra/install/installRecommendSettings.html

非rootユーザーとして実行されているCassandraを使用するUbuntu専用

また/etc/pam.d/common-session*、次の行を編集して最後に追加する必要があります

session required pam_limits.so

cp。https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

異なるハードウェアでのJavaのパフォーマンス?

分類Dev

異なるOS上のJavaコマンドライン

分類Dev

コメントだけが異なる2つのJavaファイルが異なるクラスファイルを生成するのはなぜですか?

分類Dev

任意のインストールすることなく、異なるプラットフォーム上で実行するには、Javaスタンドアロン実行可能なアプリケーションを作成します

分類Dev

クラスとは異なる名前のJavaファイルをコンパイルできますか?

分類Dev

異なるパッケージからプライベートクラスのオブジェクトを作成するJavaリフレクション、

分類Dev

異なるJavaバージョンをターゲットとするソースコード間のパフォーマンスの違いは?

分類Dev

異なるフィールド名でJavaクラスにAvroファイルをマッピングする

分類Dev

同一のJavaソースがバイナリの異なるクラスにコンパイルされる

分類Dev

Elasticsearch:Javaクライアントが異なるクエリ構文を使用するのはなぜですか?

分類Dev

異なるフォーマットされた答えを得るためにJavaでのSimpleDateFormatクラスのオブジェクトを再利用する方法

分類Dev

異なるネットワーク上のサーバーへのJavaソケットクライアント。

分類Dev

異なるバージョンのJavaオンラインコンパイラ

分類Dev

GroovyのパフォーマンスはJavaとは異なります

分類Dev

具象オブジェクトが異なるコンストラクタパラメータを取る場合のJavaのファクトリ

分類Dev

異なるJavaデコンパイラが異なるソースコードを表示するのはなぜですか?

分類Dev

Javaデバッガーインターフェースの異なるストラタムを実装する

分類Dev

Java 1.7のフォントが1.6と異なるのはなぜですか?

分類Dev

異なるクラスの2つのオブジェクトとJavaの比較フィールドでリストをフィルタリングする方法

分類Dev

Java Swingは、JTextFieldsで複数のフォーカスリスナーを定義する方法ですが、ボタンアクションは異なります

分類Dev

Java8メソッドリファレンス複数の異なるコンストラクター

分類Dev

異なるJavaバージョンでパッケージクラスをコンパイルする

分類Dev

JavaとPythonのHBaseへの並列スキャンリクエストのパフォーマンスは異なります

分類Dev

コンパイルエラーに異なるJavaライブラリのリードで重複するクラス

分類Dev

JavaとNet HTTPクライアントのパフォーマンス

分類Dev

Java8でのシリアライズ可能なラムダのパフォーマンス

分類Dev

Java8でのシリアライズ可能なラムダのパフォーマンス

分類Dev

異なるディレクトリにある別のインスタンスで2つの異なるJavaプログラムをコンパイルして実行する方法は?

分類Dev

Javaの8とJavaの11の間で異なるのデシリアライゼーションの挙動

Related 関連記事

  1. 1

    異なるハードウェアでのJavaのパフォーマンス?

  2. 2

    異なるOS上のJavaコマンドライン

  3. 3

    コメントだけが異なる2つのJavaファイルが異なるクラスファイルを生成するのはなぜですか?

  4. 4

    任意のインストールすることなく、異なるプラットフォーム上で実行するには、Javaスタンドアロン実行可能なアプリケーションを作成します

  5. 5

    クラスとは異なる名前のJavaファイルをコンパイルできますか?

  6. 6

    異なるパッケージからプライベートクラスのオブジェクトを作成するJavaリフレクション、

  7. 7

    異なるJavaバージョンをターゲットとするソースコード間のパフォーマンスの違いは?

  8. 8

    異なるフィールド名でJavaクラスにAvroファイルをマッピングする

  9. 9

    同一のJavaソースがバイナリの異なるクラスにコンパイルされる

  10. 10

    Elasticsearch:Javaクライアントが異なるクエリ構文を使用するのはなぜですか?

  11. 11

    異なるフォーマットされた答えを得るためにJavaでのSimpleDateFormatクラスのオブジェクトを再利用する方法

  12. 12

    異なるネットワーク上のサーバーへのJavaソケットクライアント。

  13. 13

    異なるバージョンのJavaオンラインコンパイラ

  14. 14

    GroovyのパフォーマンスはJavaとは異なります

  15. 15

    具象オブジェクトが異なるコンストラクタパラメータを取る場合のJavaのファクトリ

  16. 16

    異なるJavaデコンパイラが異なるソースコードを表示するのはなぜですか?

  17. 17

    Javaデバッガーインターフェースの異なるストラタムを実装する

  18. 18

    Java 1.7のフォントが1.6と異なるのはなぜですか?

  19. 19

    異なるクラスの2つのオブジェクトとJavaの比較フィールドでリストをフィルタリングする方法

  20. 20

    Java Swingは、JTextFieldsで複数のフォーカスリスナーを定義する方法ですが、ボタンアクションは異なります

  21. 21

    Java8メソッドリファレンス複数の異なるコンストラクター

  22. 22

    異なるJavaバージョンでパッケージクラスをコンパイルする

  23. 23

    JavaとPythonのHBaseへの並列スキャンリクエストのパフォーマンスは異なります

  24. 24

    コンパイルエラーに異なるJavaライブラリのリードで重複するクラス

  25. 25

    JavaとNet HTTPクライアントのパフォーマンス

  26. 26

    Java8でのシリアライズ可能なラムダのパフォーマンス

  27. 27

    Java8でのシリアライズ可能なラムダのパフォーマンス

  28. 28

    異なるディレクトリにある別のインスタンスで2つの異なるJavaプログラムをコンパイルして実行する方法は?

  29. 29

    Javaの8とJavaの11の間で異なるのデシリアライゼーションの挙動

ホットタグ

アーカイブ