Mongodb больше ошибок в Windows, чем в Linux - PullRequest
3 голосов
/ 03 января 2012

Я выполняю код ниже C # -

for (; ; )
{
    Console.WriteLine("Doc# {0}", ctr++); 
    BsonDocument log = new BsonDocument();
    log["type"] = "auth";
    BsonDateTime time = new BsonDateTime(DateTime.Now);
    log["when"] = time;
    log["user"] = "staticString"; 
    BsonBoolean bol = BsonBoolean.False;
    log["res"] = bol;    
    coll.Insert(log);
}

Когда я запускаю его на экземпляре MongoDB (версия 2.0.2), работающем на виртуальной 64-битной машине Linux с всего 512 МБ оперативной памяти, я получаю около 5kвставляет с 1-2 ошибками, как сообщает mongostat, через несколько минут.

Когда тот же код запускается на экземпляре MongoDB (версия 2.0.2), работающем на физической машине Windows с 8 ГБ ОЗУ, я получаю 2,5k вставляет около 80 неисправностей, как сообщает mongostat через несколько минут.

Почему в Windows происходит больше ошибок?Я вижу следующее сообщение в журналах: [DataFileSync] FlushViewOfFile не удалось 33 файл

В обоих случаях отключено ведение журнала

Также достаточно 5k вставки на виртуальной машине с 1-2 сбоями достаточно хорошоскорость?или я должен ожидать лучших вставок?

Ответы [ 2 ]

1 голос
/ 03 января 2012
Счетчик сбоев страницы

в Windows - это фактически общее количество сбоев страниц, которое включает как жесткие, так и программные сбои страниц.

Process : Page Faults/sec. This is an indication of the number of page faults that
occurred due to requests from this particular process. Excessive page faults from a    
particular process are an indication usually of bad coding practices. Either the 
functions and DLLs are not organized correctly, or the data set that the application
is using is being called in a less than efficient manner.
1 голос
/ 03 января 2012

Похоже, это известная проблема - https://jira.mongodb.org/browse/SERVER-1163

...