/ / MYSQL бавни заявки в "лог запитвания" - но същите заявки се изпълняват много бързо ръчно - mysql, sql, database, performance

MYSQL бавни заявки в "бавни заявки дневник" - но същите заявки се изпълняват много бързо ръчно - mysql, sql, база данни, изпълнение

като заглавието гласи, в моята база данни различни заявки се появяват в регистъра на бавните заявки, но когато ги стартирам ръчно, те стартират 10 пъти по-бързо.

например сравнително проста заявка за избор сняколко ред от params отнема често до 100 секунди в дневника (да таблица е много голям) ... но когато го пусна на себе си на същата DB отнема 2 секунди или така.

Изследвах работата на сървъра и нямаше да има някакво забавяне или пречка по това време, нито пък много запитвания отнеха много време в този период, а само едно.

как мога да започна да анализирам такъв проблем?

Благодаря за помощта

Отговори:

5 за отговор № 1

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

Бавният дневник може да показва, че индексите не сае напълно използван, ако rows_examined е по-голям от резултата. Следователно, времето за изпълнение трябва да се счита за представа, че заявката има проблем, но rows_examined ще ви даде повече от един окончателен отговор.

Времето за заявка е слабо измерване на производителността на aсървър с високо натоварване, защото всяка заявка може да е бавна на зает сървър. Трябва да използвате EXPLAIN и SHOW PROFILE, за да профилирате вашите запитвания и да ги подобрявате, така че да не натоварват твърде много сървъра ви.

употреба SELECT SQL_NO_CACHE ... при профилиране на заявки, така че резултатите да не се съхраняват в кеша на заявките, в противен случай следващите изпълнения на една и съща заявка могат да използват кеша за заявки, като изравняват времето на заявка.