Как лучше строить шаред хостинг

12
K
На сайте с 24.03.2004
Offline
223
1851

Можно в отдельную ветку перелезть. Чего прямо сейчас и сделаю.

noHup:
Ну если да, значит зададим доп-ные вопросы ;):
О какой версии апача говорите (2.0.x или 2.2.x), какой метод обработки соединения на shared хостинге Вы рекомендуете? :smoke:

Server version: Apache/2.2.4 (FreeBSD)

На тему метода не совсем понял. Самый производительный шаред получается с ядерным патчем на смену uid/gid, php as mod_php и mpm prefork. Само собой должен быть включен accf_http, в частности с небольшим патчиком на тему POST. На фронт однозначно нужно ставить какую-то акселерацию/балансировку/ips/ids... у меня это все в своей софтине выполнено, но oops или squid для этой роли вполне подходят. Даже без акселерации это уже в разы производительнее nginx+php as factcgi.

У Сысоева есть процесс манагер под php, достаточно интересный, но архитектура не совсем для шареда. В частности у меня есть нечто аналогичное, но только выполнено оно на sendmsg. Был удивлен, когда появилось его творение. Появилось желание выкинуть наш код и пропатчить его. В нашем случае решается задача с эффективным держанием 12-15тыс uid (и более), что как раз подходит для различных кластерных/распределенных систем. Производительность этого чуть меньше, чем php as mod_php + kernel & apache patch, но решается задача с оптимизацией расхода памяти и не надо ничего воротить в ядре.

Само собой надо всякие PHP оптимизаторы прикручивать, которые оппкоде кэш и схожие. Т.е. это всё уже дальше по вкусу готовим.

Если мы говорим за отдельный высоконагруженный проект, то надо смотреть конкретно по проекту. Мне очень нравится apache с thread safe php сборкой... давно не собирали кстати, а тем кому ставили просто в восторге.

При разработке подобных решений больше всего напрягает phpшный гарбаж коллектор. Особенность юниксового fork в том, что делается COW (copy on write), т.е. вроде бы с расходом памяти при расфоркивании php проблема решается, но в определенный момент, на затяжных скриптах, происходит COW... "дофоркивается" это всё и задача идёт лесом. Мы несколько раз наступали на грабли с COW. В итоге сделали то самое, что на sendmsg. Фактически там есть общий процесс манагер и per client процесс манагер. Прошлись рашпилем по сборщику и что-то получилось.

Это касается и mod_php в prefork. Почему мне на трэдовых mpm и трэдовом php нравится, так вот как раз из-за этого. Форка нет и память более экономично кушается. Можно держать конектов прилично и акселератор даже не нужен. На GET запросах accf_http спасает, ну а POST-ов не всегда так много (хотя если accf_http с патчиком, то все нормуль).

Доступно?

проверенная ддос защита (http://ddos-protection.ru) -> http://ddos-protection.ru (http://ddos-protection.ru), бесплатный тест, цена от размера атаки не зависит.
Roxis
На сайте с 19.11.2006
Offline
40
#1

> У Сысоева есть процесс манагер под php

где этот манагер можно увидеть?

Andreyka
На сайте с 19.02.2005
Offline
822
#2

apache2 + mpm prefork + mod_php при больших запросах экономнее по памяти чем nginx+fastcgi php?

Не стоит плодить сущности без необходимости
K
На сайте с 24.03.2004
Offline
223
#3
Roxis:
> У Сысоева есть процесс манагер под php
где этот манагер можно увидеть?

sysoev.ru 😂

K
На сайте с 24.03.2004
Offline
223
#4
Andreyka:
apache2 + mpm prefork + mod_php при больших запросах экономнее по памяти чем nginx+fastcgi php?

Андрей, почему ты меня путаешь? я не говорил про prefork, я говорил про тредовый mpm.

ps. Кстати, если php под COW заточили, то в prefork экономичнее as под шаред в совокупности... но это в конфиге с моим ядерным патчем. Прародилель патча Майк Потанин из swsoft, когда он там работал... вернее он три строчки помог тогда сформулировать в нужном месте... а потом уже из этого монстр получился.

Roxis
На сайте с 19.11.2006
Offline
40
#5

Игорь Сысоев не автор php-fpm.anight.org, если вы про этот манагер

Andreyka
На сайте с 19.02.2005
Offline
822
#6
kostich:
Андрей, почему ты меня путаешь? я не говорил про prefork, я говорил про тредовый mpm.

ps. Кстати, если php под COW заточили, то в prefork экономичнее as под шаред в совокупности... но это в конфиге с моим ядерным патчем. Прародилель патча Майк Потанин из swsoft, когда он там работал... вернее он три строчки помог тогда сформулировать в нужном месте... а потом уже из этого монстр получился.

Сорри, но ядреные патчи имени васьпупкина из swsofta у меня не котируются.

Значит worker mpm + mod_php делает nginx+fastcgi php по ресурсам? Надо будет проверить это дело.

K
На сайте с 24.03.2004
Offline
223
#7
Andreyka:
Сорри, но ядреные патчи имени васьпупкина из swsofta у меня не котируются.

а там не их патчи, а мои... начнем с того, что там половина апача двойки перекоцана.

K
На сайте с 24.03.2004
Offline
223
#8
Roxis:
Игорь Сысоев не автор php-fpm.anight.org, если вы про этот манагер

О, сори... http://php-fpm.anight.org/about.html, вот там автор указан. Как-то с sysoev.ru туда пришли и подумали что Игоря.

K
На сайте с 24.03.2004
Offline
223
#9
Andreyka:
Сорри, но ядреные патчи имени васьпупкина из swsofta у меня не котируются.

Да, кстати, Андрей, а такие творения таких сотрудников swsoft как Володи Гребенщиков-а у тебя тоже не катируется?

Большая часть линуксовых и фряшных исходников писалась гавнопрограммерами, студентами и прочими далекими людьми - это если внимательно рассмотреть это со стороны... но если за результат, то он есть и это никем не оспаривается. Обычно на эту тему говорю просто - код может и плохой, но результата лучше пока не придумали.

ps. А на сколько макс абонентов ты хостинг держал?

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Дело в том, что я админю в компании, которая есть голд партнер у swsoft, и мы там столько накушались этого swsofta, что у меня на него соответствующая реакция.

Я не ставлю целью виртуалхостинга держать макс абонентов. Обычно 600 на дуалксеон с 4g - достаточно

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий