Mysql
 sql >> база данни >  >> RDS >> Mysql

EC2 Amazon Linux AMI MySQL CPU @ 62% при неактивност?

Единственото нещо, което мога да измисля, е да проверя какво наистина прави mysqld, използвайки strace, като потребител root:

 strace -p 2959

Обикновено strace трябва да блокира незабавно и да ви покаже извикване за select(), защото mysqld трябва да чака връзки.

Обаждането трябва да бъде нещо като:

 select(SOCKETNO, [OTHER_FDs], NULL, NULL, NULL)

особено важен е четвъртият параметър, който е период на изчакване. Ако е NULL, това означава, че mysqld ще спи, докато някой не се свърже. Ако не е NULL, това означава, че mysqld ще изчака определеното време и след това ще извърши известна работа по поддръжката. Много малък период от време може да обясни потреблението на процесора.

Вярвам, че MySQL винаги използва NULL (безкраен) таймаут. Има смисъл и така се държат mysqlds, до които мога да достигна сега.

Възможно е обаче да има някои проблеми с обработката на връзката, които пречат на избраното да заспи отново. Проверете дали това поведение се появява веднага щом mysqld стартира или след като някой се свърже.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обърнете естествения ред на MySQL таблица без ORDER BY?

  2. вземете стойност от базата данни MySQL с PHP

  3. непоследователна история на миграция при промяна на името на приложението django

  4. Кога да използвате ляво външно съединение?

  5. задаване на blob на нула с помощта на PreparedStatement