502 и ошибку memory leak. Начал тестить локально утилитой loadtest с параметрами 100 запросов в секунду с параллельностью 10. Вылетает даже на странице с одним параграфом, удалял уже и плагины и модули и запросы, все равно вылетает, может тестю не так. Проект большой, много пакетов. В чем проблема может быть?
Проблемы с утечкой памяти могут быть разными. Начиная с нестопнутых setInterval, неправильно подключенного axios с interceptors и заканчивая неправильными мутациями state в store(vuex). В моем проекте одной из причин оказалось - последнее. В action было прямое присвоение, вот так: state.fieldName = someValue; Искал я это при помощи встроенного в хром профилировщика памяти, подключался к ноде и создавал дампы до нагрузки и после, потом сравнивал изменения - появляющиеся в изменениях повторяющиеся массивы и были утечкой.
Ну там будет два снимка, и нужно брать и сравнивать каждый элемент на наличие разницы?
Нет, каждый объект не придется сравнивать. В хроме есть инструмент сравнения - он покажет только разницу, абсолютный прирост новых объектов, которые не были очищены сборщиком мусора
А, нужно сделать снепшот до нагрузки, после, потом во втором зайти в сравнение и там список объектов которые остались, это и есть мусорные Файлы?
Не совсем так. Новые объекты в памяти появятся при получении данных из API например. Это хороший прирост памяти. А вот если через определенное время при нагрузке в одном из изменений пападется повторяющийся массив (одни и те же данные много раз в памяти) - это уже плохо.
Обсуждают сегодня