что означает удаление запроса, когда я профилирую mongodb - PullRequest
0 голосов
/ 28 марта 2011
{ "ts" : "Mon Mar 28 2011 23:12:25 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"aae7942d-0a61-4d08-8507-f92c7eebee7f\" } 403ms", "millis" : 403 }
{ "ts" : "Mon Mar 28 2011 23:11:15 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"0b973bcb-52fa-4709-a9bc-47841e51a5ab\" } 171ms", "millis" : 171 }
{ "ts" : "Mon Mar 28 2011 23:11:10 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"0c352958-bcd8-4e28-b9cd-7e7534580eac\" } 223ms", "millis" : 223 }
{ "ts" : "Mon Mar 28 2011 23:11:07 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"0c35c0e5-3460-4192-9094-e4d0fa623470\" } 224ms", "millis" : 224 }
{ "ts" : "Mon Mar 28 2011 23:11:06 GMT+0800 (CST)", "info" : "remove  query: { roleid: \"2d1dedfe-e587-4444-9b3a-3691a4c47fde\" } 18ms", "millis" : 18 }
{ "ts" : "Mon Mar 28 2011 23:11:01 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"ee3bbc78-def4-4b96-8db7-1dd12443707a\" } 325ms", "millis" : 325 }
{ "ts" : "Mon Mar 28 2011 23:10:44 GMT+0800 (CST)", "info" : "remove  query: { taskid: \"7d0d7433-4954-4355-adfa-5af2fd2c3b06\" } 357ms", "millis" : 357 }

Я часто вижу это, когда использую профилирование базы данных, а taskid является индексом коллекции

Я устанавливаю: db.setProfilingLevel (1,50), а затем заглядываю в db.system.profile.find (). sort (ts: -1) .limit (20)

Я видел много страшно длинных казней, таких как {"ts": "Пн, 28 марта 2011 20:42:39 GMT+0800 (CST) "," info ":" удалить запрос: {taskid: \ "495951f5-8042-4a7a-9f09-f65c9e622e28 \"} 361ms "," millis ": 361}

, но в настоящее время яЯ не испытывал необычайно медленных или задержек в моем приложении.

, поэтому я просто удивляюсь, почему так долго и что это такое

вот мой статус таблицы

> db.role_task.stats() 


{ 
        "ns" : "dt_base.role_task", 
        "count" : 17907, 
        "size" : 66267932, 
        "avgObjSize" : 3700.6719160104985, 
        "storageSize" : 86088960, 
        "numExtents" : 11, 
        "nindexes" : 3, 
        "lastExtentSize" : 20872448, 
        "paddingFactor" : 1.4199999999985065, 
        "flags" : 1, 
        "totalIndexSize" : 5496832, 
        "indexSizes" : { 
                "_id_" : 761856, 
                "taskid_1" : 1753088, 
                "roleid_1_taskdbid_1" : 2981888 
        }, 


"ok" : 1 

}

1 Ответ

1 голос
/ 28 марта 2011

Удаление часто происходит медленно (зависит от скорости диска) и не должно вызывать беспокойства, если только ваша база данных не сильно зависит от них.Действие MongoDB по умолчанию - запуск этого удаления в фоновом режиме и одновременное выполнение других операций.Вот почему вы не видите заметных замедлений.

из документации:

v1.3 + поддерживает параллельные операции во время выполнения удаления.Если при одновременном обновлении (в той же коллекции) растет объект, который соответствует критериям удаления, обновленный объект не может быть удален (поскольку операции происходят примерно в одно и то же время, это может даже не удивлять).В ситуациях, когда это нежелательно, передайте {$ atomic: true} в выражении фильтра:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...