php и htop в Debian 7 - load average

DriverCat
На сайте с 10.04.2008
Offline
116
1406

Добрый день!

Сразу скажу, сам веб-программист, а не админ. В Debian ориентируюсь не очень. Написал скрипт на php, который эмулирует многопоточность. От количества потоков зависит время выполнения, пытаюсь подобрать оптимальное количество потоков и нагрузки на сервак. Сервак - EX-6 от FastVPS. Отсюда такие вопросы:

1. Объясните, пожалуйста, что такое 8 потоков (hyper-threading) на 4-х ядерном серваке? По htop смотрю когда работает скрипт, как я понял - все 8 потоков нагружаются.

2. Как понять, какая нагрузка будет критична по htop? Какой load average будет критичным? При работе скрипта нагрузка на сервак кратковременно доходит до 100, потом спадает, при этом сайты работают нормально. Или еще использование памяти надо смотреть - но она вся не используется?

Заранее спасибо откликнувшимся!

Himiko
На сайте с 28.08.2008
Offline
560
#1

1) Ядро делится на 2 виртуально. Т.е. фактически система видит в 2 раза больше ядер, чем есть в действительности. Это по-простому.

2) "критично" - это когда создаются проблемы для вашего сервера/проекта. Остальное - не критично.

Load average зависит от различных факторов и для каждого сервера индивидуальное значение критично.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
lazyfish
На сайте с 05.01.2014
Offline
13
#2

1) Касательно технологии HT:

http://ru.wikipedia.org/wiki/Hyper-threading

Короче говоря, в реальной нагрузке то, что ядро разделено на два, хоть и будет давать какой-то прирост производительности, но он не будет значительным. В основном такая технология позволяет эффективнее обслуживать системные процессы, а не процессы пользователя. При оценке реальной мощности сервера учитываться должны именно физические ядра.

Касательно вашей задачи: Демон php позволяет разбивать свои рабочие процессы, называемые т.н. пулы. Для максимального увеличения производительности рекомендую активировать 4 пула - по количеству ядер. Можете попробовать 8 - по количеству виртуальных ядер, я не сравнивал как будет лучше.

2) PHP более прожорлив к памяти, нежели к процессору. Рекомендую обратить бОльшее внимание на память, нежели на загрузку процессора. Обычно процессорного времени без проблем хватает для трудоемких задач, несмотря на, как вы выразились, кратковременное дохождение загрузки до 100%.

iamsens
На сайте с 26.08.2009
Offline
115
#3
Написал скрипт на php, который эмулирует многопоточность.

интересно как на пхп многопоточность решили реализовать?

на пхп с этим проблемы...

Den73
На сайте с 26.06.2010
Offline
523
#4
iamsens:
интересно как на пхп многопоточность решили реализовать?
на пхп с этим проблемы...

псевдо что в общем то уже не то

D
На сайте с 28.06.2008
Offline
1101
#5

Как раз сегодня на эту темы видел на хабре http://habrahabr.ru/post/216827/

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