Google Stackdriver Profling: как понять этот профиль - PullRequest
2 голосов
/ 25 февраля 2020

Wall Time CPU Time Я прикрепил два профилировщика Google Stackdriver для нашего внутреннего сервера. Бэкэнд API просто пытается сначала прочитать из Memcache, если он не существует или имеет ошибку тайм-аута, а затем извлечь данные из большой таблицы.

Основываясь на профилях времени стены и времени процессора, я бы хотел знать

  1. Почему процесс libjvm_so потребляет столько (45,8%) процессорного времени, потому что сервер выделяет много памяти, что вызывает сборку мусора с использованием большого количества процессоров?
  2. Временной профиль показывает, что 97% времени потока ожидает ресурс, я полагаю, что он ожидает, когда Memcache / сервер больших таблиц вернет данные, это правда? Значит ли это, что серверу не нужно так много процессора? (в настоящее время 16 процессоров со средней загрузкой 35%)
  3. Есть еще какие-нибудь идеи? Где можно улучшить et c?
...