Проверете използването на процесора на MySQL (вътрешно)

Отвън MySQL знам, че мога да направя много неща, за да знам какво е използването на процесора от даден процес, т.е. top.

Но от вътрешна гледна точка бих искал да знам дали е възможно да изпълня заявка от MySQL, за да знам какъв е системният процесор или консумацията на процесора на текущата нишка.

Пускам огромни заявки всяка нощ през програмата за планиране на събития и моят DB сървър се забива на 100% CPU за няколко минути, блокирайки или забавяйки потребителите по целия свят.

Опитах се да проуча начин за ограничаване на използването на процесора по нишка или потребител, но изглежда, че все още не е възможно.

И така, опитвам се да направя нещо в духа на следното в моето събитие:

IF (SELECT CPU_USAGE() > 0.8) THEN
    REPEAT
        SLEEP(0.01);
    UNTIL (SELECT CPU_USAGE() < 0.25)
    END REPEAT;
END IF;

Очевидно CPU_USAGE() не съществува, но ако има нещо подобно, което мога да направя, за да постигна подобен ефект, направо съм на уши. Благодаря.

P.S. Използвам Amazon RDS


person Kevin Jose Martin    schedule 24.03.2014    source източник
comment
Може да е по-лесно/по-добре да ограничите броя на нишките, които вашите задачи могат да използват в даден момент.   -  person Vatev    schedule 24.03.2014
comment
Как би се процедирало това?   -  person Kevin Jose Martin    schedule 27.03.2014


Отговори (1)


Страхувам се, че няма такава опция за избор на опция в MySQL.

Ако сте в командния ред на mysql клиент, можете да извикате командата "top" от вътрешността на MySQL клиента, като използвате тази команда: \! top, но не мисля, че това е това, от което се нуждаете.

Най-добрият отговор вероятно е да използвате UDF от SYS функции. Повече информация тук. Нямам опит да го използвам, но изглежда най-близо до това, от което се нуждаете.

person Cedric Simon    schedule 24.03.2014
comment
Това би било чудесно в идеална ситуация и може би в бъдеще, но съм на Amazon RDS, което за съжаление не ми позволява да импортирам тези UDF. - person Kevin Jose Martin; 27.03.2014