h1. Рекомендации по аппаратному обеспечению {{>toc}} Ниже приведены *ориентировочные* рекомендации по выбору системного аппаратного обеспечения. Они не являются точными, посколько на загрузку системы влияют множество факторов, которые специфичны для каждой установки. Например: * кол-во менеджеров, работающих с веб-интерфейсом * кол-во звонков в секунду * [[Показатель ASR|ASR]] и [[Показатель ACD|ACD]] * кол-во звонков с перекодировкой кодеков * кол-во SIP пользователей, регистрирующихся на системе * кол-во звонков с обработкой или перекодировкой факсов * кол-во звонков с [[ДВО]] * кол-во цен на направления * итп Довольно сложно учесть все факторы, но ниже мы попытаемся учесть основные факторы. h2. CPU Подбор CPU основан на сравнении согласно "Passmask бенчмарку":http://www.cpubenchmark.net/. Имеются данные испытаний с различными параметрами трафика для различных CPU: *VoIP*: |*ASR (%)*|*ACD (минут)*|*перекодировка кодеков (% звонков)*|*аудиозапись (% звонков)*|[[Захват звонков]] (% звонков)|*CPU*|*Passmark бенчмарк*|*кол-во одновременных звонков*|версия Smartswitch| |40|2|15|0|0|Xeon E5-2697 v2 @ 2.70GHz|17812|2200|| |4|3|15|0|0|Xeon E3-1230 v2 @ 3.30GHz|8890|750|| |20|2|20|25|0|Pentium(R) Dual-Core E5300 @ 2.60GHz|1553|120|| |5|4|0|0|0|Pentium(R) Dual-Core E5300 @ 2.60GHz|1553|150|| |10|3|10|50|0|Pentium(R) Dual-Core E5300 @ 2.60GHz|1553|150|| |45|1|10|90|10|Pentium(R) Dual-Core E5300 @ 2.60GHz|1553|100|7.11.37091| |1|3|0|20|20|Xeon(R) CPU E5-1650 v3 @ 3.50GHz|13601|700|7.11.42301| Под *аудиозаписью* подразумевается запись в *sln* формате, и перекодирование в *mp3* в моменты простоя (напр. ночью). *SMPP*: |*доля успешных (%)*|*CPU*|*Passmark бенчмарк*|*кол-во сообщений в секунду*| |100|Pentium(R) Dual-Core E5300 @ 2.60GHz|1553|100| Используя общедоступные данные "Passmask бенчмарка":http://www.cpubenchmark.net/cpu_list.php возможно вычислить максимальную нагрузку, которую сможет выдержать ваш CPU. *Например*, по таблице выше, установлено, что CPU Intel(R) Xeon(R) E5-2697 v2 @ 2.70GHz способен обрабатывать *2200 звонков с [[Показатель ASR|ASR]] 40%, [[Показатель ACD|ACD]] 2 минуты, 15% звонков с перекодировкой кодеков*. Требуется установить сколько звонков сможет поддерживать ваш CPU при таких же параметрах трафика. Зайдите на "http://www.cpubenchmark.net/cpu_list.php":http://www.cpubenchmark.net/cpu_list.php Введите название вашего CPU. Бенчмарк PassMark показывает для Xeon E5-2697 17812. Согласно бенчмарка PassMark для вашего CPU пропорционально посчитайте, сколько сможет обработать ваш CPU. Например, ваш CPU Intel(R) Core(TM) i3 550 @ 3.20GHz. Его PassMark 2846. Следовательно, ваш CPU сможет обработать 2846 * 2200 / 17812 = 350 звонков с [[Показатель ASR|ASR]] 40%, [[Показатель ACD|ACD]] 2 минуты, 15% звонков с перекодировкой кодеков. *Внимание!* Если на сервере будет не только обработка трафика, а и активная работа с веб-интерфейсом (формирование отчетов, итп), следует заложить 20% мощности сервера на эти задачи. Также следует заложить 10-20% мощности на пиковые нагрузки. Например, вы подсчитали мощность для среднего [[Показатель ASR|ASR]] 40% в течение дня, а в течение 10-20 минут в день может быть кратковременно [[Показатель ASR|ASR]] 5%. Очевидно, что если не будет заложен запас, то в эти моменты пиковой нагрузки будут проблемы с качеством. h2. NIC Рекомендум 1Gbit Intel для всех конфигураций больше 10 одновременных звонков, как наименее проблемный чип. Если речь идет о 10 звонках - то любой чип подойдет. h2. Объем RAM |*общее кол-во звонков*|*RAM*| |50|4G| |100|8G| |250|16G| |500|32G| |1000|64G| h2. Хранение данных. От выбора системы хранения данных зависит то, как комплекс будет функционировать в целом. h3. RAID зеркало. Для односерверных инсталляций *мы настроятельно рекомендуем* устанавливать зеркало RAID из 2 жестких дисков. Зеркало может быть программное, аппаратное либо полу-программное. Это защитит ваши данные от потери в случае выхода из строя жесткого диска. Для кластерных установок нет такого жесткого требования, так так данные реплицируются между узлами кластера В случае выхода со строя одного из узлов данные будут доступными на оставшихся узлах. Однако даже в этом случае предпочтительнее устанавливать RAID, так как замена жесткого диска и синхронизация узла с нуля займет больше 1 дня, в течение которого будет простой этого узла. В порядке убывания производительности: * программный RAID на NVME * программный RAID на SSD * аппаратный RAID на HDD * полу-программный RAID на HDD * программный RAID на HDD Обратите внимание, что при нагрузке более 200 одновременных звонков (а с записью разговоров более 100) и одновременно интенсивной работе с веб-интерфейсом (загрузка цен, генерация отчетов, итп) на одном сервере, программный и полупрограммный RAID на HDD может быть недостаточно производительным. Это может вызывать запаздывание биллинга звонков и "медлительность" веб-интерфейса. В этом случае рекомендуем: 1) разнести систему и базу CDR по разным жестким дискам (см. раздел Жесткие диски ниже) 2) использовать более производительное аппаратное обеспечение (см. выше) 3) если после выполнения п.1-2 нагрузка все равно слишком большая - разнести систему на 2 сервера. Один будет заниматься телефонией, второй - биллингом и веб-интерфейсом. Подробнее о возможных схемах кластеризации см. в разделе [[Кластеризация]]. В случае, если выбирается аппаратный RAID контроллер без привязки к конкретной модели, мы рекомендуем следующих производителей (в порядке убывания приоритета): * Adaptec (лучший выбор) * 3ware * LSI Для продукции этих производителей обычно есть драйвера (однако нужно дополнительно проверить поддержку конкретного устройства, см. "Поддержка со стороны операционной системы" ниже) и утилиты для контроля и пересборки RAID из-под работающей системы. Если вы выберете RAID контроллер другого производителя, то возможны проблемы с доступностью утилит контроля (даже при наличии драйвера RAID - см. "Поддержка со стороны операционной системы"). Это может привести к невозможности пересборки RAID (при замене диска) из-под работающей системы и что может привести к необходимости делать пересборку из BIOS. Это в свою очередь, приведет к приостановке сервиса на несколько часов, если один из дисков выйдет со строя и потребуется его заменить, что может быть недопустимо для вашего бизнеса. По конкретной модели, на текущий момент самый лучший результат показал сравнительно дешевый RAID контроллер +LSI MegaRAID SAS 9260-4i+. Бенчмарк dbench показал на зеркале из 2 SATA дисков 1200 Mbps, на зеркале из 2 SSD дисков - 1500 Mbps. Что примерно в 2 раза в среднем превосходит показатели протестированных Adaptec. Также, не было отмечено серьезных проблем с надежностью на нескольких серверах с данным контроллером. Поэтому, если есть возможность, и вы не хотите экспериментировать с моделями контролеров, используйте именно этот контроллер. h3. Жесткие диски Для улучшения производительности, желательно разнести систему и хранилище CDR (а также аудио записей и pcap файлов) по 2 разным жестким дискам. При использовании RAID зеркала - по 2 разным зеркальным томам (2 тома по 2 диска). Таким образом, генерация отчетов, аудио и pcap запись не будут влиять на качество работы телефонии. При интенсивной аудиозаписи (больше 50 одновременных звонков) это *обязательное* условие качественной работы системы. h4. Типы жестких дисков. В данный момент на рынке есть жесткие диски следующих типов (в порядке убывания производительности): * NVME * SSD * SAS HDD * SATA HDD Рекомендуем отталкиваться от максимального требуемого размера дискового пространства и подбирать максимально производительные комбинации. Например, если Вам требуется 3Тб дискового пространства, то возможны варианты в порядке убывания производительности: 1) 1 NVME на 3Tb 2) 1 NVME на 1Tb + 1 SSD на 2Tb 3) 1 NVME на 1Tb + 1 SATA HDD на 2Tb итд Также возможные комбинации зависят от кол-ва портов внутри сервера. Требуется проанализировать экономическую составляющую комбинаций согласно текущих цен на рынке на покупку/аренду аппаратного обеспечения и затем выбрать оптимальную. h4. Объем жестких дисков Объем жесткого диска расчитан на: * хранение всех CDR за последние 3 года при [[Показатель ASR|ASR]] больше 10%. * хранение аудио записей за последний 1 месяц * хранение pcap данных за последний 1 месяц |*общее кол-во звонков*|*Общий доступный объем*| |50|250G| |100|500G| |250|1Т| |500|2Т| |1000|3Т| Для кластерных конфигураций более 1000 одновременных звонков рекомендуется установить отдельный сервер для биллинга с аппаратным RAID зеркалом 3Т и более. h3. Поддержка со стороны операционной системы. Аппаратное обеспечение в составе сервера может быть слишком новым либо специфичным и для него могут отсутствовать драйвера в FreeBSD, на базе которой мы устанавливаем Smartswitch. Потому перед приобретением сервера проверьте, что номера чипов присутствуют в списке поддерживаемого оборудования. Список поддерживаемого оборудования FreeBSD: http://www.freebsd.org/releases/12.2R/hardware.html На что следует обратить внимание: * поддержка номера чипа сетевой карты * поддержка номера чипа RAID контроллера (если установлен в сервере) Номер чипа можно узнать из детальной спецификации сервера, которую должен предоставить хостер либо продавец сервера. Поиск в документе можно осуществлять по CTRL+F. Если есть возможность, лучше предварительно установить бесплатно распространяемый образ Smartswitch (http://streamco.org/ru/products/smartswitch/download) для проверки совместимости. Если удалось установить систему с образа и сервер пингуется - то сервер совместим для работы Smartswitch. h3. Что требуется нам знать, чтоб вычислить подходящий сервер под ваши задачи Предоставьте предполагаемые пиковые параметры Вашего трафика, которые дадут максимальную нагрузку на оборудование: 1. Кол-во одновременных звонков (чем больше - тем выше нагрузка). 2. [[Показатель ASR|ASR]] ( %, чем меньше - тем выше нагрузка) 3. [[Показатель ACD|ACD]] (минуты, чем меньше - тем выше нагрузка) 4. Перекодировка кодеков ( % звонков, чем больше - тем выше нагрузка) 5. Аудиозапись ( % звонков, чем больше - тем выше нагрузка) 6. Захват pcap ( % звонков/SMS, чем больше - тем выше нагрузка) 7. Сколько времени требуется хранить CDR, аудиозаписи, pcap (чем дольше - тем больше требуется ёмкости дисков) [[Recommended hardware|English translation]]