Анализ журнала отладки Cassandra

У меня есть cassandra debug.log. У него много запросов SELECT *, которые не запускаются ни одним приложением. Приложения запрашивают определенные поля в запросах SELECT, также в запросах есть предложение LIMIT 5000, которого, я уверен, нет ни в одном приложении. Кассандра запускает эти запросы внутри себя? Журнал отладки заполнен такими запросами. Приложение использует драйвер gocql для подключения к cassandra.

<SELECT * FROM table_name WHERE id = 0 LIMIT 5000>, was slow 45 times: avg/min/max 4969/4925/4996 msec - slow timeout 500 msec/cross-node
DEBUG [ScheduledTasks:1] 2021-01-14 18:02:33,271 MonitoringTask.java:152 - 160 operations timed out in the last 5004 msecs:
<SELECT * FROM table_name WHERE id = abcd LIMIT 5000>, total time 7038 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = efgh LIMIT 5000>, total time 5793 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = hijk LIMIT 5000>, total time 5289 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = lmnop LIMIT 5000>, total time 5826 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = qrst LIMIT 5000>, total time 6006 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = uvwx LIMIT 5000>, total time 5905 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = yzabc LIMIT 5000>, total time 5217 msec, timeout 5000 msec/cross-node 
.
..
....
.....
... (110 were dropped)

person guru107    schedule 14.01.2021    source источник


Ответы (1)


Все эти запросы исходят из вашего приложения. Их не делает Кассандра.

Эти сообщения от MonitoringTask регистрируются функцией Cassandra 3.10+, называемой медленным ведением журнала запросов (CASSANDRA- 12403). Ранее я объяснял это в этом посте -- https://community.datastax.com/questions/7835/.

Медленное ведение журнала запросов объединяет запросы, которые заняли больше slow_query_log_timeout_in_ms (по умолчанию 500 мс), в группы 5-секундных окон. В рамках агрегирования столбцы не перечисляются в журнале и вместо этого заменяются звездочкой (*), чтобы их можно было легко сгруппировать.

Кроме того, в драйверах включена подкачка. Если ваше приложение не устанавливает размер страницы, драйверы по умолчанию используют размер страницы 5000 (LIMIT 5000). Это предел, который регистрируется в опубликованном вами сообщении о медленном запросе. Ваше здоровье!

person Erick Ramirez    schedule 15.01.2021