Проблеми з продуктивністю запису PowerFlex
Summary: Після виконання технічного обслуговування мережі продуктивність запису деяких SDS тепер низька.
Symptoms
Сценарій
- Ця проблема спостерігається після виконання технічного обслуговування мережі на комутаторах Top of Rack (TOR), як правило, це перезавантаження комутаторів.
- Вузли SDS використовують зв'язок LACP для мереж передачі даних.
- Це стосується тільки вузлів SDS, що використовують перемикачі, де проводилося технічне обслуговування.
- Продуктивність запису може становити до сотень мілісекунд для певного пулу зберігання/PD.
- Продуктивність зчитування одного і того ж набору SDS є нормальною.
- «NET_LONG_RCV_GRP_PROCESS» у diag_counters.txt показує, що значення швидко зростають, тоді як останній раз збільшений залишається низьким.
Приклад:
Comp :: Counter :: Value :: ExtData :: Last Counted(Ms) NET :: NET_LONG_RCV_GRP_PROCESS :: 3756453 :: 0xffffffff :: 3120 NET :: NET_LONG_RCV_GRP_PROCESS :: 3825395 :: 0xffffffff :: 960 NET :: NET_LONG_RCV_GRP_PROCESS :: 3705906 :: 0xffffffff :: 1320 NET :: NET_LONG_RCV_GRP_PROCESS :: 4094919 :: 0xffffffff :: 1230 NET :: NET_LONG_RCV_GRP_PROCESS :: 3954725 :: 0xffffffff :: 1390 NET :: NET_LONG_RCV_GRP_PROCESS :: 3594178 :: 0xffffffff :: 420 NET :: NET_LONG_RCV_GRP_PROCESS :: 3702403 :: 0xffffffff :: 680 NET :: NET_LONG_RCV_GRP_PROCESS :: 3830299 :: 0xffffffff :: 510 NET :: NET_LONG_RCV_GRP_PROCESS :: 3491713 :: 0xffffffff :: 330 NET :: NET_LONG_RCV_GRP_PROCESS :: 4155343 :: 0xffffffff :: 690
У цьому прикладі значення в третьому стовпці високе (і зростає, якщо дивитися в прямому ефірі). П'ята колонка показує, коли вона зустрічалася востаннє, що становить менше секунди для значної частини SDS.
У здоровій системі PowerFlex третій стовпець не буде вести відлік, а п'ятий стовпець буде вести зворотний відлік, оскільки останній раз, коли ви зустрічалися, з часом збільшується.
Для перегляду лічильників у прямому ефірі можна виконати такі команди:
#Set змінну для SDS у відповідному домені захисту. Введіть тут відповідну назву ПД.
pd=<PD_NAME>
#Set змінну для кількості SDS у домені захисту. Запустіть це як є.
num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`
#login дати можливість спрацювати останній команді.
scli --login --username admin
#Watch правильний лічильник з команди «query_diag_counters» для кожної СДС.
watch -d -n 1 "for x in \$(scli --query_all_sds | grep -A $num $pd | grep ID | awk '{print \$5}'); do echo \$x; scli --query_diag_counters | grep -A30 \$x | grep -Em1 '\$x|NET_LONG_RCV_GRP_PROCESS'; done"
У здоровій системі очікуйте, що п'ята колонка буде регулярно відраховувати з плином часу, а третя колонка буде статичною. Якщо час у п'ятій колонці залишається низьким, а в третьому стовпці ведеться зворотний відлік, це симптом проблеми.
Вплив
Продуктивність запису низька для клієнтів.
Cause
«NET_LONG_RCV_GRP_PROCESS», який відстежується вище, вказує на те, що надсилання даних TCP на віддалений SDS зайняло більше 1 секунди.
Ця затримка може статися через невелике початкове вікно перевантаження TCP після обслуговування мережі та відсутність відповідного налаштування параметра пакетів OOO (Out of Order) в операційній системі. Це призводить до того, що роз'єми SDS – SDS не можуть ефективно обмінюватися даними, що призводить до багаторазової ретрансмісії TCP та зменшення розміру сегмента. Це створює вищу затримку під час запису, оскільки це вплине лише на сокети SDS у SDS.
Затримка зчитування залишається незмінною, оскільки SDC (клієнти) обмінюються даними з одним запитом вводу-виводу SDS на зчитування і не покладаються на зв'язок SDS з SDS TCP.
Resolution
Для негайного вирішення проблеми перезапустіть службу SDS на кожному вузлі, якого це стосується. Використовуйте режим обслуговування під час перезапуску процесу SDS. Достатньо «pkill sds», коли вузол знаходиться на технічному обслуговуванні.
Щоб запобігти виникненню проблеми в майбутньому, виконайте такі дії:
- Застосуйте параметри sysctl, які обговорюються в цій статті про загальнодоступну базу даних:
Вузли сервера зберігання даних можуть містити неправильні параметри налаштування системи, що може призвести до проблем із продуктивністю
- Якщо використовується RHEL/CentOS 7, оновіть версію ядра ОС на вузлах SDS до "3.10.0-1160.66.1" або пізніше
Версія, що зазнала впливу
Технологія PowerFlex 3.x
Виправлено у версії
RCM версії 3.6.3.2 або новішої
IC версії 38.363.02 або новішої