- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Это не holy war, просто нужен совет.
Делаю серверную часть некоторого API.
PHP скрипт получает GET запросы с различных хостов, их анализирует на корректность и заносит в базу. Планируется в больших количествах, до пары десятков запросов в секунду, точнее оценить пока не могу. Явно больше 1 в секунду. Для выполнения и выдачи результата будет делаться максимум 2 MySQL запроса, но скорость отдачи результата важна.
Вообщем, Apache отпадает сразу, т.к. я уже знаю что это закончится дракой за память либо расходами на VPS с 2-4 Гб ОЗУ.
Что лучше ставить для такой задачи к PHP - nginx или lighttpd?
Интересует мнение профессионалов о производительности и сложности настройки.
С установкой lighttpd дело имел 2 раза на разных ОС, в одном из 2 случаев PHP не стал, разбираться не пришлось т.к. то был сервер для статики, пхп ставил "чтобы было" на будущее, чтобы убедиться что работает и отключить в конфиге.
С nginx дело имел только как с фронтендом к апачу (в предустановленном виде, образ ОС от хостера), насколько сложно к нему прикрутить пхп буду смотреть.
Одинаково по скорости будут. В nginx гораздо гибче конфигурация. Перешел на него где то после двух лет использования lighttpd , в общем не пожалел ни разу.
Единственный минус - нет cgi-bin, надо делать через враппер. А во всем остальном, лайт проигрывает. Поддержка слабая, фактически не развивается. В настройке лайт гораздо легче, но там и настраивать особо нечего.
nginx + PHP-FPM (не понятно, правда, зачем вам nginx в вашей задаче, сам он с PHP никак не работает)
Лайти на мой взгляд намного проще и понятнее в настройке и с ним быстрее можно достичь идеального конфига и максимальной производительности.
Stek, лайти развивается. И развивается он по своему направлению как вебсервер, а нгинкс изначально это прокси. "Медленно" лайти развивается потому что добавляется только самое необходимое, чтоб не стать вторым апачем.
Если будет до пары десятков запросов в секунду, то лучше писать демон на С, который будет обслуживать запросы через сокет.
Я писал демон для одного чата.
Задача требует хорошего знания С и API линукса.
Пара десятков запросов в секунду для нормального сервака это вообще ниочём.
К примеру, на одном серваке у меня сейчас 224 mysql запроса в секунду к базе под 40 гиг. LA меньше единицы. Правда, сервак достаточно суровый.
И на чём всё это делать при 20 запросах - тоже без разницы.
Всё зависит от того - как вы эти запросы пишете и организации базы.
Сам уже давно с апача ушёл на лайти, а потом перешёл на nginx ибо в лайти не было необходимого мне функционала.
Мискуль будет проблемным местом
Спасибо за советы.
cgi-bin ни к чему, главное чтобы веб сервер вызвал и обработал пхп скрипт.
Для nginx вроде бы PHP-FPM - единственный вариант.
Раз по производительности одинаково, буду использовать lighttpd т.к. имел дело с ним и говорите что в настройке проще.
То что БД прийдется оптимизировать это уже неоспоримый факт.
90% нагрузки будет создаваться скриптом вида
Далее немного других запросов (порядка раз в минуту) и панелька для визуализации статистики, графиков итд - это по нагрузке существенно больше запросов, но они намного реже, потому не учитываю.
Задача требует хорошего знания С и API линукса.
Демон дело хорошее, я думал над этим. Но все таки решил делать на PHP, он не компилируемый и если что можно быстро что-то обновить, не останавливая демон.
Демон дело хорошее, я думал над этим. Но все таки решил делать на PHP, он не компилируемый и если что можно быстро что-то обновить, не останавливая демон.
Демон для обновления не нужно останавливать на долго, максимум пару секунд
Компилируете новый исполняемый файл.
Меняете старый файл на новый.
И даете команды с интервалом пару секунд.
/etc/init.d/namedaemon start
/etc/init.d/namedaemon stop
Откомпилированный код на С работает быстрее кода на PHP примерно в 40 раз.
Хотя если у вас основная нагрузка ложится на mysql то выигрыша от демона на С будет не много.
Максимальный выигрыш в скорости будет, если вы вообще без mysql сделаете и все будете хранить в оперативной памяти.