i'm micro devops

This commit is contained in:
Илья Макаров 2024-11-29 15:02:41 +03:00
parent 37d88ee1a8
commit d73ccc8eac
7 changed files with 69 additions and 2 deletions

View File

@ -75,3 +75,12 @@ FROM pg_stat_activity;
psql -U postgres -t -c "SELECT datname FROM pg_database WHERE datistemplate = false;"
psql -U postgres -d postgres -c "SELECT datname FROM pg_database WHERE datistemplate = false;" -t -A
---
`SELECT pg_terminate_backend( pid ) FROM pg_stat_activity WHERE pid <> pg_backend_pid( ) AND datname = 'name of database';` - отключить все подключения к бд
---
`ALTER DATABASE "downloader8097" RENAME TO "downloader_vo_8097";` - переименовать БД

View File

@ -2,4 +2,16 @@
- `no` (или не указывать restart вовсе) — контейнер не будет перезапускаться автоматически. Это значение по умолчанию.
- `always` — контейнер будет автоматически перезапущен при любом завершении работы (даже при ручной остановке через docker stop). Он также перезапустится после перезагрузки Docker или хоста
- `on-failure` — контейнер будет перезапущен только в случае выхода с ненулевым статусом (ошибкой). Вы можете также указать максимальное количество перезапусков, например,`on-failure:3`.
- `unless-stopped` — контейнер будет автоматически перезапущен при сбоях и после перезагрузки Docker или системы, но не перезапустится, если его остановили вручную.
- `unless-stopped` — контейнер будет автоматически перезапущен при сбоях и после перезагрузки Docker или системы, но не перезапустится, если его остановили вручную.
- `docker stats`
- CONTAINER ID - Уникальный идентификатор контейнера.
- NAME - Имя контейнера.
- CPU % - Использование CPU в процентах.
- MEM USAGE / LIMIT - Использование памяти / установленный лимит.
- MEM % - Доля использования памяти от лимита.
- NET I/O - Сетевой ввод/вывод данных.
- BLOCK I/O - Объем операций ввода/вывода на диске.
- PIDS - Количество процессов внутри контейнера.
- `docker info`

View File

@ -0,0 +1,34 @@
[https://stackoverflow.com/questions/2101518/difference-between-xxuseparallelgc-and-xxuseparnewgc]()
( Оригинальный ) копирующий сборщик (включен по умолчанию). Когда этот сборщик включается, все потоки приложения останавливаются, и копирующий сбор продолжается с использованием одного потока (что означает только один ЦП, даже если это многопроцессорная машина). Это известно как сборка stop-the-world, потому что по сути JVM приостанавливает все остальное, пока сборка не будет завершена.
Параллельный копирующий сборщик (включается с помощью -XX:+UseParNewGC). Как и исходный копирующий сборщик, это сборщик stop-the-world. Однако этот сборщик распараллеливает копирующий сбор по нескольким потокам, что более эффективно, чем исходный однопоточный копирующий сборщик для многопроцессорных машин (хотя и не для однопроцессорных машин). Этот алгоритм потенциально ускоряет сборку молодого поколения в разы, равные количеству доступных ЦП, по сравнению с исходным однопоточным копирующим сборщиком.
Параллельный сборщик мусора (включается с помощью -XX:UseParallelGC). Он похож на предыдущий параллельный копирующий сборщик, но алгоритм настроен на гигабайтные кучи (более 10 ГБ) на многопроцессорных машинах. Этот алгоритм сбора предназначен для максимизации пропускной способности при минимизации пауз. Он имеет дополнительную политику адаптивной настройки, которая автоматически изменяет размер пространств кучи. Если вы используете этот сборщик, вы можете использовать только оригинальный сборщик mark-sweep в старом поколении (т. е. более новый конкурентный сборщик старого поколения не может работать с этим молодым сборщиком поколения).
---
CATALINA_OPTS (Optional) Java runtime options used when the "start",
"run" or "debug" command is executed.
Include here and not in JAVA_OPTS all options, that should
only be used by Tomcat itself, not by the stop process,
the version command etc.
Examples are heap size, GC logging, JMX ports etc.
JAVA_OPTS (Optional) Java runtime options used when any command
is executed.
Include here and not in CATALINA_OPTS all options, that
should be used by Tomcat and also by the stop process,
the version command etc.
Most options should go into CATALINA_OPTS.
Во-первых, все, что указано в переменной EITHER, передается идентично команде, которая запускает Tomcat - команде startor run- но только значения, заданные в, JAVA_OPTSпередаются команде stop. Это, вероятно, не имеет никакого значения для того, как Tomcat работает на практике, поскольку это влияет только на КОНЕЦ выполнения, а не на начало.
Второе отличие более тонкое. Другие приложения также могут использовать JAVA_OPTS, но только Tomcat будет использовать CATALINA_OPTS. Поэтому, если вы устанавливаете переменные среды для использования только Tomcat, вам лучше всего использовать CATALINA_OPTS, тогда как если вы устанавливаете переменные среды для использования другими приложениями Java, такими как JBoss, вам следует поместить свои настройки в JAVA_OPTS.
Я хотел бы добавить, что JAVA_OPTSи CATALINA_OPTSявляются взаимодополняющими : если вы определите обе переменные среды, их содержимое будет объединено и передано команде startand run— как объяснил Gnanam выше.
---
https://www.baeldung.com/java-memory-beyond-heap

View File

@ -67,6 +67,9 @@ APT работает поверх более низкоуровневого ин
- `ethtool enp0s3` - диагностика сетевого интерфейса на физическом уровне (`ethtool enp0s3` - статистика)
- `arp -a` - arp таблица (ip -> mac)
- `ip route` - таблица маршрутизации (можно проверить есть ли шлюз)
- `resolvectl status` - инфо о днс
- `cat /etc/resolv.conf` - инфо о днс
### База
- `cp -p` - сохранить атрибуты файлов (время создания, права, владельца)

View File

@ -0,0 +1,4 @@
```
haproxy -f /etc/haproxy/haproxy.cfg -c - тестируем
systemctl reload haproxy - применяем
```

View File

@ -116,4 +116,9 @@ WantedBy=multi-user.target
- `ERROR`: Сообщения об ошибках, когда выполнение операции не удалось
WEB-INF/classes или src/main/resources
`<configuration scan="true" scanPeriod="30 seconds">`
`<configuration scan="true" scanPeriod="30 seconds">`
---
`sudo useradd -M -d /opt/_Tomcat -g tomcat --system tomcat`