MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Анализиране на бавни заявки в MongoDB

Щастливи сме да обявим на обществеността наличието на нашия бавен анализатор на заявки за MongoDB! С помощта на анализатора на бавни заявки можете бързо да идентифицирате бавни заявки на всеки от сървърите си за определен период от време. По подразбиране „бавните заявки“ се дефинират като заявки, които отнемат повече от 100 мс.

Топлинна карта за бавна заявка

Топлинната карта ви дава бърз визуален преглед на бавните заявки във вашата система. Вертикалната ос на диаграмата е експоненциално време. Това означава, че колкото по-високо е балонът в диаграмата, толкова по-бавна е заявката (по порядък) – така че следете балончетата, които са постоянно в горната част на вашата диаграма. Можете също да щракнете върху балонче, за да видите подробностите за основната заявка.

Заявките от един и същи тип имат същия цвят. Това ви позволява лесно да идентифицирате модели в бавните си заявки. Можете също да изберете части от графиката, за да увеличите мащаба в определен времеви диапазон.

напр. В примера по-горе можете да видите група червени точки, които отнемат 10 секунди+. Можете също да видите, че изпълнението на фонова задача, която се изпълнява веднъж на час, отнема 28 секунди. Можете да щракнете върху точката с данни, за да получите действителната заявка.

Таблица с данни за бавни заявки

Таблицата с данни за бавни заявки ви дава табличен изглед на всички данни за бавни заявки. Таблиците с данни показват няколко важни показатели за бавните ви заявки:

  • Тип - Тип на заявката – заявка, вмъкване, актуализиране, премахване и т.н.
  • База данни и колекция – БД и колекция на заявката
  • Запитване – Действителната заявка с премахнати параметри на заявката
  • Брой – Броят пъти, когато заявката е била стартирана през избрания период от време
  • nСканирани – Броят на сканираните записи в индекса + броя на обектите, сканирани от колекцията
  • Продължителност(мсек) – Средното време за изпълнение на заявката в ms
  • Дължина на отговора (байтове) – Средната дължина на отговора на заявката в резултат в байтове
  • nВърнат - Средният брой документи, върнати при изпълнение на заявката
  • Заключване на четене (микросекунд) – Средното време за заключване на четене в микро секунди
  • Заключване на запис (микро секунди) – Средното време за заключване на запис в микро секунди

Можете да сортирате таблицата с бавни заявки по някоя от горните колони, за да създадете изгледа, от който се нуждаете. Данните от заявката могат също да бъдат изтеглени в Excel за анализ. Щракнете върху връзката „Изтегляне на данни като csv“, за да изтеглите бавните данни от заявката и да направите своя персонализиран анализ в Excel.

За лесно идентифициране на проблемни заявки, ние предоставяме редица вградени изгледи.

Бавни заявки, сортирани по „Най-често“

Този изглед представя (в низходящ ред) заявките, които се изпълняват най-често в системата. Искате да обърнете особено внимание на водещите заявки в списъка. Ако стойността им nScanned е висока или продължителността е висока, трябва да добавите подходящия индекс за тази заявка. Това намалява броя на документите, сканирани от диска.

Бавни заявки, сортирани по „Максимален брой сканирани документи/индекси“

Този изглед представя (в низходящ ред) заявките, които сканират най-много записи в индекса или най-много документи в колекция. Високата стойност „nScanned“ означава, че нямате индекс или нямате правилния индекс. Може да не е възможно да добавите индекс за всяка заявка в системата – но трябва да се уверите, че поне високочестотните ви заявки са добре индексирани.

Бавни заявки, сортирани по „Най-бавна заявка“

Този изглед представя (в низходящ ред) заявките, които отнемат максимално време за изпълнение. Ако заявката се изпълнява много рядко, тогава можете да решите дали искате да я оптимизирате.

Бавни заявки, сортирани по „Максимален брой върнати документи“

Този изглед представя (в низходящ ред) заявките, които връщат най-много резултати. Връщането на много резултати често води до натоварване на мрежата в системата. Трябва също така да се уверите, че връщате само полетата, които са ви необходими от документа, а не всички полета.

Бавни заявки Сортирани по „Заключване на четене“

Този изглед представя (в низходящ ред) заявките, които консумират максимално време за заключване на четене в микросекунди. Ако използвате механизма за съхранение на WiredTiger, това обикновено не е проблем, тъй като WiredTiger използва заключване на ниво документ.

Бавни заявки, сортирани по „Заключване на запис“

Този изглед представя (в низходящ ред) заявките, които изразходват максимално време за заключване на запис в микросекунди. Ако използвате механизма за съхранение на WiredTiger, това обикновено не е проблем, тъй като WiredTiger използва заключване на ниво документ.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. много към много отношения с nosql (mongodb и mongoose)

  2. Как да инсталирате MongoDB 4.2 на системи RedHat/ CentOS 7

  3. MongoDB:Възможно ли е да се направи заявка, независимо от главните букви?

  4. Как да преброите броя на документи в колекция mongodb

  5. Поддокумент за намиране/актуализиране на Mongoose