2016-05-09 4 views
0

私はCassandraをテストしており、データベースにデータを挿入するためにC#でプログラムを作成しました。 16GBのRAMと8つのコアを搭載したマシンでテストしました。これは完全に正常に動作し、何も問題なく1.000.000行を挿入したが、それは約80-90秒かかった。Cassandraのバルク挿入文が特定のマシンで動作しない

今私は4GBのRAMと1つのコアを持つ異なる(仮想)マシンで全く同じプログラムをテストしています。私がここでそれをテストすると、約50,000の挿入後にそれ以上は挿入されません(1回は48.000、もう1回は53.000)。

私は、もっと長い時間がかかりますが、それでも1.000.000行の挿入が完了すると予想しています。

基本的にこれは私が、私はエラーメッセージを投稿することはできません何が起こるかのフィードバックを得ることはありません私のコード

private void bt_insert_Click(object sender, EventArgs e) 
    { 
     Connect(); // 
     List<Meter> userList = fillList(); 
     DateTime timeStamp = System.DateTime.Now; 
     session.Execute("insert into meters (ID, ConnectionMeterID, ConnectionMeterRevision, PeriodStart, PeriodEnd, Volume1, Volume2, Volume3, Volume4, Volume5, Volume6, Volume7, Volume8, DataTypeID, FileID, Remarks, QualityScore, LocationID, Removed) VALUES(1,2,3,'2013-04-03 07:01:00', '2013-04-03 07:01:00', 1,2,3,4,5,6,7,8,9,10,'testest',3.2,11,12)"); 
     CloseConnection(); 
    } 

です。私はそのC#が関係しているとは思わない。私はそれが何かを考えるときには、カッサンドラの原因と思う、それは長い時間がかかります。

答えて

2

session.Executeは同期アクションです。実行が終了するとコーディネータからの応答を受け取り、コードは正常です。私は各コールで接続と切断でクラスタをゴミ箱に入れずに、接続を開いたままにします(実際にはパフォーマンスキラー)。 ハードウェアとテストに関しては、同じことをやり直しました。私たちは、あなたのようなスキニーハードウェアでクレイジーロードテストを実行しようとしました。 Cassandraは少なくとも2つのコアを必要とするので、その箱からの奇跡は期待しないでください。あなたはそのボックスで開発をすることができるはずですが、1milの書き込みを期待してはいけません。

+0

本当にありがとうございます。 – Proliges

関連する問題