Должны ли все узлы Apache Cassandra использовать один и тот же сборщик мусора?

#cassandra #garbage-collection #g1gc

Вопрос:

Недавно я обновил наш кластер Cassandra с 3.11 до 4.0 с долгосрочной целью также обновить версию Java. Я не хотел делать обе эти вещи сразу по очевидным причинам, однако мы были обновлены на C4 чуть более двух недель назад, и я собираюсь обновить версию Java с jdk8 до jdk11, а также перейти с сборщика мусора CMS на G1GC.

Мы хотели получить представление о том, как повлияет переход на G1GC, прежде чем произойдет большой взрыв на всех узлах.

Безопасно ли использовать другой сборщик мусора на разных узлах? или это должно быть что-то настроенное в тестовой среде для мониторинга?

Заранее спасибо.

Ответ №1:

Да! На самом деле это рекомендуемая практика при изменении/тестировании новых типов GC, предполагающая, что вы не можете полностью имитировать производственные рабочие нагрузки в более низкой среде.

Я бы посоветовал переключиться на один или два узла, а затем отслеживать их производительность по сравнению с узлами CMS.

Комментарии:

1. Это то, о чем я думал, так как было бы трудно воспроизвести тип трафика, который мы производим в производственной среде, без переключения на тестовый кластер для его тестирования, что не было бы оптимальной практикой. Спасибо.

Ответ №2:

Логически вы можете это сделать, так как это разные процессы java, запущенные на разных машинах. Фактическое намерение, стоящее за выполнением этого действия, состоит в том, чтобы протестировать сначала необходимо проанализировать влияние на среду тестирования, а затем применить изменения в производстве, если вы найдете подходящие результаты тестирования.

Комментарии:

1. Я понимаю это с точки зрения общего пользования. Однако было бы трудно воспроизвести пропускную способность производственного трафика, который мы генерируем, в зависимости от типа обрабатываемой рабочей нагрузки. Таким образом, любой тест, проведенный в отдельной среде, возможно, либо создаст искаженное представление о цикле GC, либо, что еще хуже, покажет резкое улучшение неправильной рабочей нагрузки, предполагающее, что переключение в производстве было бы полезным…. Если в этом есть смысл.