6

今日、データを挿入し、couchdb に添付ファイルを追加するパフォーマンス テスト プログラムを作成しました。サーバー ソフトウェアは (couchdb のラッパーである) カウチベースであり、オペレーティング システムは Windows 2003 サーバーです。このプログラムは C# で開発されており、couchdb ドライバーは LoveSeat (couchdb を処理するためのいくつかの http メソッドをカプセル化したもの) です。データは非常にシンプルですが、添付ファイルは小さくなく、それぞれ約 70kb です。約200個のアタッチメントがあり、繰り返し付けていました。クライアント プログラムで 5 つのスレッドを開始しました。

couchdb サーバーが予期せず終了するまで、すべてが問題ないように見えました。実際、クラッシュしたのはこれが初めてではありませんでした。最初はクライアントプログラムのせいだと思っていました。しかし、ついにcouchdbがクラッシュしたことがわかりました。データや添付ファイルのせいではないと思います。同じデータを挿入し、同じ添付ファイルを繰り返し追加していたためです。プログラムは、クラッシュするまで問題なく約 1 時間実行されました。

[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.142.0>] 192.168.1.135 - - 'GET' /test/67366 200

[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'GET' /test/7136 200

[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'GET' /test/47306 200

[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'GET' /test/27257 200

[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'PUT' /test/7136/f?rev=1-334efd144dcdc52fd3a3a981dce4472f 201

[Tue, 05 Jul 2011 11:00:25 GMT] [error] [<0.145.0>] ** Generic server <0.145.0> terminating 
** Last message in was {pread_iolist,4294342003}
** When Server state == {file,{file_descriptor,prim_file,{#Port<0.3143>,1464}},
                              0,4295164786}
** Reason for termination == 
** {{badmatch,{ok,<<183,92,29,219,169,127,153,2,50,217,252,186,178,175,202,
                    144,215,209,191,69,109,230,227,154,114,174,173,157,231,
                    153,246,124,105,239,174,51,143,24,108,175,101,215,175,
                    221,35,99,53,124,108,109,249,112,202,29,85,87,81,176,94,
                    219,11,103,129,231,25,111,242,108,246,207,107,72,173,172,
                    57,246,195,16,236,79,243,134,211,93,131,218,180,93,240,
                    173,213,199,226,175,176,217,250,154,89,39,237,157,250,77,
                    173,151,156,139,248,106,85,21,134,253,85,234,108,85,208,
                    67,177,130,124,247,161,98,77,173,126,170,111,80,84,45,
                    212,201,72,149,90,138,252,89,23,85,165,252,105,187,191,
                    41,86,125,148,106,149,175,252,78,185,198,154,207,172,142,
                    148,101,83,140,99,222,102,26,41,131,206,132,221,31,74,3,
                    172,176,158,236,136,71,120,169,63,35,161,251,208,86,202,
                    1,95,208,25,51,76,250,100,182,177,122,31,91,230,249,214,
                    245,229,250,212,118,86,167,120,116,6,173,78,113,18,171,
                    143,215,191,38,207,51,92,150,10,10,83,164,98,154,181,157,
                    ......... a loooooot of numbers. 
4

3 に答える 3

2

このエラーが発生してすみません。この質問をCouchbaseフォーラムに投稿することをお勧めしますか?私たちのサポートクルーは、SOよりも綿密にそれらを監視しています:http://www.couchbase.org/forums/

于 2011-07-05T13:03:00.397 に答える
2

原因が分かった気がします。ファイルサイズが4GBになりました。しかし、この wiki ページによると、Erlang/OTP リリース R14B01 にはこのバグがなくなりました。したがって、couchbase は、R14B01 より前の組み込みのerlang/otp バージョンを使用していると思います。(スタンドアロンの Erlang/OTP R14B03 もマシンにインストールしましたが、使用されていないようでした)

于 2011-07-06T01:32:40.280 に答える
2

最終的な結論:

カウチベース 1.02 は、Windows 2003 32 ビット マシンで 4GB を超えるデータ ファイルをサポートしていません。

カウチベース 2.0 開発者プレビュー バージョンは、Windows 2003 32 ビット マシンで4GBを超えるデータ ファイルをサポートします。しかし、私が知る限り、バージョン 2.0 はバージョン 1.02より少なくとも5 倍遅いです。

このリンク のcouchdb 1.1は、Windows 2003 32ビットマシンで4GBを超えるファイルをサポートしています。ただし、couchbase 2.0と同じくらい遅いです。

Couchdb はWindows では遅すぎます (少なくとも私のユーザーの場合は遅いです)。最後に、mysql を使用してファイルを保存してみました。Mysql は 8 倍高速であることが判明しました。添付ファイルをcouchdbに挿入するのに650ミリ秒かかりますが、mysqlの数はわずか80ミリ秒です。

于 2011-07-06T11:38:49.713 に答える