- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Писать веб-сервер в ОДИН поток это очень не эффективно, так как одновременно разные коннекты находятся на разной стадии выполнения и эти стадии зачастую полностью параллельны друг-другу.
Понимаю, что после 21 года программирования это сложно восприять, но nginx действительно может эффективно работать именно в ОДИН поток.
Строго говоря, потоков там 1 + N, где N = worker_processes в конфиге,а один поток просто контролирует остальные и ничего не делает. Проверить очень просто - pgrep nginx | wc -l
соглашусь пока что с netwind , вот некоторое подтвердение http://forum.nginx.org/read.php?2,194884,194938
Про прирост чего Вы говорите? 1.6 раза от чего? Вы это где и когда видели УДВОЕНИЕ 😮 хоть чего-либо от использования гиппер-трейдинга? 😂
1.6 от ситуации без Hyper-threading.
"удвоение" видят все владельцы современных процессоров с поддержкой Hyper-threading: в ОС каждое ядро с гипертредингом определяется как 2 ядра, но в реале коэффециент 2 трудно достижим из-за того, что гипертрединг не удваивает реальные ядра, а позволяет более эффективно их использовать.
по остальному вам коллеги ответили.
Строго говоря, потоков там 1 + N, где N = worker_processes в конфиге,а один поток просто контролирует остальные и ничего не делает.
да? не знал, обычно +1 принимает соединения и передает дальше, это его стандартная функция. Собственно, непонятно как могут принимать соединение сразу несколько ниток на одном сокете. Не складывается.
PS: мельком сейчас посмотрел исходники nginx, на первый взгляд все именно так, как я написал :)
Да, вы просто гигант программирования, что бы мельком посмотрев на исходники, понять как они работают.
:)
Сейчас пишу демона, который будет работать в качестве серверной части онлайн игры.
Написание сетевых приложений - задача довольно сложная.
Проверить очень просто - pgrep nginx | wc -l
Вы ошибаетесь, этим Вы никак не проверите наличие нитей в рамках одного процесса, а я говорил именно про это.
Пруфом является не это, а поиск по исходникам по строке "ngx_create_thread" только в этой процедуре идет создание нити с помощтю pthread_create.
И действительно, похоже я был не прав :( nginx похоже действительно управляется со всем основным циклом работы при помощи одной нити.
babnicks добавил 29.10.2011 в 14:10
Да, вы просто гигант программирования, что бы мельком посмотрев на исходники, понять как они работают.
Для того, чтобы понять как создаются нити достаточно поискать вызовы системных функций за это отвечающих, а после поглядеть вызовы тех функций, которые вызывают они.
babnicks добавил 29.10.2011 в 14:12
да? не знал, обычно +1 принимает соединения и передает дальше, это его стандартная функция. Собственно, непонятно как могут принимать соединение сразу несколько ниток на одном сокете. Не складывается.
😂 ну собственно говоря да, слушать как минимум должен кто-то один. (имеется ввиду что ДА только один может слушать)
Да, вы просто гигант программирования, что бы мельком посмотрев на исходники, понять как они работают.
на самом деле в коде действительно можно увидеть поддержку multi-threads, но она сейчас не работает правильно, сысоев обещает ко второй версии исправить. Как я понимаю, апач имеет 1:1 модель, nginx 1:N, хотят сделать M:N, наверное как раз для тех случаев когда диски очень медленные по сравнению с поступающими запросами, т.е ввести некоторую интерактивность, чтобы все запросы хоть чуть-чуть, но обрабатывались, независимо от глубины очереди.
Забавно что Sun (и не только он, бо очень непросто) отказался от такой модели лет 10 назад в яве, посмотрим что получится у сысоева.
TC, по сабжу имхо надо понять какая доля нагрузки лежит именно на nginx, возможно как раз nginx стоит вообще загнать на 1-2 процесса (у меня лично nginx вообще в один процесс работает, так как его роль 1% от общей вычислительной нагрузки), а остальное пускай кушает mysql, php и прочие ресурсоемкие процессы.
Вобщем зависит все от того, какой у Вас сайт, какие ресурсы он потребляет больше всего.
Дело в том что nginx, сам по себе, не много ресурсов потреблеят, и возможно нет никакого смысла, а то и вообще вред (в виде лишней скушанной памяти) в увеличении кол-ва его процессов.
На серваке ~150 сайтов различных. Есть с сапой с множеством страниц.
Не хотелось бы, чтобы при набегах ботов яндекса или сапы на несколько сайтов сразу nginx отсылал их куда подальше.
😂 ну собственно говоря да, слушать как минимум должен кто-то один.
таки как максимум
На серваке ~150 сайтов различных. Есть с сапой с множеством страниц.
Вопрос еще в памяти, если по памяти не критично, то можно с легкостью ставить по кол-ву логических ядер. Если с памятью напряг, то лучше сделать по кол-ву физических процессоров :)