Несколько раз в день на производстве появляется сообщение об ошибке «от Кассандры не получено ответа». Использование ЦП, использование памяти и некоторые другие метрики являются нормальными в конце Кассандры. Также включена трассировка запросов. Для некоторых запросов, которые занимали> 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 для обработки данного запроса? В таком случае могу ли я предположить, что эта большая разница между этими двумя метриками связана либо с задержкой в сети, либо с какой-либо проблемой в конце приложения, а не с кассандрой? Или я должен проверить какие-либо другие метрики Кассандры?