@Alk90
php, mysql, jquery, css, html, api

Почему долго выполняется простой запрос?

Всем привет! Подскажите, почему вот этот запрос выполняется 22мс:
UPDATE `users` SET `last_visited` = '2019-08-22 12:38:46' WHERE `id` = 13550

Поле last_visited - timestamp. Передавать пробовал не только дату, но и CURRENT_TIMESTAMP и NOW() - результат тот же
У таблицы есть индексы Primary (поле id) и index (поле login).
В таблице всего 8к записей
Explain показывает такое:

5d5c8417c251a962714044.png

Профилирование:

5d5c8f720487c645131376.png
  • Вопрос задан
  • 4391 просмотр
Пригласить эксперта
Ответы на вопрос 4
@vitaly_il1
DevOps Consulting
1.
запрос выполняется 22мс:
-  Я бы проверил более реалистичный сценарий - сколько времени занимает выполнение ХХ запросов - например, с помощью https://dev.mysql.com/doc/refman/8.0/en/mysqlslap.html
2. Сколько индексов в этой таблице?
3.
CentOS, AMD 8 ядер (не помню модель), оперативы 64 гига, диски SSD
- какой innodb_buffer_pool_size?
4. давайте проверим время выполнения с "insert" вместо update
Ответ написан
syn_binlog=0 и innodb_flush_log_at_trx_commit=2 поставьте.
Сообщите результат пожалуйста.
Ответ написан
@p1rat495
Посмотри коннект к бд. Как вариант — подключись к ней по ip, если подключаешься через имя хоста
Ответ написан
tyzhnenko
@tyzhnenko
System Administrator, DevOps, QA Engineer
Пробовали ли использовать разные IO планировщики?
Если есть свап на сервере, сколько страниц mysql в свапе? Попробовали провести тест с выключенным свапом?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы