ENELIS

ENELIS
Рейтинг
194
Регистрация
29.08.2008

Это выдача atopsar на Debian ноде :)

atopsar -R 10000 -p

средние данные показываются за день

Никакой FreeBSD магии.

evgeniymx:
ENELIS, и? Я привел ТС пример ноды с оверселлингом. Покажете скрин своей ноды под нагрузкой? Хостеры с яйцами еще остались или только философы?)

00:00:01  cpu  %usr %nice %sys %irq %softirq  %steal %guest  %wait %idle  _cpu_
-------------------------- analysis date: 2017/11/21 --------------------------
00:00:01 all 171 4 24 0 7 0 166 0 427
0 29 1 3 0 1 0 28 0 39
1 27 1 3 0 1 0 26 0 43
2 24 1 3 0 1 0 24 0 47
3 22 1 4 0 1 0 22 0 50
4 15 0 3 0 1 0 14 0 67
5 17 0 3 0 1 0 16 0 63
6 17 0 3 0 1 0 16 0 63
7 18 0 3 0 1 0 17 0 61

00:00:01 pswch/s devintr/s clones/s loadavg1 loadavg5 loadavg15 _load_
-------------------------- analysis date: 2017/11/21 --------------------------
00:00:01 119555 53171 3.45 3.18 3.00 2.96

Пожалуйста. На ноде 35 инстанцев. Сколько приносит и сколько стоит писать не буду, чтобы обидно не было.

evgeniymx:
https://gyazo.com/6d90ca4228a395d63bea08677245422f пример ноды с 4 ядерным процем / 32 гб и 2х450 ссд - на ней 83 активных vps

Показатели LA говорят, что нода к черту перегружена.

treshnyuk:
О, вечер пятницы официально открыт? Голову ещё не все поломали?
Тогда ещё немного вопросов появится))
VPS на современных E5 с небольшой частотой и меньшим количеством оперативной памяти работают быстрее старых высокочастотных мамонтов.
ГГц конечно значимая величина но всего лишь один из многих факторов))

Зависит от архитектуры, архитектура рулит все. Конечно Sandy Bridge сравнивать с Haswell бессмысленно, т.к. это просто одна итерация против другой.

Разница значима только когда мы смотрим первый (Nehalem) против любого другого:

https://uk.hardware.info/reviews/6215/2/intel-five-generation-ipc-test-broadwell-haswell-ivy-bridge-sandy-bridge-and-nehalem-results

Далее E3 против E5 разница не значительная. В Single thread E3 выигрывает. E5 просто позволяет впихнуть больше ядер (за счет multi-CPU и конечно большего размера самого процессора) на одну материнку.

В принципе разница между всеми ними в наборе инструкций, кэшах и оптимизации самих процессов (performance/watt) внутри ядер. Разные сочетаемости этих наборов и приводят к текущему зоопарку. А ведь еще есть E7... Такое чувство, что с уменьшением техпроцесса количество брака выходит большим, поэтому такова разница в количестве разных версий по сути одних и тех же процессоров. Качественной разницы уже давно практически нет.

В Scalable Xeon они вообще сузили опции (самые быстрых процессоров на 1х и 2х доменную материнку больше нет вообще). Многие продавцы продают системы в полной сборке онли (заказать сразу полную систему и оплатить полностью иначе без гарантии)...

Bananzz:
О, хотите за пятницу и производительность?

У нас тут есть забавный опыт про выделение ядер в Xen.

Берем две ноды - с одним е5 и с двумя е5. (по 12t каждый, процессоры одинаковые)

Режем две виртуалки. Даём в однопроцессорной ноде 10vCPU, в двухпроцессорной 16 vCPU.
Обе ноды нагружены, но steal time <1%; оверселла по памяти нет, память одинаковая. Объём на нодах разный, но сопоставимый с количеством ядер.

Производительность "однопроцессорной" виртуалки на вычислительных задачах на много потоков почти в два (!!!) раза выше, чем "двупроцессорной", несмотря на заметный проигрыш по vCPU.
Причины до сих пор не поняли, будем пытаться разгрузить двухпроцессорную ноду и ставить эксперименты))

Это из разряда "был поезд с одним локомотивом и двумя, на тот что с двумя навесили 16 тысяч тонн груза, тому что с одним 10 тонн груза, только вот что с двумя имеет опытную технологию распределения нагрузки и выходит что нагрузка прыгает с одного на другой, локомотивы постоянно не разгоняются, т.к. нагрузка постоянно перераспределяется"

Гуглите NUMA, QPI и всю архитектуру SMP...

Для простоты скажу так. Отключите гипертрединг, чтобы тестировать ядра онли, отключите все power ограничители и включите и в биосе и в ОС performance и сделайте CPU пиннинг для QEMU, они это умеют теперь, после этого проверьте результаты.

Вопрос встает большой, что ж Вы там предоставляете, если даже базового понимания устройства ПК нет. А что будет когда Вы упретесь в PCIe шину на другом процессоре и забъете PCI lanes к чертям (теми же NVMe)? И Ваша мега система зависнет к чертям собачьим? Тоже на гремлинов сошлетесь?

Почитайте характеристики Вашего (я полагаю) CPU:

https://ark.intel.com/products/91767/Intel-Xeon-Processor-E5-2650-v4-30M-Cache-2_20-GHz

Там тонна экономий и шаринга.

Нормальные процессоры для массовой виртуализации пока только начали выпускать - это Intel Scalable Xeon и AMD EPYC.

Разница между ними в том, что EPYC намного мощнее и быстрее, но с багами, а Xeon стабильный (по-крайней мере на данный момент, может тоже жесть), но архитектура та же (вместо QPI теперь UPI, а количество PCIe lanes просто заставляет плакать :()

Aisamiery:
Многое зависит от кейса, в сессию многое не складывают, авторизацию, какую то юзерскую инфу и тогда получается что в сессию вы пишите при авторизации, для чего вам постоянно писать и каким должен быть кейс чтоб побить данные при одновременном чтении и записи сессии одного юзера?

Вы же в стандарте тут блочите сессию не в момент записи в неё, а в момент открытия, то есть когда вызван session_start и до момента session_write_close. В этот промежуток вы можете ничего не делать с сессией, но у вас например какой нибудь ajax запрос ресурсоемкий повесит все остальные ajax запросы на странице при это никак не работая с сессией вообще. Тут корапшен как вы говорите будет только в одном случае, если ваш кейс пишет в чужие сессии, ну или чистит чужие сессии, ну вообщем при воздействии из вне. Я работаю на достаточно больших ИМ и хз, какой кейс может побить сессию в редисе если честно. Ну а скорости конечно прибавляется, так как сессия используется на каждом хите и не мучается дисковая подсистема, хотя можно под сессии выделить и виртуальную папочку в оперативке, кому как интереснее.

Эх ПХП, ПХП... По идее если в редисе лок не ставиться на всю сессию на весь период, то скрипт выполняется в бекграунде до конца и пишет в сессию кривые данные, когда пользователь от злости обновил страницу и его новый скрипт пишет уже другие данные, на основании других записей, называется race condition, для этого и используются локи/семафоры/спины/мъютексы, в случае с файлами это как раз эксклюзивный лок на файл (который на самом деле не эксклюзивный на многих ОС), в случае с редисом - это (по идее) лок на запись в БД. В БД лок должен вестись сессионно и это отличает его от ФС, т.к. в ФС нет сессий, в БД пользователь сделал рефреш страницы, старая страница закрыла соединение с БД и соответственно транзакция откатилась, однако в случае скрипта пишущего в бекграунде Redis ничем не поможет, т.к. транзакция все равно будет завершаться, неважно сделал ли пользователь рефреш или нет.

Такой принцип работы мало отличается от ZFS (также существует транзакция, лок всего лишь запись в БД) и возможно BTRFS (не знаком), так что на новых ФС это дело не нужно (если только для кластеризации).

Так оно и в Редисе должно держать лок на сессию все время. Пока сессия открыта, в нее писать по идее не должно. Иначе коррапшн будет.

Mobiaaa:
Так устроена работа сессий в php
По дефолту это сброс данных в ФС (в файлы)
При запуске session_start() происходит блокировка сессии с помощью LOCK_EX эксклюзивной блокировки файла
Если в этот же момент приходит ещё один запрос, то второй раз блокировку уже не поставить, и PHP ждёт, пока ему дадут LOCK_EX на файл пользовательской сессии
Разблокировка происходит по session_write_close(), которую можно либо в скрипте вызвать, либо она сама вызывается по окончании работы скрипта
============
Технически разница будет при смене хостинга/сервера и т.д.
Но это будут микросекунды, которые нереально заметить
Так что смена хостинга не решит проблему с сессиями
И проблема кроется в коде CMS
Зачастую это CMS/плагины с ajax запросами
Когда первый запрос долго что-то делает, а следующие строят тонны очередей

Интересно, а в Redis как эта блокировка обходится? Если изменение не будет атомарным, то будут коррапт данные или что еще хуже возможна утечка данных. Разница только в том, что Redis как и memcache держат это в памяти. Такие проблемы говорят о медленной ФС и дисках под ФС, раз IO заставляет ждать так долго.

Зачем Вам для 300мбпс SSD? Вы видео писать или раздавать будете? Для раздачи Вполне хватить RAID 10 из 4 дисков по 2ТБ для раздачи 4 ТБ на скорости до 2gbps (особенно если это делать с новой ФС навроде ZFS).

Всего: 1657