The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск серверной JavaScript-платформы Node.js 0.10, opennews (??), 12-Мрт-13, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


18. "Выпуск серверной JavaScript-платформы Node.js 0.10"  –6 +/
Сообщение от slowpoke (?), 12-Мрт-13, 09:49 
ой да ладно ассинхронный, однопоточное тормозилово к которому пытаются пристегнуть множество потоков ввода вывода которые все одно ждут этот один поток.
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +2 +/
Сообщение от 1 (??), 12-Мрт-13, 10:06 
очередной быдлонетовский неосилятор :)
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск серверной JavaScript-платформы Node.js 0.10"  –1 +/
Сообщение от slowpoke (?), 12-Мрт-13, 11:29 
офигенные аргументы. я продукты дяди билла не пользую
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от exist (?), 12-Мрт-13, 16:27 
Причем здесь Уильям Г.? Или вы о ком-то другом?
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от Аноним (-), 13-Мрт-13, 03:59 
> ассинхронный

асинхронный. ass - это ты.

> однопоточное тормозилово

Лол. nginx вон однопоточный - рассказать как он рвёт апачи и прочую чушь аж с несколькими моделями параллельности?

> одно ждут этот один поток

Никто там никого не ждёт, лол.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

69. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от Michael Shigorinemail (ok), 13-Мрт-13, 17:41 
> nginx вон однопоточный

Он не однопоточный, он мультиплексирующий многопоточный.

> рассказать как он рвёт апачи

За счёт и других отличий, помимо модели обработки соединений.

Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск серверной JavaScript-платформы Node.js 0.10"  –1 +/
Сообщение от AlexAT (ok), 13-Мрт-13, 19:58 
>>> рассказать как он рвёт апачи

Ну расскажи. Условие - динамика/CGI, или PHP как модуль (lol).

Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

76. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от XoRe (ok), 18-Мрт-13, 16:58 
>>>> рассказать как он рвёт апачи
> Ну расскажи. Условие - динамика/CGI, или PHP как модуль (lol).

php, как модуль nginx o_O ? :)

А вообще тут разговор не о запускании php, а об обработке соединений, c которой nginx справляется на отлично (за счет epoll/kqueue).
apache с mpm-event не тестировал, поэтому сравнить не могу.

Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от AlexAT (ok), 19-Мрт-13, 07:21 
> php, как модуль nginx o_O ? :)

Именно. Хотелось послушать, как nginx порвёт апач в данном случае :)

> А вообще тут разговор не о запускании php, а об обработке соединений

Одно дело отдавать лежащие на диске / в кешах статические элементы / проксировать, и совсем другое - собственно обработка логики. Для последней задачи nginx совершенно не предназначен, и "порвать" полноценные серверы на этом поле не то что не сможет, а просто не умеет.

> c которой nginx справляется на отлично (за счет epoll/kqueue).

Не за счёт epoll/kqueue. За счёт однопоточной модели обработки запросов (воркеры возможны, но это де факто все равно одиночные потоки) по принципу конечного автомата. Очень хорошо тогда, когда сам сервер может определять timeslice для отдачи блоков, и никак для динамики, когда все равно надо запускать дочерние процессы.

> apache с mpm-event не тестировал, поэтому сравнить не могу.

А это делать бесполезно. nginx - скорее "болид F1", а Apache - "БелАЗ". Разные весовые категории и применения :) Первый заточен на скорость по специальной трассе, второй - на проходимость и решение сложных задач :)


Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от XoRe (ok), 19-Мрт-13, 19:17 
>> php, как модуль nginx o_O ? :)
> Именно. Хотелось послушать, как nginx порвёт апач в данном случае :)

Никак. Под nginx нет модуля php)
Мне кажется, мы с вами уже дискутировали ранее насчет nginx vs apache в плане работы с php.
Поэтому, давайте кратко.
Если для вас apache+mod_php работает лучше, чем nginx+php-fastcgi, ради бога используйте его.
Если вы хотите убедить в этом других, предоставьте что-то кроме своих слов.
Мне самому интересно было бы посмотреть, в каком случае это так.
У вас есть ссылка на статью или обсуждение с замерами?

Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от AlexAT (ok), 19-Мрт-13, 19:39 
> Мне кажется, мы с вами уже дискутировали ранее насчет nginx vs apache

Нет.

> Если вы хотите убедить в этом других, предоставьте что-то кроме своих слов.

Лично пресловутого анонима я ни в чём переубеждать не хочу. Фанатичные пользователи наколенных поляпок только потому "что они где-то там (где есть штат программистов пилить вечную бету) рвут всех" ничего, кроме сочувствия, никогда не вызывали.

Вкратце: если мне надо будет отдать много прокси/статики - я выберу nginx. Ибо шансов завалиться у него на такой конфигурации немного, и модель отдачи подходящая. Если много динамики (хоть PHP, хотя Java, хоть еще чего) - Apache - из-за процессной модели, устойчивой к обвалам. Если ASP - IIS, из-за безвариантовости. А пытаться ездить на Ламборджини по проселочной трассе с прикрученными метровыми квадратными колёсами (угу, FastCGI)...

Ответить | Правка | Наверх | Cообщить модератору

80. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от XoRe (ok), 20-Мрт-13, 15:57 
> Если много динамики (хоть PHP, хотя Java, хоть еще
> чего) - Apache - из-за процессной модели, устойчивой к обвалам.

У вас были прецеденты, где обваливался nginx, а Apache держал нагрузку?

Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от AlexAT (ok), 21-Мрт-13, 07:17 
> У вас были прецеденты, где обваливался nginx, а Apache держал нагрузку?

Не только прецеденты, но и вполне реальные грабли.
segfault в apache/prefork(itk) - это смерть одного соединения.
segfault в nginx - это смерть всех текущих соединений. Разница легко ощутима.

Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от koloboid (ok), 21-Мрт-13, 08:04 
> segfault в apache/prefork(itk) - это смерть одного соединения.
> segfault в nginx - это смерть всех текущих соединений. Разница легко ощутима.

о_О и часто у Вас apache и nginx сегфолтятся?

Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от AlexAT (ok), 21-Мрт-13, 09:16 
>> segfault в apache/prefork(itk) - это смерть одного соединения.
>> segfault в nginx - это смерть всех текущих соединений. Разница легко ощутима.
> о_О и часто у Вас apache и nginx сегфолтятся?

nginx с динамикой сегфолтился каждый второй день. Это было на бородатой 0.8.2. А еще страшно не умел chunked. После этого было решено им пользоваться только для проксей и фронтендов - на статике не падает.

На критичных участках даже на фронтах - апач с worker/event. Сейчас ситуация могла измениться, но в целом даже тестирование уже не окупится - смысла ломать стабильно работающие узлы нет.

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

Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от edwin3demail (?), 21-Мрт-13, 09:30 
> nginx с динамикой сегфолтился каждый второй день. Это было на бородатой 0.8.2.
> А еще страшно не умел chunked. После этого было решено им
> пользоваться только для проксей и фронтендов - на статике не падает.

Добрый день.
Простите за интерес, а какие у Вас (хоть ориентировано) показатели нагрузки ?
В плане к-ва запросов, трафика и т.д. ?
Мне интересно как общего развития, т.к. у меня динамику отдает Tomcat, спрятанный за nginx ...  

Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

85. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от XoRe (ok), 21-Мрт-13, 22:55 
>> У вас были прецеденты, где обваливался nginx, а Apache держал нагрузку?
> Не только прецеденты, но и вполне реальные грабли.
> segfault в apache/prefork(itk) - это смерть одного соединения.
> segfault в nginx - это смерть всех текущих соединений. Разница легко ощутима.

Вообще segfault - это уже само по себе плохо.
И всегда можно откопать причину, с помощью gdb, strace и т.д.

Потом, у nginx можно задать несколько процессов-обработчиков.
Да, есть один master, как и у apache, но он врядли упадет (как и у apache).

И потом, nginx общается с динамикой не внутри своего процесса, а через fcgi/wsgi/proxy/...
Скажем, если упадет процесс php-fpm, процессу nginx от этого ничего не станет, он просто передаст запрос следующему процессу, или серверу в upstream.
Например недавно был баг в pinba, изза которого php процесс падал в segfault при авторизации на сайте.
php процесс падал, а nginx спокойно передавал запросы дальше.
В том и плюс nginx, что он динамику внутри себя не обрабатывает, он занимается передачей запросов - сам он не страдает от падучести динамики.
Имейте это в виду при дальнейшем росте.

Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

86. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от AlexAT (ok), 22-Мрт-13, 07:18 
> Вообще segfault - это уже само по себе плохо.

Именно. Но в случае динамики у Вас оно может быть достаточно легко, потому что объём выполняемого кода достаточно велик. Это не проксирование/статика.

> Потом, у nginx можно задать несколько процессов-обработчиков.
> И потом, nginx общается с динамикой не внутри своего процесса, а через
> fcgi/wsgi/proxy/...

И всё это печально одним... нет, даже двумя моментами.
а) Apache - очень хороший менеджер процессов, куда лучше, чем во многих имплементациях FCGI. В частности PHP как FCGI лучше даже не рассматривать.
б) Если у Вас падает воркер или FCGI - всё становится невесело. Потому, что обрываются ВСЕ запросы, связанные с данным воркером/FCGI-процессом. А не один упавший. В случае FCGI еще и рестартер держать придётся.

У Apache в данном случае еще одно преимущество - корневой процесс минималистичный, вылизывался годами сотнями людей, и шанс его падения близок к 0. Поэтому доверия к нему куда больше, чем к nginx+FPM/FCGI.

А в общем да - я с вами согласен. nginx - неплохой фронтенд (хотя и сырой, имхо). На бэкендах будет всегда оставаться что-то иное.

---

Еще немножко оффтопа, пожалуй.

Не зря у пользователей nginx часто ассоциируется с 502. 502 в нашем случае - это не вина nginx - это ошибка бэкенда. Но вся суть в том, что при использовании FCGI/FPM/... вся система получается несколько более падучей. Не только из за числа компонентов, но и из-за сравнительной ненадежности реализации.

По факту - nginx _очень_ хорош для масштабных применений - в качестве load balancer к десяткам worker backends. Когда его ляпают на каждый чих из-за фанатизма - это дает хреновый результат.

Я всегда сравниваю nginx с FreeBSD в этом плане - такое же мелкое нишевое "самопальное" решение, которое в России почему-то пытаются воткнуть каждой бочке затычкой, получая пачки костылей и крайне ненадежные системы. И лишь единицам с приличным выделенным штатом под костылинг удаётся добиться реальных результатов, причем иногда - выдающихся.

Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск серверной JavaScript-платформы Node.js 0.10"  +/
Сообщение от XoRe (ok), 22-Мрт-13, 16:38 
> И всё это печально одним... нет, даже двумя моментами.
> а) Apache - очень хороший менеджер процессов, куда лучше, чем во многих
> имплементациях FCGI. В частности PHP как FCGI лучше даже не рассматривать.
> б) Если у Вас падает воркер или FCGI - всё становится невесело.
> Потому, что обрываются ВСЕ запросы, связанные с данным воркером/FCGI-процессом. А не
> один упавший. В случае FCGI еще и рестартер держать придётся.
> У Apache в данном случае еще одно преимущество - корневой процесс минималистичный,
> вылизывался годами сотнями людей, и шанс его падения близок к 0.
> Поэтому доверия к нему куда больше, чем к nginx+FPM/FCGI.

Вообще-то для FCGI уже есть php-fpm.
У php-fpm корневой процесс - тоже самое, что у apache, так же занимается минимумом дел.
И от ошибок дочерних процессов не падает.

> Я всегда сравниваю nginx с FreeBSD в этом плане

А Apache - это linux типа?

Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру