Почему по FTP качает долго
Сервер 1gbps, мой комп оптика, торенты качает реально на 10mbps, а вот по FTP 1гиг скачивал минут 20. И-за чего такое может быть? Причем на всех серверах такое
Сервер 1gbps, мой комп оптика, торенты качает реально на 10mbps, а вот по FTP 1гиг скачивал минут 20. И-за чего такое может быть? Причем на всех серверах такое
Пол дня скрипт писал, правил по FTP, а потом перезатер GITом.
git reset --hard origin/master
git pull origin master
Debian 12.11
Почему-то нет файла /var/log/syslog
Тема такова: пытаюсь блокировать ботов, создал правила
-A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ports_tcp
-A INPUT -p udp -j ports_udp
-A ports_tcp -p tcp -m multiport --dports 80,443,25 -j ACCEPT
-A ports_tcp -j LOG --log-prefix "TCP connection to forbidden port"
-A ports_tcp -j SET --add-set bots_tcp src
-A ports_udp -p udp -m multiport --dports 53 -j ACCEPT
-A ports_udp -j LOG --log-prefix "UDP connection to forbidden port"
-A ports_udp -j SET --add-set bots_udp src
После перезагрузки Ubuntu слетели все драйвера, в том числе erthernet. Ничего не пойму. lshw -C network показывает сетевуху в статусе unclaimed. Все перекопал уже, даже не знаю в каком направлении двигаться )
-A limits -p tcp -m tcp --dport 1666 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 5 --connlimit-mask 32 --connlimit-saddr -m comment --comment "max conn" -j LOG_LIMIT
-A LOG_LIMIT -j LOG --log-prefix "limit"
-A LOG_LIMIT -j REJECT --reject-with tcp-reset
line 26: RULE_APPEND failed (Invalid argument): rule in chain LOG_LIMIT
Что не так? Если просто -j DROP писать то норм, НО, охота чтобы было понятно пользователю, а не тупо timeout ждать...
Пока что помогает только дублирование всего правила c LOG...но это тупо и неудобно
Стоил ли сжимать http ответ gzip nginx'ом? Картинки и так сжатые, а json? Посмотрел ютуб не сжимает ничего. Кто вообще сжимает?
journalctl обрубает строки (если они не влазят в консоль по ширине)
ВНЕЗАПНО - все сервисы начали systemd перезагружаться, в том числе journald. Такое ощущение что перезагрузилась машина, НО uptime показывает 45 days
Что за дичь?
journalctl -k
Jul 15 15:31:36 Schrodinger kernel: workqueue: pm_runtime_work hogged CPU for >10000us 1027 times, consider switching to WQ_UNBOUND
Jul 16 06:55:30 Schrodinger systemd[1]: systemd 255.4-1ubuntu8.8 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2>
Jul 16 06:55:30 Schrodinger systemd[1]: Detected architecture x86-64.
Jul 16 06:55:39 Schrodinger systemd-journald[2164748]: Received SIGTERM from PID 1 (systemd).
Jul 16 06:55:39 Schrodinger systemd[1]: Stopping systemd-journald.service - Journal Service...
Jul 16 06:55:39 Schrodinger systemd[1]: netplan-ovs-cleanup.service - OpenVSwitch configuration for cleanup was skipped because of an unmet condition check (ConditionFileIsExecutable=/usr/bin/ovs-vsctl).
Jul 16 06:55:39 Schrodinger systemd[1]: systemd-networkd-wait-online.service: Deactivated successfully.
Jul 16 06:55:39 Schrodinger systemd[1]: Stopped systemd-networkd-wait-online.service - Wait for Network to be Configured.
ps -eo pid,lstart,cmd | grep systemd
1 Sat May 31 10:20:04 2025 /usr/lib/systemd/systemd --system --deserialize=116
1035 Sat May 31 10:20:43 2025 @dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
1063 Sat May 31 10:20:43 2025 /usr/lib/systemd/systemd-logind
833252 Wed Jun 11 04:02:37 2025 /usr/lib/systemd/systemd --user
1196408 Tue Jul 15 16:53:14 2025 /usr/lib/systemd/systemd --user
1258567 Wed Jul 16 06:55:20 2025 /bin/sh /usr/lib/apt/apt.systemd.daily install
1258572 Wed Jul 16 06:55:20 2025 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install
=======
1259657 Wed Jul 16 06:55:36 2025 systemctl restart background.service chat.service containerd.service cron.service exim4.service fail2ban.service fwupd.service http-achacha.service http.service mongod.service multipathd.service mysql.service nginx-ws.service nginx.service php8.3-fpm.service polkit.service proftpd.service redis-server.service rsyslog.service snmpd.service srs-dev.service srs.service ssh.service supervisor.service systemd-journald.service systemd-networkd.service systemd-resolved.service systemd-timesyncd.service systemd-udevd.service thermald.service udisks2.service upower.service websocket.service zabbix-agent.service zabbix-server.service
=======
Это что за процесс??
1259725 Wed Jul 16 06:55:36 2025 /usr/lib/systemd/systemd-timesyncd
1260095 Wed Jul 16 06:55:38 2025 /usr/lib/systemd/systemd-resolved
1260099 Wed Jul 16 06:55:38 2025 /usr/lib/systemd/systemd-udevd
1260144 Wed Jul 16 06:55:39 2025 /usr/lib/systemd/systemd-journald
1260152 Wed Jul 16 06:55:39 2025 /usr/lib/systemd/systemd-networkd
1260154 Wed Jul 16 06:55:39 2025 /usr/sbin/thermald --systemd --dbus-enable --adaptive
client -> nginx (:443) -> app1 (:8080) -> POST http://remote/api/clients -> nginx2 -> app2
nginx, nginx2 - обычный nginx :-)
remote - либо 127.0.0.1 либо второй сервер удаленный
app1 - это node веб сервер на express
app2 - C++ приложение, в котором есть http сервер
В самом axios установлен timeout 5000. и он иногда срабатывает и клиенту отдается ошибка со стороны app1. Отчего срабатывает timeout не понятно. nginx2 в логах nginx регистрирует ответ от app2 с нормальным статусом (201), время запроса ~5 сек. и отдает app1 (но он уже отключился? по timeout). Ошибок нет от nginx. Если сокет отключился, куда передает nginx ответ? Или axios сокет не убивает, а только timeout генерирует? Пробовал дебажить, видно что timeout генерирует сам node socket, глубже не копал. И отчего может быть этот timeout? nginx2 получает ответ от app2 почти моментально, сверял логи, до секунды. Такое ощущение, что когда запрос на nginx2 приходит, он его в каком то буфере держит 5 сек., а потом отправляет на app2 и поэтому timeout. Что может быть?
Смотрел только
netstat -nlp4 | grep app2
client_body_timeout 3;
reset_timedout_connection on;
send_timeout 3;
map $http_authorization $api_dev_deny {
default "1";
"9342759823475947238979" "0";
}
server {
server_name exampla.com;
access_log /var/log/nginx/exampla.com.log main;
error_log /var/log/nginx/exampla.com.error.log;
listen 80;
listen 443 ssl; # managed by Certbot
location ~ ^/api/(.*)$ {
if ($api_dev_deny) {
return 401;
}
proxy_pass http://127.0.0.1:1986/$2$is_args$args;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
}
Вот
https://stackoverflow.com/questions/52184291/async-await-with-setinterval
Ещё это
https://www.npmjs.com/package/set-interval-async
Нужно
setInterval(async function(){
await blabla();
}, 1000)
function timer(){
//реализация
}
const timer1Cancel = timer(async function(){
await blabla();
}, 1000)
setTimeout(()=>{
timer1Cancel()
}, 60 * 1000)
systemctl status http
5h 49min ago
Утром проверяю, перезагрузился 5 часов назад. Беда беда. До этого работал пару дней.
Смотрю логи.
journalctl -u http --grep "Stating HTTP"
...00:27:39... Stating HTTP...
journalctl -u http --grep "00:27:39"
...00:27:39... Stating HTTP...
journalctl -u http --grep "00:27:38"
journalctl -k
-- No entries --
Нужно по запросу, например http://example.com/?port=8082 попасть на 127.0.0.1:8082
upstream nodes {
server 127.0.0.1:8082;
server 127.0.0.1:8083;
server 127.0.0.1:8084;
server 127.0.0.1:8085;
}
location / {
proxy_pass http://nodes;
}
if ($request ~ "8082") {
proxy_pass http://127.0.0.1:8082;
}
if ($request ~ "8083") {
proxy_pass http://127.0.0.1:8083;
}
...
Как можно упростить код?
const sids = [];
const sidsRemote = [[1,2,3], [1,2,3], [1,2,4]]
const sidsLocal = [1,2,3]
sidsRemote.forEach((serv)=>{
serv.forEach(sid=>{
sids.push(sid)
})
})
sidsLocal.forEach((sid)=>{
sids.push(sid)
})
//result sids = [1,2,3,1,2,3,1,2,3,1,2,3]
Делаю так
rpush myList '{«id»: «a»}'
rpush myList '{«id»: «b»}'
rpush myList '{«id»: «c»}'
Мне нужно хранить упорядоченный списочек
Потом хочу удалить по id=«a» Но, вопрос, как? Тупо приходит на ум запросить весь список, прогнать через JSON.parse(), найти индекс элемента и удалить через индекс. Но тут очевидно куча проблем.
1) В промежутке моего поиска, может добавиться новый элемент и найденный индекс будет не актуален (удалится другой элемент!).
2) Время на разбор json, 3) Время на загрузку всего списочка
Просмотрел все типы и ничего нужного не нашел. hSet не сортирует.
ЧТО ДЕЛАТЬ БРАТЬЯ?
Пока ждал, нашел LREM - решает задачу на 78% (по моим ощущениям). А вообще я ждал от редиса чего то большего. Вообще можно было бы hash использовать, но он (падла), как то коряво сортирует ключи. Если бы добавлял нормально просто в конец, а то ведь не понятно как ключи сортируются или как в память лягут или что. Недоработки Redis явные, не хватает Sorted Hash
journalctl -u http -S -12h --no-pager | grep «blabla»
Ооочень долго ищет. Раньше я использовал обычные логи /var/log/* там быстро было, а через journalctl капец как долго. Как это вообще используется правильно? Или что я не так делаю?
certbot --nginx добавляет в конфиг nginx редирект на https на все сайты. Нигде это не редактируется? Мне нужно чтобы сайт по http\https тоже был доступен. Спрашивается: на кой х..р такая медвежья услуга?! Просто бесит! Просто нелюди делали, какие-то мутанты!
Нужно из лога вытянуть продолжительность сессий
[2025-06-12 10:32:15.142][INFO][1][xxx] Session UP
...bla
...bla
...bla...
[2025-06-12 10:40:15.142][INFO][1][xxx] Session Down by KAPEC
[2025-06-12 12:32:15.142][INFO][1][yyy] Session UP
...kukuku...
[2025-06-12 12:40:15.142][INFO][1][yyy] Session Down by KABZDEC
[2025-06-12 13:32:15.142][INFO][1][zzz] Session UP
...phphph...
[2025-06-12 13:40:15.142][INFO][1][zzz] Session Down by PIPEC
xxx|yyy|zzz - идентификатор сессии
Что я пытаюсь сделать и ни к чему пока не приводит (.+ сжирает все до конца строки)
journalctl --no-pager | grep "Session UP" | grep -oEi "[0-9]{2}:[0-9]{2}:[0-9]{2}.*[0-9a-z]{8}"
Если апп на сервере, который лежит на сокете и обрабатывает (udp/tcp) по разным протоколам. Хочу проверить работу. Запускал тесты на локалхосте, норм., держит соединения норм, не отваливаются, сам апп живой. Запускал тесты через свой комп, но проблема в том, что мой роутер начинает гнать и отваливается сеть(видимо из за pps).
Как проверить (benchmark) на хотя бы 1000 устройств с реальными адресами, сетями, типа бот фермы ддос? Какой сервис есть? Ну и желательно в РФ, ибо платить картой сейчас нереал
Почему docker перезагружает контейнер? В логах самого контейнера «thread is interrupted». Как я понимаю (подсказал ИИ от гугла) это процессу запущенному в докере присылается сигнал (SIGTERM, SIGINT). Но вот так и не понял отчего может такое случиться. Перезапускается внезапно, бывает через 3 часа или 6... Лимитов никаких не ставил. Что может быть?
В логах самого докера
journalctl -xu docker.service --no-pager | grep "34:32"
Jun 13 12:34:32 dockerd[877179]: time="2025-06-13T12:34:32.777749732+03:00" level=info msg="ignoring event" container=220983e9f5563eccd3635f02d53bcb18a5c2ff37f2d98171a5b0faae9e5403c6 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
[2025-06-13 09:34:32.282][ERROR][1][3a2c8709][0] serve error code=1070(ST thread is interrupted)
...ещё строк 5 всякой лабуды (закрытие ресурсов и т.д., не ошибок)....
...дальше стартует снова сервис в докере...
| ← назад | следующие → |