LINUX.ORG.RU

Сообщения jabba02

 

nginx пишет маленькими чанками в сокет

Привет, есть VPS, на котором nginx раздает статику и файлы, помимо этого там крутится и сам сайт

Не могу добиться максимальной пропускной способности, которую выделили на этот VPS

Начал с того, что крутил настройки nginx всяко разно, потом подкрутил sysctl, ничего не помогает

Начал смотреть на strace воркеров, и увидел странную вещь, воркеры пишут в файловые дескрипторы только по 16413 байт за 1 системный вызов, почему так?

Частичка вывода strace

epoll_wait(29, [{EPOLLOUT, {u32=526027040, u64=139844661184800}}], 512, 8) = 1
write(37, "3Q\233\201:z(\301\355\306\330\25f\342I`\321\236~\370\243\371\356-0h\250\330t\231Pm"..., 1328) = 1328
write(37, "\27\3\3@\30\302\v\240\3032\273\251\273\267F'+i\271\226\361-\264\347\202\337\375WeBE\250"..., 16413) = 16413
write(37, "\27\3\3@\30\302\v\240\3032\273\251\274\7\23\274\200\253H?%\3276\305\224\204\20T\f\202\25\253"..., 16413) = 16413
write(37, "\27\3\3@\30\302\v\240\3032\273\251\275v\260\241\223\250\303\353N*\202\310#\204\251\245\1\245}\324"..., 16413) = 16413
write(37, "\27\3\3@\30\302\v\240\3032\273\251\276\241\312\310\276\344\265]<\330\"\2016$\37\215\36\345x\3"..., 16413) = 16413
write(37, "\27\3\3@\30\302\v\240\3032\273\251\277\302<e\21\241\213A-\345\265\246\271v,w5c\225\200"..., 16413) = 16413
write(37, "\27\3\3@\30\302\v\240\3032\273\251\300\353O\204\36,\377\260\7\21\341\3L\307\345t\6\6\274\377"..., 16413) = 2739
write(37, "\206\241\34\342F\345\272\216\336\2@\27cE\204 )\211\261\3744\365\305Z\367O\276\nA\35(K"..., 13674) = -1 EAGAIN (Resource temporarily unavailable)
write(65, "\25\3\3\0\32\234\206\273\n(\224\346G\7\317\363<#\357~\242d\213\16\345\231\371\340vY\253", 31) = 31
close(65)                               = 0
epoll_wait(29, [{EPOLLOUT, {u32=526029921, u64=139844661187681}}], 512, 352) = 1
write(119, "s\243\6h\243\303-\317\344\0F\332\237<C\17\370\252\257\242\263\364\34\232=\302Y\177\4\177\241C"..., 5186) = 5186
write(119, "\27\3\3@\30\214\rA9=\216x\270\242Q\374\223\3\334\375@\357\276m\252\253o\372\rv7\6"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\271\365G\320\350[ \313\231\223\302\262O\302\202\246^:R_"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\272\311\274B'\372\262\24\277Ti5\245\7(q3ms\7"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\273s\363c5\16D\204(+\210,\2335zKN)\10\362"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\274\350\220&\330,Z\220_.\241\345\212\224\7\344\266\30\341\334"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\275\351\3642\374\355\30c\317C\356Aa\324\vj.\\\203\340"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\276.\313i\326*\303\271B\254\30159:\215\235#\265\16\274"..., 16413) = 16413
write(119, "\27\3\3@\30\214\rA9=\216x\277[\275\266\316$P\275\227\334\312\\\236\362\362R\242\261Q\227"..., 16413) = 8403
write(119, "i(\242\200\233\204\322\366J\342\3772\325U\261\23\26\215_\362\356q\221\214=?\314\235\345\263\30\374"..., 8010) = -1 EAGAIN (Resource temporarily unavailable)
epoll_wait(29, [{EPOLLOUT, {u32=526006400, u64=139844661164160}}], 512, 348) = 1
write(39, "\244\v\27\363\341\271\6\273\rt\"\236\200\305Z\v\261@8'\271\336#\373\n\247v\16~aY\267"..., 3180) = 3180
write(39, "\27\3\3@\30D\34\216\23\372\177\254\240\337\242\332\355\372\210.\260\f\22](\\\33PK'I\341"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\241\224\r5 \340`\223\305T\n\211*\203q\352\200\341\270l"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\242\234\273\242\23\373\2162\244\257M\0064\341\0160\37\262\242*"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\243\32\357 8\253M\306#?ub`\201\241t\25\277+\n"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\244\244h\267\313\32t\251\fw2\342\336I\375P\2121\263\201"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\245_\271\342\23\350\362V'\324\362\351g\322\360\255R=\34\321"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\246b\367\22\3004^.\351\3616\351&\352\266\333\5:\317I"..., 16413) = 16413
write(39, "\27\3\3@\30D\34\216\23\372\177\254\247\365#\365z\2154MQ\271\275w\3002c\204\335\24a3"..., 16413) = 9705
write(39, "\321\204\316\226k\210\340,_'q>\\\365K\210\2202:f\301\223,\267D\324\263A\326\16\2b"..., 6708) = -1 EAGAIN (Resource temporarily unavailable)

sysctl.conf:

net.core.netdev_max_backlog=10000
net.core.somaxconn=8192
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_wmem = 4096 65536 16777216
kernel.msgmnb = 65536

 , ,

jabba02
()

Python 3 в rpm через setuptools

Вообщем сделал сборку RPM пакета через stuptools в Python3. Вместе с самим файлом .py хочу запихнуть в пакет доп файлик к нему, + конфиги для rsyslog и logrotate, если укажу их в качестве data_files, то они тоже включатся в сборку, но как мне указать, что .py файл и конфиг для него должны установиться в определенную папку в системе(ее при этом создав), а конфиги для rsyslog и logrotate должны поместиться в /etc/rsyslog.d и logrotate.d соответственно?

Вот spec файл, который был составлен python

%define name squid-redirector-1
%define version 1.0.0
%define unmangled_version 1.0.0
%define unmangled_version 1.0.0
%define release 1

Summary: Tool for squid that redirect incoming requests
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{unmangled_version}.tar.gz
License: GPL
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
Prefix: %{_prefix}
BuildArch: noarch
Vendor: jabba02
Url: https://github.com/repo

%description
UNKNOWN

%prep
%setup -n %{name}-%{unmangled_version} -n %{name}-%{unmangled_version}

%build
python3 setup.py build

%install
python3 setup.py install —single-version-externally-managed -O1 —root=$RPM_BUILD_ROOT —record=INSTALLED_FILES

%clean
rm -rf $RPM_BUILD_ROOT

%files -f INSTALLED_FILES
%defattr(-,root,root)

 ,

jabba02
()

Как устроено логирование у squid

Стало интересно, как они логируют инфу в /var/log. Конфигов для конкретно squid в rsyslog.d я не нашел, нашел только настройки для logrotate, но все же как они пишут в /var/log?

 

jabba02
()

Squid не логгирует CONNECT от google

Когда в браузере перехожу на гугл, то squid не логгирует CONNECT к этому сервису, вот непонятно почему, мне от этого запроса лишь нужно знать Host, но squid не логгирует этого запроса вообще никак, поэтому не могу посмотреть даже host

squid.conf:

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow CONNECT SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 8080

# Url rewriter
url_rewrite_program /usr/local/bin/python3 /etc/squid_redirector/squid_redirector.py

coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

 , ,

jabba02
()

RSS подписка на новые темы