すべてのドキュメントを大規模なcouchdb dbから転送しようとしていますが、開始直後に深刻な速度低下に見舞われたようです. ドキュメントを取得するために使用されるリクエストは次のとおりです。
url = 'http://<ip>:5984/marketwatch_weekly/_all_docs?include_docs=true&limit=4000&skip=%s' % skip
スローダウンのプリントアウトは以下のとおりです。一番右の列は、リクエストが完了するまでの時間 (秒単位) です。その隣の列はスキップ量です。
getting 2018-03-22 20:53:31.523599 16833 364000 89.11844325065613
getting 2018-03-22 20:55:02.698881 17478 368000 89.88783812522888
getting 2018-03-22 20:56:33.738854 19864 372000 90.0836386680603
getting 2018-03-22 20:57:56.869204 21151 376000 82.24904656410217
getting 2018-03-22 20:59:09.616417 23135 380000 72.10899209976196
getting 2018-03-22 21:00:18.940941 24875 384000 68.40224647521973
getting 2018-03-22 21:01:41.423078 25589 388000 81.92294359207153
getting 2018-03-22 21:11:47.979055 6395 392000 605.9177582263947
getting 2018-03-22 21:31:37.420515 1425 396000 1188.589150428772
getting 2018-03-22 21:46:11.717596 0 400000 873.0646567344666
getting 2018-03-22 22:02:38.413917 0 404000 985.686975479126
getting 2018-03-22 22:20:19.832703 0 408000 1060.2585520744324
getting 2018-03-22 22:39:29.712637 0 412000 1148.8915960788727
getting 2018-03-22 22:59:27.880014 0 416000 1197.4601407051086
getting 2018-03-22 23:21:09.851654 0 420000 1300.9372861385345
getting 2018-03-22 23:45:07.953314 0 424000 1436.5531301498413
これを引き起こしている原因と、これを修正するためのヒントを知りたいですか? include_docs を false に設定し、代わりに各ドキュメントにその _id を要求する必要がありますか?
データベースのスキーマも変更しているため、独自のデータ転送スクリプトを使用しているため、レプリケーション ツールを実際に使用することはできません。
ありがとう!