отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 
cancel

Производительность платформы ISR4000: лицензирование и troubleshooting

1067
Просмотры
5
Полезный материал
1
Комментарии

Перед прочтением этой статьи настоятельно рекомендую прочитать этот документ.

Тема с производительностью платформы ISR4000 не то чтобы сложная и запутанная, но, на мой взгляд, требующая некоторого разъяснения. Думаю, вы уже знаете, что все маршрутизаторы серии ISR4000 имеют базовый вариант производительности, как говорится «из коробки», и вариант с увеличенной производительностью, при наличии performance license. Оба эти варианта имеют ограничения по пропускной способности, индивидуальные для каждой модели, реализованные с помощью глобального шейпера в Data Plane. Начиная с версии IOS XE 16.7.1 к этому набору добавилась ещё boost license, которая снимает ограничение в виде шейпера.

Ниже представлена таблица производительности платформы.

 

Cisco 4461

Cisco 4451

Cisco 4431

Cisco 4351

Cisco 4331

Cisco 4321

Cisco 4221

Aggregate Throughput (Default)

1.5Gbps

1 Gbps

500 Mbps

200 Mbps

100 Mbps

50 Mbps

35Mbps

Aggregate Throughput (Performance License)

3Gbps

2 Gbps

1 Gbps

400 Mbps

300 Mbps

100 Mbps

75 Mbps

Aggregate CEF Only* Throughput (Boost License)

Over 7Gbps

Over 4Gbps

Over 4Gbps

Over 2Gbps

Over 2Gbps

1.5Gbps

1.2Gbps

* При использовании встроенных интерфейсов Gigabit Ethernet
 
И первое, что часто вызывает непонимание у людей, это то, что такое Aggregate Throughput. Это пропускная способность в одну сторону или в обе? Кто-то думает, что если в обе стороны, то значение делится пополам для каждого из направлений. Разберёмся по порядку. Во-первых, под Aggregate Throughput понимается суммарная пропускная способность системы, то есть одновременно для направлений UP и DOWN. Во-вторых, это значение не делится пополам. То есть если максимальная пропускная способность вашей системы, например, 1 Gbps, то вы можете прокачать в направление DOWN даже 950 Mbps, если утилизируете в направлении UP не более 50 Mbps.

Также вы должны отчётливо понимать, что в таблице приведены справочные данные. В реальности производительность может отличаться как в меньшую, так и в большую сторону (если вы используете boost лицензию). Всё будет сильно зависеть от паттерна трафика. Помните, что по сути вы упираетесь в PPS (Packet Per Second), а не в BPS (Bit Per Second). Именно PPS будет предсказуемым и будет оставаться в большинстве случаев приблизительно одинаковым.

Следующий момент, который может волновать инженеров, эксплуатирующих данную платформу: а что будет, если трафик превысит лимит, определённый глобальным шейпером? Весь этот трафик будет отброшен? Нет, это не так. Ответ кроется в вопросе. Раз это шейпер, значит трафик, превышающий пороговое значение, будет буферизоваться и передаваться при возникновении свободных ресурсов. Естественно, буфер не резиновый и трафик может в него не уместиться. Вот тогда уже трафик начнёт отбрасываться. Способность справляться с Burst будет варьироваться в зависимости от модели.
 
Теперь давайте разберёмся, за счёт чего увеличивается производительность. 
Default_Perf-lic.PNG
При активации Performance License задействуются неиспользуемые ранее ядра Data Plane. Именно поэтому для лучшего понимания я и рекомендовал в начале статьи ознакомиться с архитектурными особенностями платформы.
 
C активацией Boost License изменения в использовании ресурсов будут происходить по-разному в зависимости от модели. На старших моделях (4431/4451/4461) с выделенными Control Plane и Data Plane снимается глобальный шейпер. На моделях 4331/4351 с монокристальной архитектурой снимается шейпер и два сервисных ядра, предназначавшиеся для работы с контейнерами, переназначаются для использования в Data Plane.
4331 boost.PNG
Не трудно догадаться, что платформа 4300 со включенной Boost-лицензией утрачивает возможность работать с контейнерами. На моделях 4221 и 4321 после активации Boost license снимается глобальный шейпер. Выделения дополнительных ядер для нужд Data Plane не происходит.
 
Нужно понимать, что пока вы используете тип лицензирования, предусматривающий наличие глобального шейпера, производительность системы остаётся достаточно предсказуемой. Деградация производительности с усложнением конфигурации и ростом числа используемых сервисов происходит незначительная.
Deterministic.PNG
Как только вы активируете Boost-лицензию перестаньте рассчитывать на предсказуемость производительности. 
 
Посмотреть текущий уровень производительность вашей системы  вы можете следующей командой
Router# show platform hardware throughput level
The current throughput level is 100000 kb/s
Здесь приведён вывод с маршрутизатора Cisco ISR4331 без performance license.
 
Вы можете инсталлировать лицензию (листенинг приводиться не будет) или активировать пробную лицензию, чтобы убедиться, что производительности устройства с performance license будет хватать.
Router(config)# platform hardware throughput level ?
100000  throughput in kbps
  300000  throughput in kbps
Router(config)# platform hardware throughput level 300000
Перезагружаем маршрутизатор.
 
Посмотрим, как изменилась текущая производительность вашей системы
Router# show platform hardware throughput level
The current throughput level is 300000 kb/s
 
Как уже говорилось ранее, данное значение будет зависеть от модели маршрутизатора и типа установленной лицензии
Router# show license
<...вывод обрезан...>
Index 9 Feature: throughput
Period left: Life time
License Type: Permanent
License State: Active, In Use
License Count: Non-Counted
License Priority: Low
 

Troubleshooting пропускной способности системы

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

Router# show platform hardware throughput-monitor parameters
Throughput monitor parameters

Throughput monitor threshold: 90 percent
Throughput monitor interval: 300 seconds
Throughput monitor status: enabled

Это означает, что сообщение появится в логе, когда на протяжении 5 минут будет утилизироваться более 90% полосы. Значения по умолчанию так себе. Я предпочитаю пороговое значение в 80% и интервал 60 секунд. Изменим настройки

Router# set platform hardware throughput-monitor threshold 90 interval 300

Посмотрим, что получилось

Router# show platform hardware throughput-monitor parameters
Throughput monitor parameters

Throughput monitor threshold: 80 percent
Throughput monitor interval: 60 seconds
Throughput monitor status: enabled

Теперь у нас будут появляться следующие типы сообщений:

В случае приближения к максимальному значению пропускной способности системы

%BW_LICENSE-4-THROUGHPUT_MAX_LEVEL: SIP0: cpp_ha: Average throughput rate approached the licensed bandwidth of 300000000 bps during 1 sampling periods in the last 24 hours, sampling period is 60 seconds

В случае превышения порогового значения в 80%

%BW_LICENSE-5-THROUGHPUT_THRESHOLD_LEVEL: F0: cpp_ha: Average throughput rate exceeded 80 percent of licensed bandwidth 300000000 bps 25 times, sample period 60 seconds, in last 24 hours

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

%BW_LICENSE-4-THROUGHPUT_MAX_LEVEL: F0: cpp_ha: Average throughput rate exceeded the total licensed bandwidth 300000000 bps and dropped 8 times, sample period 60 seconds, in last 24 hours

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

Ниже приведённая команда показывает утилизацию платформы

Router# show plat hard qfp active datapath utilization
CPP 0: Subdev 0 5 secs 1 min 5 min 60 min
Input: Priority (pps) 0 0 0 0
(bps) 0 0 0 0
Non-Priority (pps) 18027 17536 17493 17740
(bps) 101806904 184352 195272 204816
Total (pps) 18207 17536 17493 17740
(bps) 101806904 184352 195272 204816
Output: Priority (pps) 0 0 0 0
(bps) 0 0 0 0
Non-Priority (pps) 17916 17400 17361 17578
(bps) 99956512 198024 209024 218568
Total (pps) 17916 17400 17361 17578
(bps) 99956512 97592394 98694332 94902000
Processing: Load (pct) 7 7 7 7

Если посмотреть на поля, выделенные красным, то мы у видим, что пропускная способность устройства подошла в плотную к своему пределу (в примере ISR4331 без performance license). Также стоит обратить внимание на поля синего цвета, где мы видим итоговую загрузку Data Plane в процентах. Значение может быть низким, как у нас в примере, при большом количестве трафика, а может быть и высоким, при относительно небольшом количестве трафика (например, если весь трафик шифруется). Это очень важный показатель. Если он перевалил за 70-80%, то уже явно пора задуматься о приобретении новый платформы.

Теперь посмотрим, а были ли превышения лимита

Router# show platform hardware qfp active statistics drop
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
<....>
TailDrop 4395 6634970
<....>

Скорее всего, в выводе будут и другие значения, но нас интересует именно Tail Drop. Это то количество пакетов, которое превысило не только максимальное значение пропускной способности, определённое лицензией, но и не уместилось в буфер глобального шейпера Data Plane, и, следовательно, было отброшено.

Ещё мы можем посмотреть на каких интерфейсах происходит так называемая переподписка.

Router# show platform hardware qfp active feature lic-bw oversubscription
Interface: GigabitEthernet0/0/0, QFP interface: 7

Overall Traffic:
enqueued (bytes): 7188433, (packets): 75926
tail_drops (bytes): 0, (packets): 0
total (bytes): 7188433, (packets): 75926

Interface: GigabitEthernet0/0/1, QFP interface: 8

Overall Traffic:
enqueued (bytes): 10492353355, (packets): 236972715
tail_drops (bytes): 18809589, (packets): 56020
total (bytes): 10511162944, (packets): 237028735

Interface: GigabitEthernet0/0/2, QFP interface: 9

Overall Traffic:
enqueued (bytes): 9544293, (packets): 57041
tail_drops (bytes): 0, (packets): 0
total (bytes): 9544293, (packets): 57041

Обратите внимание. Если вдруг на незагруженном интерфейсе у вас начинает копиться счётчик enqueued, это может означать, что вы превышаете лимит пропускной способности платформы, определённый лицензией. Счётчик tail_drops необязательно на прямую указывает на превышение лимита, но может служить сигналом для того, чтобы начать думать в эту сторону.

Также мы можем посмотреть, где именно образовалось «бутылочное горлышко»

Router# show platform hardware qfp active datapath infrastructure sw-cio

Core Utilization

----------------
ID: 0 1 2 3 4 5
% PP: 42.15 41.55 41.76 41.71 41.97 0.00
% RX: 0.00 0.00 0.00 0.00 0.00 43.02
% TM: 0.00 0.00 0.00 0.00 0.00 30.00
% CRYPTO: 0.00 0.00 0.00 0.00 0.00 26.98
% IDLE: 57.85 58.45 58.24 58.29 58.03 0.00

В примере показан вывод с маршрутизатора Cisco ISR4331 с активированной boost license. В данном случае в Data Plane участвуют 6 PPE (Packet Processing Engine). Последний из них отвечает за шифрование. Мы видим, что он загружен на 100%. Это свидетельствует о том, что мы уперлись в предел возможности платформы по шифрованию.

 

Целью данной статьи не ставилось раскрыть все тонкости лицензирования производительности платформы ISR4000, а также не ставилась цель рассказать совершенно всё о траблшутинге данной проблематики. Было желание рассмотреть основные моменты, которые могут возникнуть при столкновении с лицензированием производительности, а также задать вектор поиска проблем, в случае их возникновения. Надеюсь, было полезно.

Комментарии
fractal90
Beginner

Еще не хватает статьи по линейке ISR1000, там тоже с лицензиями намудрено)

Не удалось отобразить этот виджет.