Я заметил, что кто-то задал этот вопрос здесь (slow inserts into a capped collection?), но никакого лучшего ответа.написать данные в ограниченную коллекцию слишком медленно
журнал с ударом - мой сборный ввод вставки.
Tue Apr 30 13:12:19.172 [conn870] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:53 872ms
Tue Apr 30 13:12:19.175 [conn1093] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:70 1792ms
Tue Apr 30 13:12:19.182 [conn843] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:245206 256ms
Tue Apr 30 13:12:19.690 [conn886] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:64 1392ms
Tue Apr 30 13:12:19.691 [conn1087] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:55 512ms
Tue Apr 30 13:12:19.692 [conn922] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:63 1874ms
Tue Apr 30 13:12:19.693 [conn937] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:503479 511ms
Tue Apr 30 13:12:19.694 [conn879] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:63 1776ms
Tue Apr 30 13:12:20.475 [conn879] insert shopbot_slurp.requestLogs ninserted:1 keyUpdates:0 locks(micros) w:82 779ms
........
я бегу приложение, которое будет автоматическое ведение журнала операций, что означает, что есть много лога нужно писать в БД от запроса клиента.
> db.requestLogs.stats();
{
"ns" : "shopbot_slurp.requestLogs",
"count" : 1105917,
"size" : 192024340,
"avgObjSize" : 173.63359094760276,
"storageSize" : 209719296,
"numExtents" : 1,
"nindexes" : 0,
"lastExtentSize" : 209719296,
"paddingFactor" : 1,
"systemFlags" : 0,
"userFlags" : 0,
"totalIndexSize" : 0,
"indexSizes" : {
},
"capped" : true,
"max" : NumberLong("9223372036854775807"),
"ok" : 1
}
>db.system.namespaces.find()
{ "name" : "shopbot_slurp.requestLogs", "options" :
{ "create" : "requestLogs","capped" : true, "size" : 209715200, "autoIndexId" : false } }
ниже мой код вставки:
var doc = new BsonDocument()
{
{"url",url},
{"verb",verbs},
{"action",action},
{"time",DateTime.Now}
};
var collection = this._database.GetCollection(RequestLogCollectionName);
collection.Insert(doc, WriteConcern.Unacknowledged);
MongoDB: 2.4.2
водитель MongoDB: c# 1.7
спасибо за некоторое предложение.