LINUX.ORG.RU
ФорумAdmin

IOPS и откуда их взять


1

2

У меня есть некий серверный софт (допустим localbugtrackingwebsite). Он будет выполняться на виртуалке. Админы требуют предоставить требования на IOPS для этой виртуалки. Есть три пользователя. В среднем создается один баг в день и три пользователя его читают по два раза.

я бы мог написать «обеспечте 0,000042 IOPS», но хотелось бы понять, как написать требование технически обоснованно. То, что админы мудаки с таким требованием - я им уже сказал.

Из /proc/diskstats можно вынуть количество операций. https://www.kernel.org/doc/Documentation/iostats.txt

Делаешь копию этого файла, начинаешь отсчёт времени, делаешь каким-нибудь wget-ом самую напряжную операцию (создать отчёт) одновременно от имена макс. числа одновременных пользователей, заканчиваешь отсчёт времени, делаешь вторую копию файла.

Складываешь для каждого файла (reads_completed - reads_merged) + (writes_completed - writes_merged). Вычитаешь значение для превого файла из значения для второго - получаешь количество IO операций. Прикидываешь, какая минимальная скорость завершения операции устроит пользователей - делишь IO на это время. Получились требуемые IOPS.

Это всё я сейчас из головы придумал, вообще есть такая штука, как нагрузочное тестирование, в этом тестировщики должны разбираться

selivan ★★★
()
Последнее исправление: selivan (всего исправлений: 1)
Ответ на: комментарий от selivan

Из /proc/diskstats можно вынуть количество операций

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

StrongDollar
() автор топика
Последнее исправление: StrongDollar (всего исправлений: 1)
Ответ на: комментарий от StrongDollar

Бггг. Служебная записка. Требуется создать виртуальную машину для проведения нагрузочного тестирования для выяснения требуемых параметров виртуальной машины для установки ПО localbugtrackingwebsite.

Ищи в интернетах, сколько IOPS даёт нормальный десктопный винт, и проси столько/4. Обоснование - для обеспечения необходимой отзывчивости системы.

selivan ★★★
()
Ответ на: комментарий от selivan

Ищи в интернетах, сколько IOPS даёт нормальный десктопный винт, и проси столько/4. Обоснование - для обеспечения необходимой отзывчивости системы.

плохое обоснование, некачественное. Почему бы тогда отдельный стоечный сервер не попросить, или даже пару, для резервирования?

Моя задача, чтобы сделали на имеющемся оборудовании, тем более оно у них используется менее чем на процент.

StrongDollar
() автор топика
Ответ на: комментарий от zolden

мне работать надо, моя работа будет наклыдываться на работу сайта и собъет статистику. А не работать в течение месяца, чтобы собрать статистику по тем 100 обращениям к сайту я не могу

Кроме того, допустим у меня windows на декстопе, а создание бриджей запрещено политикой домена. Т.е. если я сайт поставлю в виртуалке, то не смогу его предоставить пользователям.

StrongDollar
() автор топика
Последнее исправление: StrongDollar (всего исправлений: 1)

Для этого нужно знать характер нагрузки. Обычно, когда мне дают ТЗ на СХД с iops, то эти самые iops смотрят по тем показателям, что у них уже есть. Можешь попробовать сделать ход конем и подсчитать iops так:

IOPS = (MBps Throughput / KB per IO) * 1024
, где KB per IO - размер блока i/o.

cipher ★★★★★
()

Ищи в интернетах, сколько IOPS даёт нормальный десктопный винт

40..80

Админы требуют предоставить требования на IOPS для этой виртуалки.

Есть подозрение, что тут поработал «сломанный телефон». Предположительно, они хотят знать, сколько ресурсов ТЫ хочешь, чтобы было от чего отталкиваться при оценке ( «мне нужно 2 Гб памяти, 400 МГц процессора, на диск пофиг - всё что нужно кэшируется в памяти» Или «мне нужно 4 Гб памяти, 2 ядра. Приоритет IO максимальный, будет работать критичная БД» ) Просто исходя из твоего запроса, ВМ выделят гарантированные ресурсы и приоритет, исходя из которого ВМ будет получать дополнительные ресурсы из свободного пула, если в них возникнет необходимость. Точную оценку от тебя не требуют.

Примерно скажи, будет ли оно сильно грузить диск. selivan кстати хорошую идею выдвинул.

router ★★★★★
()
Ответ на: комментарий от cipher

Прошу предоставить 1\10 объема HDD Seagate xxx в размере 12 гигабайт с 1\10 IOPS HDD Seagate xxx в количестве 20 IOPS. Число подпись.

anonymous
()
Ответ на: комментарий от StrongDollar

Для хорошего и качественного поднимай тестовый стенд, и строй графики. И интервал сбора статистики поменьше. Секунд 20.

Ты хочешь получить абсолютную истину, с точностью до 0.05% ? Нагрузка на диск зависит от нагрузки на твоё приложение. Плюс если нагрузка будет линейно расти, а БД спроектирована паршиво, ты очень быстро упрёшься в ЛЮБОЙ лимит по IO

router ★★★★★
()
Ответ на: комментарий от selivan

Это всё я сейчас из головы придумал, вообще есть такая штука, как нагрузочное тестирование, в этом тестировщики должны разбираться

ради такой херни ни один уважающий себя тестировщик не станет гемороиться нагрузочным тестированием. пушшо это заколачивание гвоздей микроскопом в чистом виде. хотя если так уж надо - jmeter + iostat на максимально возможном количестве юзеров + инженерный запас

vostrik ★★★☆
()
Ответ на: комментарий от cipher

вообще простейший вариант - посмотреть на табличку вот тут: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html

и нефиг морочиться расчетами и графиками. это если приложение действительно helloworld для 3х с половиной юзеров

vostrik ★★★☆
()
Ответ на: комментарий от StrongDollar

нельзя, потому что виртуалки ещё нет

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

emulek
()
Ответ на: комментарий от emulek

40 - это паршивый wd green. 80 - очень хороший диск, приближающийся по скорости к scsi 10k

Где ты собираешься взять +-over9000%, диванный теоретик?

router ★★★★★
()
Ответ на: комментарий от router

Где ты собираешься взять +-over9000%, диванный теоретик?

минус возьмётся с того факта, что не во всех юзкейсах HDD нужен. Многим приложениям он (почти)не нужен. Ну вот для просмотра кино тебе нужно очень редко читать очень большой и непрерывный(в 95%) кусок.

Плюс возьмётся тогда, когда от диска нужно два(и более) файла сразу и/или рандомный доступ к диску. Тут всё зависит от того, сможет-ли диск это всё закешировать. В терминальном случае ты закешируешь скажем 10Мб самим диском, и получишь Over9000 iops на чтении своего буфера(в диске).

Конечно, IRL эти два терминальных случая редко встречаются.

emulek
()
Ответ на: комментарий от emulek

Я фигею с твоего раздутого ЧСВ. Иди хоть почитай, что такое «максимальное число IOPS, которое может дать декстопный винт»

Всего неделю как убрал тебя из игнор-листа, а уже хочется добавить обратно.

router ★★★★★
()
Ответ на: комментарий от router

Я фигею с твоего раздутого ЧСВ. Иди хоть почитай, что такое «максимальное число IOPS, которое может дать декстопный винт»

при чём тут ЧСВ? Ну ткни меня в мануал, которого я не осилил. ЧСВ как раз у тебя, в твоём «иди почитай, я сам не читал, но мне лучше знать, а ты дурак, и это очевидно».

emulek
()
Ответ на: комментарий от emulek

при чём тут ЧСВ?

В том, что ты с важным видом отвечаешь голосам в своей голове. Перечитай ветку дискуссии, в которую ты пытаешься влезть.

router ★★★★★
()
Ответ на: комментарий от selivan

Ищи в интернетах, сколько IOPS даёт нормальный десктопный винт, и проси столько/4

SNIA официально говорят что 200. 3.14здят-с

dyasny ★★★★★
()
Ответ на: комментарий от robot12

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

Я им сказал требования по памяти (512) и по cpu (1 шт). Для конфигурирования виртуалки этого достаточно. А эти разложившиеся и коррумпированые падлы хотят купить новый сервер. Причем за счет денег моего проекта.

Так что всё правильно я их обозвал.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

А кто сказал, что нужно реальных пользователей туда запускать. Сделай wget к самым тяжёлым страницам в столько потоков сколько максимально юзеров должна держать твоя система. Полученный результат IOPS и дай админам (я не думаю, что будет хорошо, если каждая страничка будет грузиться десятки секунд, так что пусть грузится под полной нагрузкой за секунду-две).

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от router

В том, что ты с важным видом отвечаешь голосам в своей голове.

нет ты. Со своими высосанными из пальца «40..80».

emulek
()

Я, конечно, понимаю админов, но, №;%, разве виртуалки не тем ценны, что можно ресурсы перераспределять в процессе использования, а не перед покупкой оборудования?

DonkeyHot ★★★★★
()
Ответ на: комментарий от DonkeyHot

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

А тут некомпетентный руководитель админов не в состоянии посчитать стоимость своих услуг и предложить их внутренним клиентам в рамках внутрифирменных взаимозачетов.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

ИМХО, вы играете в испорченный телефон.

Тебя спрашивают: «есть ли у тебя АПРИОРИ требования к ресурсам». А то выделят ресурсы по своему усмотрению. И когда тебе не хватит ресурсов, ты будешь отправлять повторный запрос. И вот тогда уже может оказать, что ресурсов кластера недостаточно для удовлетворения твоих НОВЫХ, АПОСТЕРИОРНЫХ требований и нужно будет покупать новый сервер.

router ★★★★★
()
Ответ на: комментарий от router

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

мне проще повторно запрос отправить (тем более, что в данном случае это не понадобится в ближайшиё год-два). Чем сидеть несколько недель изучать всё про IOPS в условиях секретности архитектуры аппаратной части (потому что «это меня не касается»)

выделят ресурсы по своему усмотрению

меня бы это устроило. Как раз не хотят шевелиться и требуют больше разных документов, типичные бюрократы.

StrongDollar
() автор топика
Ответ на: комментарий от StrongDollar

меня бы это устроило

Так возьми и скажи «у меня сейчас требований нет, выделяйте по своему усмотрению ( по минимуму)»

router ★★★★★
()
Ответ на: комментарий от router

говорил, не сработало. Руководитель админов был твёрд в своём желании нового сервера. Он его потом провёл в рамках другого проекта, под предлогом того, что нужен сервер для хостинга коннектора между старой и разрабатываемой системой.

StrongDollar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.