Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 09.09.2013
Сообщений: 23

C# и MongoDb, бест практик обновления документов?

12.02.2019, 14:52. Показов 1206. Ответов 0

Студворк — интернет-сервис помощи студентам
Всем привет! столкнулся с такой проблемой:
Есть коллекция в Монго, сейчас в ней 227750 документов. сигнатура документа такая:
JSON
1
2
3
4
5
{
    "_id" : ObjectId("5c5d4c3a086dad5e5ab8d397"),
    "Uid" : "SomeiDString",
    "SomeTextField" : "SomeText"
}
индексы - два поля:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    {
        "v" : 2,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "db.mycollection"
    },
    {
        "v" : 2,
        "unique" : true,
        "key" : {
            "Uid" : 1.0
        },
        "name" : "Uid_1",
        "ns" : "db.mycollection",
        "background" : true
    }
В шарпе выполняю асинхронный UpdateOneAsync, по фильтру Uid, апдейчу "SomeTextField".

C#
1
2
3
4
5
6
7
8
9
10
        private async Task<bool> PutSomeTextMongoDb(string Uid, string SomeText)
        {
            var collection = database.GetCollection<User>(MONGO_DB_COLLEСTION);
            var filter = Builders<User>.Filter.Eq("Uid", Uid);
            var update = Builders<User>.Update.Set("SomeText", SomeText);
            var option = new UpdateOptions{ IsUpsert = true};
            var result = await collection.UpdateOneAsync(filter, update, option);
 
            return result.ModifiedCount != 0;
        }
Проблема заключается в том, что на 5000 запрсов среднее время выполнения всякой логической обработки и записи в монго хорошо 2-3 мс, но у некоторых обращений в монгу время заметно вырастает - запрос на добавление в монгу и получение от неё ответа доходит до 1000 мс. С чем может быть это связано? Может ли быть какой-то lock при апдейте, или может когда монга делает flush на диск, там копится некая очередь?

mongostat и mongotop ответов не дали...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2019, 14:52
Ответы с готовыми решениями:

агент обновления документов
Подскажите, я полный ноль в агентах.... Это мой первый агент Мне нужно залезть во view, достать доки и обновить их veiw содержит ...

Mongodb, Mongoid как ускорить запись данных в Mongodb
Добрый вечер всем! Мне нужно записать в Mongodb 2.000.000 рядов информации, по очереди, один за одним, перед записью програма проверяет...

как реализовать аутентификацию на mongodb используя gem devise (mongodb + Rails + devise)
как реализовать аутентификацию в mongodb используя gem devise? в роутах у меня есть devise_for :user; когда пишу в rake routes, то...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2019, 14:52
Помогаю со студенческими работами здесь

Проблемы с работой Бест-Звит for Oracle
На одной из машин где стоит клиентская часть Бест -Звит for Oracle такая проблема не формируются реэстры в информационно-аналитической...

Как правильно составить файл импорта *.zdi для Бест-звита?
Народ!! Подскажите, как правильно составить файл импорта *.zdi для Бест-звита? Может, где-то кто-то встречал рабочий пример из нескольких...

Отбор по банковскому счету документов в журнале документов (банковская выписка)
Добрый день! Подскажите, пож, как правильно написать код для отбора по банковскому счету документов в журнале документов (банковская...

Windows 7 не обновляется: Центр обновления часами ищет обновления, и ничего не происходит
Возникла такая вот проблема, не обновляется Windows 7 Установлена на компе win7 максимальная sp1, виндой пользуюсь очень давно и...

После перезагрузки, затребованной Центром обновления для начала установки обновления, установка не начинается
Центр обновления Windows все время требует перезагрузки для установки обновления. Перезагружаюсь, но ничего не устанавливается, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru