iopiop

Рейтинг
25
Регистрация
23.12.2010
michaelk:
Цель стоит не только выплюнуть быстро контент (это уже так и есть), а ускорить полную загрузку сайта вместе с внешними скриптами.

Пока понял из выше стоящих комментариев, что основная проблема заключается в БД. Что-то еще?
.

Никто вам не скажет что у вас происходит по простой причине - нет исходных данных. То что вы привели в первом посте говорит лишь одно - тормоза.

Вам посоветовали уже поставить утилиту от гугла, есть аналогичная от яхи, посмотрите встроенную в Хром в конце-концов.

Программист этот ваш что, с секундомером сидел? Тогда найдите другого программиста

Ultran:
Нет, я просто прошу помощи у профессионалов, т.к. у самого не хватает знаний.
Ultran:
Если можно, напишите пожалуйста код что и как мне нужно сделать.

т.е. напишите забесплатно.

iHead:
гипертрединг не умножает реальную производительность на 2. нет у вас 8 ядер физически при гипертрединге на 4 ядерном проце. поставить можно 8, но будет ли от этого лучше неизвестно. скорее, узким местом окажется не процессор, а диск или сеть.
это все ИМХО.

но вы же сами указывали коэффициент 1.6? Т.е. если поставить 8, хуже точно не будет, а лучше скорее всего будет, не так ли?

Как бы вопрос важный, если мы начнем добавлять БД и будем привязывать к ядрам, нужно же понимать сколько ядер у нас, 4 или 8.

ClockWorkOrange:
Я понял. В конфиге nginx "аффинити-чего-то-там в конфиге" не нашел :)

worker_cpu_affinity

CPU affinity is represented as a bitmask (given in hexadecimal), with the lowest order bit corresponding to the first logical CPU and the highest order bit corresponding to the last logical CPU.

Examples:

CPU #0: 0x00000001

CPU #1: 0x00000002

CPU #2: 0x00000004

CPU #3: 0x00000008

CPU #0 and CPU #1: 0×00000003

CPU #2 and CPU #3: 0x0000000C

All CPUs: 0xFFFFFFFF

т.е. запустить nginx на CPU0 и CPU2

worker_cpu_affinity 0001 0100

проверить на каких ядрах работает можно так:

taskset -p PID

если в конце стоит mask: f - значит данный процесс может использовать любое ядро.

iopiop добавил 30.10.2011 в 00:26

iHead:
начать с числа ядер, которые видит ОС с на процессорах с гипертредингом. если полноценных ядер 4, а с гипетредингом 8, то ставить worker_processes 8 смысла нет. я об этом.

не догоняю я этого :-(

разжуйте пожалуйста для идиота, почему 4, а не 8? в чем плюс четырех, а не восьми? для упрощения понимания предлагаю использовать систему где стоит только ngnix и отдает только статику.

спасибо.

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

Lord Maverik:
На серваке ~150 сайтов различных. Есть с сапой с множеством страниц.
Не хотелось бы, чтобы при набегах ботов яндекса или сапы на несколько сайтов сразу nginx отсылал их куда подальше.

если статика, то распределяйте равномероно по количеству виртуальных ядер, т.е. 8 в вашем случае.

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

вы привяжите nginx скажем к двум ядрам только и посмотрите как нагрузка распределяется ( top в линухе). после этого добавляйте-убирайте в зависимости от нагрузки ядер.

babnicks:
😂 ну собственно говоря да, слушать как минимум должен кто-то один.

таки как максимум

zexis:
Да, вы просто гигант программирования, что бы мельком посмотрев на исходники, понять как они работают.

на самом деле в коде действительно можно увидеть поддержку multi-threads, но она сейчас не работает правильно, сысоев обещает ко второй версии исправить. Как я понимаю, апач имеет 1:1 модель, nginx 1:N, хотят сделать M:N, наверное как раз для тех случаев когда диски очень медленные по сравнению с поступающими запросами, т.е ввести некоторую интерактивность, чтобы все запросы хоть чуть-чуть, но обрабатывались, независимо от глубины очереди.

Забавно что Sun (и не только он, бо очень непросто) отказался от такой модели лет 10 назад в яве, посмотрим что получится у сысоева.

netwind:
Строго говоря, потоков там 1 + N, где N = worker_processes в конфиге,а один поток просто контролирует остальные и ничего не делает.

да? не знал, обычно +1 принимает соединения и передает дальше, это его стандартная функция. Собственно, непонятно как могут принимать соединение сразу несколько ниток на одном сокете. Не складывается.

соглашусь пока что с netwind , вот некоторое подтвердение http://forum.nginx.org/read.php?2,194884,194938

Всего: 259