207 похожих чатов

Добрый вечер. Столкнулся с тем что начал периодически ловить кратковременную

502 и ошибку memory leak. Начал тестить локально утилитой loadtest с параметрами 100 запросов в секунду с параллельностью 10. Вылетает даже на странице с одним параграфом, удалял уже и плагины и модули и запросы, все равно вылетает, может тестю не так. Проект большой, много пакетов. В чем проблема может быть?

5 ответов

7 просмотров

Проблемы с утечкой памяти могут быть разными. Начиная с нестопнутых setInterval, неправильно подключенного axios с interceptors и заканчивая неправильными мутациями state в store(vuex). В моем проекте одной из причин оказалось - последнее. В action было прямое присвоение, вот так: state.fieldName = someValue; Искал я это при помощи встроенного в хром профилировщика памяти, подключался к ноде и создавал дампы до нагрузки и после, потом сравнивал изменения - появляющиеся в изменениях повторяющиеся массивы и были утечкой.

Ilya- Автор вопроса
Sheldon Cooper
Проблемы с утечкой памяти могут быть разными. Начи...

Ну там будет два снимка, и нужно брать и сравнивать каждый элемент на наличие разницы?

Ilya
Ну там будет два снимка, и нужно брать и сравниват...

Нет, каждый объект не придется сравнивать. В хроме есть инструмент сравнения - он покажет только разницу, абсолютный прирост новых объектов, которые не были очищены сборщиком мусора

Ilya- Автор вопроса
Sheldon Cooper
Нет, каждый объект не придется сравнивать. В хроме...

А, нужно сделать снепшот до нагрузки, после, потом во втором зайти в сравнение и там список объектов которые остались, это и есть мусорные Файлы?

Ilya
А, нужно сделать снепшот до нагрузки, после, потом...

Не совсем так. Новые объекты в памяти появятся при получении данных из API например. Это хороший прирост памяти. А вот если через определенное время при нагрузке в одном из изменений пападется повторяющийся массив (одни и те же данные много раз в памяти) - это уже плохо.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта