homework 6.6: add tasks 3-4

This commit is contained in:
2022-06-14 10:11:44 +07:00
parent a7c5bd2e6d
commit 93dcd900fd

View File

@@ -72,7 +72,12 @@ db.killOp(opid)
>
> Какие пути решения данной проблемы вы можете предложить?
// todo
Данная проблема, скорее всего, происходит по причине, что по запросу выбирается очень большое количество строк (исчисляется миллионами).
Варианты решения проблемы:
- Переписать запрос на выборку результатов, добавив какие-либо ограничения (например, `limit`);
- Увеличить значение `net_read_timeout` со значения по умолчанию до 60 секунд или больше.
Для более точной локализации проблемы можно использовать журнал ошибок, путь до которого задаётся конфигурацией `log_error`.
### Задача 4
@@ -89,4 +94,10 @@ db.killOp(opid)
>
> Как бы вы решили данную проблему?
// todo
Данная проблема возникает из-за недостатка оперативной памяти. `OOM Killer` - это компонент ядра Linux, призванный решать проблему недостатка памяти.
Таким образом, если настроен `OOM Killer`, то он будет "убивать" процессы, если ОС недостаточно RAM (включая swap).
В таком случае есть несколько вариантов решения:
1. Ограничить количество потребляемой оперативной памяти инстансом БД. Например, следуя следующим [рекомендациям](https://www.enterprisedb.com/postgres-tutorials/how-tune-postgresql-memory).
2. Увеличить количество оперативной памяти для машины. Данный способ, скорее всего, будет являться временным,
так как с увеличением количества данных будет увеличиваться и количество потребляемой оперативной памяти.