Тайм-аут запроса на чтение Кассандры - PullRequest
0 голосов
/ 10 октября 2019

Несколько раз в день на производстве появляется сообщение об ошибке «от Кассандры не получено ответа». Использование ЦП, использование памяти и некоторые другие метрики являются нормальными в конце Кассандры. Также включена трассировка запросов. Для некоторых запросов, которые занимали> 300 мс (миллисекунд) (на основе метрик приложения), я вижу <50 мс как продолжительность сеанса (system_traces.sessions.duration). Я вижу огромную разницу между этими двумя метриками (пожалуйста, проверьте ниже). </p>

Идентификатор клиентского запроса (зависит от приложения) - общее время выполнения запроса на стороне клиента - system_traces.sessions.duration (конец cassandra)

bmevunr0ubtt05qgvh00 - 388.277292ms - 54ms

Bmf0ok8g4d6se7uejdug - 871,868281 мс - 3 мс

Bmf5qbtr3pq8k403vo80 - 470,003426 мс - 15 мс

Bmf1dnlr3pq8k4

876 * 871016 * Bmfcmgog4d6se7umra80- 385.042227ms - 30 мс

Bmfal0dr3pq8k4072gtg- 325.566124ms - 8 мс

Только для нескольких запросов это время выполнения велико. В 99% случаев задержка составляет 25 миллисекунд, и разница между вышеупомянутыми 2 метриками невелика.

Задержка выполнения запроса:

P99: 23 мс, P95: 6 мс, Avg: 3,2 мс, макс: от 200 мс до> 2 с [Здесь огромная разница] Скорость запроса: 3k в минуту

Использование cassandra-3.0.15. Заявка написана на Голанге. Использование gocql для связи с кассандрой. Тайм-аут на стороне клиента 2 с.

Является ли system_traces.sessions.duration точным общим временем, потраченным на экземпляре cassandra для обработки данного запроса? В таком случае могу ли я предположить, что эта большая разница между этими двумя метриками связана либо с задержкой в ​​сети, либо с какой-либо проблемой в конце приложения, а не с кассандрой? Или я должен проверить какие-либо другие метрики Кассандры?

...