Raistlin

Raistlin
Рейтинг
247
Регистрация
01.02.2010

жить с родителями == хостинг на своём компе

общага == обычный хостинг

жить в подвале == бесплатный хостинг

съемная комната == VPS

съемная квартира == VDS

собственная квартира == выделенный сервер

собственный дом == дата-центр

nanocat> как можно узнать из баш скрипта IP адрес?

bender> echo $(( $RANDOM % 255 )).$(( $RANDOM % 255 )).$(( $RANDOM % 255 )).$(( $RANDOM % 255 ))

nanocat> bender, да, спасибо, работает!

StartServers 2
2
MinSpareThreads 25
3
MaxSpareThreads 75
4
ThreadLimit 64
5
ThreadsPerChild 25
6
MaxClients 150
7
MaxRequestsPerChild 0

Угу. Я бы удивился, если бы он не начал тупить.

Raistlin добавил 13.10.2011 в 05:43

P.S. конфиг писать НАДО. Подо всё. А не тупо пользоваться дефолтом.

Raistlin добавил 13.10.2011 в 05:47

http://www.pentarh.com/wp/2008/07/11/test-results-apache-vs-php-fcgi/

Староват, тестируется не то, но общее представление даст.

А размер базы не вырос?

iHead:
но вам доказали, что для отдачи статики (и работы с медленными клиентами) nginx эффективнее апача.

Да? А я говорю, что разницы фактически не заметно. Нет такого. Впринципе, нет. Если это есть 0.3-1% выигрыша - извините, смешной показатель.

iHead:
keepalive между клиентами и nginx есть давно.

Да, я про nginx и бэкенд. Т.е. тут вопрос вообще скользкий. Конфигураций чертова уйма.

P.S> чтобы скрипты эффективно работали на php-fastcgi или fpm надо их писать с этим учётом. Но этого никто не делает. Ещё есть вопрос, что тестировать. Например, насколько мне известно, тот же кипэлайв появился в nginx недавно. так же используется gzip-сжатие или нет, и т.д. и т.п. На самом деле, если уж сравнивать - то не банально поставить две виртуалки, а вполне очень плотненько поработать и посидеть над конфигами.

Raistlin добавил 12.10.2011 в 00:23

Boris A Dolgov:
apache+mod_perl почти не будет иметь накладных расходов на обмен данными между perl и вебсервером

зато в тредовой модели мы получаем ту же проблему что и с пыхом. Зверь работает один. А чтобы каждый зверёк работал от своего uid.... поэтому я не использую mod_perl.

iopiop, не ошибаетесь. Я то говорю об условиях реального хостинга. Т.е. php-fpm оно, конечно, круто, но php фактически не ускоряется при использовании fastcgi или fpm (точнее, очень не значительно). fastcgi используют в основном для того, чтобы заработали такие вещи как eAccelerator. С php-cgi использование акселеряторов вообще, мягко говоря, мало реально. С mod_php стабильно получается работать только у php-apc. т.е. у апача в режиме воркера есть одна проблемка: PHP можно акселерировать только на fastcgi.

Вот если сравнивать Perl-FastCGI vs Nginx + Apache vs пёрл в любом проявлении - тогда апач нервно курит в сторонке. А применительно к раздаче статики (которая в общем-то раздаётся очень эффективно и апачем) - здесь шансы почти уравниваются. Добавляем php - вуаля. Мы в равных условиях.

Boris A Dolgov, Ну чтож. Давайте на выходных займёмся.

Raistlin добавил 11.10.2011 в 23:42

Boris A Dolgov:
что нить и процесс не так уж и отличаются

т.е. нить = поток? Угу. Мало отличаются только переключением контекста. На переключение контекста тратится много ресурсов? =).

iopiop:
пожалуйста - MaxClients равно максимальному количеству ниток для всех процессов апача.

Максимальному количеству потоков оно никогда равно небыло. Я не знаю, что такое нитка в данном контексте. Нитками я шью. Так вот два процесса апача могут обслуживать к примеру, 40 потоков данных.

Nginx работает подобным образом. Если быть точным, то вот так:

Архитектурно Nginx — это асинхронный сервер, который использует один главный процесс для приема соединений и несколько рабочих процессов для их обработки.

Теперь апач...

A single control process (the parent) is responsible for launching child processes. Each child process creates a fixed number of server threads as specified in the ThreadsPerChild directive, as well as a listener thread which listens for connections and passes them to a server thread for processing when they arrive.

Перевод:

Один контролирующий процесс (родитель) запускает дочерние процессы. Каждый дочерний процесс создаёт внутри себя фиксированное число потоков как указано в соответствующей директиве так же, как и слушающий поток, который слушает подулючения и передаёт их в поток для ообработки, когда они поступают.

Ну и найдите 10 отличий...

Всего: 4674