Начальная оптимизация php5-fpm

Posted in Новости on 29 января, 2016 by admin

Итак, имеем сервер 4 ядра , 8Gb RAM . На сервере стоит MySQL , php5-fpm, nginx.
Сначала рассчитываем, сколько мы можем выделить памяти для php5-fpm . Возьмем половину реальной — 4Gb.
Далее, узнаем, сколько памяти в среднем «ест» один процесс php5-fpm , в этом нам поможет конвеер отсюда
root@XXX:/# pidof php5-fpm | xargs pmap -d | grep '^mapped' | awk '{print $4}' | sed 's/K//' | perl -e 'do { $a+=$_; $b++ } for <>;print $a/1024, " mb\n", $a/1024/$b, " mb\n"'
197.484375 mb
24.685546875 mb

Округлим до 30Мб
Вводные : 4 ядра , 4Гб RAM , ~30Мб на процесс.

pm.max_children = Количество памяти под fpm / Память одного процесса
pm.min_spare_servers = Количество ядер * 2
pm.max_spare_servers = Количество ядер * 4
pm.start_servers = ( pm.min_spare_servers + pm.max_spare_servers) / 2

Итого :

pm.max_children = 136
pm.min_spare_servers = 8
pm.max_spare_servers = 16
pm.start_servers = 12

Tags: , , , ,

Кодирование заголовка письма

Posted in Новости on 29 января, 2016 by admin

При формировании заголовка писем не через клиента или неавтоматическими средствами требуется жестко указывать кодировку и тип кодирования заголовка :
encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
Переменная encoding принимает два состояния :
1. B — base64_encode
2. Q — imap_8bit
Примеры :

"Subject: =?UTF-8?B?".base64_encode($subject)."?="
"Subject: =?UTF-8?Q?".imap_8bit($subject)."?="

Tags: ,

Расшариваем интернет за NAT в Linux

Posted in Новости on 7 октября, 2015 by admin

1. Разрешаем форвардинг пакетов :

sysctl -w net.ipv4.ip_forward=1

2. Добавляем построут для пакетов :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # eth0 - интерфейс интернета

Tags: , , ,

verify_reply couldn't decrypt with error: error decoding block for decryption

Posted in Новости on 6 октября, 2015 by admin

Ошибка пиринга возникает при жестком рассинхроне времени ( не зависит от часовой зоны ). Итак :

1. apt-get install ntpdate ( yum install ntpdate )
2. ntpdate ntp.remco.org

Tags: , , ,

unable to enumerate USB device on port

Posted in Новости on 1 октября, 2015 by admin

1. Идем в /sys/bus/pci/drivers/ehci_hcd :
{code}
cd /sys/bus/pci/drivers/ehci_hcd
{/code}
2. находим имя файла вида 0000:00:xx.x ( например — 0000:00:1d.7 )
3. выгружаем :
{code}
sh -c 'echo -n «0000:00:xx.x» > unbind'
{/code}
4. PROFIT!!!!

Tags: , ,