«Сетевой интерфейс» - его значение в информационной системе 1С (7.7./8.1./8.2./8.3) Протестируй свою сеть.

27.06.13

База данных - HighLoad оптимизация

    Является ли сеть узким местом в производительности вашей информационной системы (например, в информационной системе 1С) – этот вопрос задают себе многие специалисты и сами же отвечают себе: «нет», после анализа «загруженности сети», но все ли так тривиально…? «Загруженность сети» определяется пропускной способностью и трафиком пакетов, который проходит через нее в текущий момент – достаточно ли только этого показателя.

Скачать файлы

Наименование Файл Версия Размер
Программа для тестирования сети
.exe 6,00Mb
92
.exe 6,00Mb 92 Скачать

      Для примера сравним трафик пакетов по сети, который возникает в момент копирования большого файла (1 Тб) и трафик, возникающий в учетной системе (например, между сервером приложений 1С 8 и MS SQL) с большим количеством запросов (несколько тысяч в секунду – реальный показатель для высоконагруженных систем). С копированием большого файла все более менее ясно, файл разбивается на равные пакеты и передается максимально быстро (в соответствие с пропускной способностью сети), а трафик учетной системы неоднороден (запросы разного размера – сравнительно небольшого до нескольких кб) и чтобы «загрузить сеть» запросами, например 10кб, потребуется сгенерировать очень большое количество запросов (возможно даже нереальное для вашей информационной системы) в единицу времени. Получается, что ориентироваться только на «пропускную способность сети» и «загрузку сети» в учетных системах нельзя, и важно понимать такой параметр, как «отклик сети», количество пакетов (а это, в конечном счете, запросы к серверу SQL), которые можно передать с одного сервера на другой в единицу времени.

Два примера из «жизни»:

-   Пример 1: сервер БД и сервер приложения 1С 8 находятся на одном аппаратном ресурсе, то информационная система работает достаточно быстро. Когда их разносят на разные аппаратные ресурсы, пользовательские операции замедляются.

-   Пример 2: сервер БД и сервер приложений 1С 8 находятся на различных аппаратных ресурсах. Когда в системе работают несколько пользователей, то длительность операций приемлемая. Если большое количество пользователей формируют отчеты, то скорость резко падает (при этом сервер приложения 1С и сервер БД не нагружен).

      Исходя из всего вышесказанного, решили провести небольшое исследование сетевых интерфейсов на предмет их производительности при использовании в различных информационных системах (оборудование предоставил наш партнер USN Computers).

Параметры серверов для исследования

Сервер БД

Windows Server 2008 R2 Enterprise (высокая производительность)

SQL Server 2008 R2

Intel Core i7

8 Gb ОЗУ

Сервер клиент

Windows Server R2 Enterprise (высокая производительность)

AMD eight - core FX – 8350

16 Gb ОЗУ

 

 Исследуемые сетевые интерфейсы

Интерфейс1: Marvell Yukon 88E8056 PCI-E Gigabit Ethernet

SWITCH 1Gb to 1Gb

Интерфейс2: Intel(R) Ethernet Controller 10 Gigabit X540-AT2

Point2Point

Интерфейс3: Dolphin 5 Gigabit IXH610 (Аналог Infiniband)

   

Point2Point

       

 

Программное обеспечение для исследования

      ПО написано на С++, создает, используя OleDB, нужное количество соединений к серверу БД от сервер клиента. В каждом соединении непрерывно формируется запрос вида: SELECT ‘Случайные данные’, размером от 1 – 1024 байт (имитируется случайный трафик учетной системы, например, 1С 8.2/8.3.) и отправляется серверу БД с получением выборки. Таким образом, без значительной нагрузки на сервер БД организуется интенсивный трафик запросов и осуществляются замеры.

Проведение исследования

      В ходе исследования установлен мониторинг производительности PerfExpert на два сервера для отслеживания наличия аппаратных ресурсов (чтобы узким местом был именно сетевой интерфейс). Замеры осуществлялись для следующего количества одновременно активных сессий (соединений с БД): 1,3,10,14. 

 

Интерфейс

Количество сессий

Среднее количество запросов/с (на сессию)

Суммарное количество запросов в секунду для всех сессий

Количество байт передано + получено

«Загрузка сети», %

Интерфейс1 (1Gb/s)

1

2223

2223

2,75 Мб/с

2,2%

Интерфейс1 (1Gb/s)

3

1887

5661

7 Мб/с

5,6%

Интерфейс1 (1Gb/s)

10

1537

15370

19,25 Мб/с

15,4%

Интерфейс1 (1Gb/s)

14

1381

19334

24,25 Мб/с

19,4%

Интерфейс2 (10Gb/s)

1

3918

3918

5 Мб/с

0,4%

Интерфейс2 (10Gb/s)

3

3903

11709

14,63 Мб/с

1,17%

Интерфейс2 (10Gb/s)

10

3002

30020

37,5 Мб/с

3%

Интерфейс2 (10Gb/s)

14

2985

41790

52,25 Мб/с

4,18%

Интерфейс3 (5 Gb/s)

1

4552

4552

5,75 Мб/с

 

Интерфейс3 (5 Gb/s)

3

4447

13341

16,8 Мб/с

 

Интерфейс3 (5 Gb/s)

10

3526

35260

44 Мб/с

 

Интерфейс3 (5 Gb/s)

14

2834

39676

49,6 Мб/с

 

Таблица 1. Результаты исследования.

 

      Обратите внимание (выделено желтым в таблице), как деградирует скорость передачи запросов для 1 сессии и 14 сессий (при этом загрузка сети приемлемая в обоих случаях)!!! Если вернуться ко второму примеру (см. выше), то 14 сессий – это могут быть сессии 1С пользователей, формирующие отчеты с большим количеством запросов (особенно маленьких по ресурсопотреблению). А если, например, для формирования отчета необходимо выполнить 100000 запросов к серверу БД, то увеличение длительности может составить до 2 раз только за счет сетевой передачи.

Вывод

      В учетных системах наравне с пропускной способностью огромное значение имеет  параметр, определяющий отклик сети, на который часто не обращают внимание. Судя по результатам исследования, стоимости оборудования и адаптации для высоконагруженных информационных систем, в том числе 1С 7.7./8.1., 8.2., 8.3, использование Интерфейса 2 (Intel(R) Ethernet Controller 10 Gigabit X540-AT2) между серверами приложения 1С и сервером БД (MS SQL) является оптимальным решением, так как отклик сети для нее почти в 2 раза лучше, чем для сети 1Гб/с.

 

P.S> Для проверки скорости собственных сетевых интерфейсов, например, между сервером приложения 1С и сервером БД MS SQL предлагается скачать бесплатное приложение. Благодаря тестирования вы получите максимальное количество запросов в секунду для каждой сессии, деградацию при параллельной работе нескольких пользователей для вашей сетевой архитектуры.

См. также

Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    2959    spyke    26    

42

Анализируем SQL сервер глазами 1С-ника

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить

1 стартмани

15.02.2024    7624    158    ZAOSTG    67    

96

Удаление строк из таблицы значений различными способами с замером производительности

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    5956    doom2good    48    

63

Опыт оптимизации 1С на PostgreSQL

HighLoad оптимизация Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    8845    ivanov660    6    

76

ТОП проблем/задач у владельцев КОРП лицензий 1С на основе опыта РКЛ

HighLoad оптимизация Бесплатно (free)

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

15.11.2023    5095    a.doroshkevich    20    

72

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16163    skovpin_sa    14    

98

Как эффективно настроить autovacuum в Postgres для 1С

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Бесплатно (free)

Кто не любит убирать мусор? Думаю, практически все, а вот в Postgres это обязательный ритуал для эффективной работы. Как эффективно настроить уборку за 1С в Postgres, можно прочитать в этой статье и еще раз задуматься о бесплатности Postgres.

05.08.2023    5050    1CUnlimited    5    

51
Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ta_Da 08.05.13 23:49 Сейчас в теме
Чтобы доказать, что важна не только пропускная способность сети, Вы сравнили три контроллера (с пропускными способностями 1Гбит, 5 Гбит и 10 Гбит) и пришли к выводу что, внезапно, оптимальным является контроллер с самой высокой пропускной способностью(10Гбит), так? Но при этом приписываете эту "победу" некоемому абстрактному "времени отклика" (которое у вас, похоже от пропускной способности не зависит?). Или я что-то упустил?
AlexK_2012; ustinov_greendale; diamond_nsk; romankoav; +4 Ответить
10. gallam99 237 13.05.13 09:25 Сейчас в теме
Добрый день, коллеги.
С прошедшими всех праздниками
Теперь по комментариям:
(1) Не так важно оборудование для исследования, целью статьи было следующее:
"Развеять миф о том, что если у вас не загружена сеть, то проблем с сетью нет", для этого сделано много замеров (большинство не вошло в конечную статью). Неожиданностью и для нас оказалось, что отклик в сетевом интерфейсе 10Гб в 2 раза лучше, чем для 1 Гб/с, но пока эти исследования не проведешь - не докажешь этот факт.
Почему " "победу" некоемому абстрактному "времени отклика" " - это не абстрактная характеристика, просто большинство сетевых плат для Ethernet продаются без нее, а она очень важна как раз для трафика информационной системы.
(3) Нет, замеряли своими методами через отправку/получения маленького пакета.
(4) "Ваш совет устанавливать насколько возможно более производительное серверное оборудование без споров принимаем" - нет, это не совсем вывод статьи. Вывод: учитывать отклик очень важно при выборе оборудования. + Приведена интересная таблица для оценки разницы. Приведу пример: стоит выбор между 100Мб/с и 1 Гб/с. Администратор утверждает, что сеть 100 Мб/с загружена на 15%, следовательно, сетевой интерфейс справляется и обновления не требуется. При большом количестве пакетов (запросов в секунду) отклик повлияет на скорость системы в целом, значит надо провести доп. работы для исследования этого параметра и выводы администратора не правильны (вероятность ошибки большая).
По поводу общей производительности (память, ЦПУ, диск) - много можно сказать, тем более что мы этим активно занимаемся - softpoint.ru. Не совсем по теме статьи. Если будут вопросы, пишите в личку.
(6) Мы активно участвовали в обсуждении темы автора, есть с чем согласны - есть то, с чем не согласны.
Жду дальнейших вопросов
2. miandrew 08.05.13 23:53 Сейчас в теме
Отличная статья, будет хоть что показать админу. А то еле-еле допросиля чтоб хоть 1Gb поврубал...
3. ardn 622 09.05.13 06:04 Сейчас в теме
Время отклика не пробовали смотреть smokeping'ом например?
4. ksnik 578 09.05.13 12:01 Сейчас в теме
Здравствуйте, с праздниками! :-) Ваш совет устанавливать насколько возможно более производительное серверное оборудование без споров принимаем, но думаем что при 300 пользователях узким местом в этой связке является не сетевой интерфейс, а количество и качество оперативной памяти SQL-сервера (процессор нагружен) и почему-то рейд-массив сервера 1С8 (процессор сервера 1С8 не нагружен, но смотрим на растущий объем памяти и дампы под процессы rphost). Ничем другим кроме процессов сервера 1С8 и процессов клиентов 1С8 жесткие диски сервера 1С8 не заняты, однако часто выходят из строя. Подскажите пожалуйста, как это обосновать, вероятно жесткие диски "летят" потому, что сервер 1С8 ввиду низкой загрузки процессора со стороны ПО сервера и клиентов 1С гоняет слишком много темпов?
30. romankoav 4 07.12.16 14:18 Сейчас в теме
(4) Диски выходят из строя из-за неоптимальности кода - когда постоянно идут обращения неявные к базе (получение данных через точку)
5. AnryMc 849 09.05.13 13:34 Сейчас в теме
Насколько я понял, Вы намекаете, что сетевое оборудование разных производителей и разных моделей, на физическом уровне с разной скоростью реагирует на команду системы по формированию пакета для передачи в сеть?

А вывод? Быть может производители указывают в характеристике продукции параметр на который следует обратить внимание при покупке, кроме скорости поддерживаемой сети?
6. hogik 443 09.05.13 18:53 Сейчас в теме
Вот, думаю, можно еще по теме посмотреть: http://infostart.ru/public/147259/
Если экономить своё время, то читать с раздела: "ВЫВОДЫ".
Там и картинка есть про латентность... ;-)
7. ksnik 578 09.05.13 21:10 Сейчас в теме
(6) hogik, если по нужде ставят все на 1 самый навороченный комп (ссылку смотрел), тогда сложные месячные отчеты не могут сформироваться, недостаточно памяти. То есть отдельный сервер 1С все же нужен.
8. hogik 443 09.05.13 21:52 Сейчас в теме
(7)
"... недостаточно памяти. То есть отдельный сервер 1С все же нужен"(с)
Сергей (ksnik).
Архитектура NUMA и есть 2, 4, 8 "отдельных" серверов в одной "коробке".
С самым быстрым интерфейсом между этими "серверами" - оперативная память.
С возможностью поставить суммарный большой объем оперативной памяти (с учетом лимита объема памяти на один узел).
С возможностью отдать/управлять всем объемом памяти "коробки" ;-) на конкретную задачу, который (объем) Вы никогда не сможете обеспечить на обычной архитектуре.
9. ksnik 578 10.05.13 21:03 Сейчас в теме
(8) hogik, почитал про когерентность кэш-памяти бо оперативка просто-напросто надолго забивается при обработки наборов данных запросов, но кажется что не очень подходит для борьбы с нехваткой памяти, кажется нужно делать как можно мощней проц и больше памяти MSSQL, на сервере 1С работать над утечкой памяти и неизвестно чем еще, неизвестно как выбирать железо в связке"оперативка-рейд" чтоб не ломалось.
11. gallam99 237 13.05.13 17:04 Сейчас в теме
Интересная информация у QLogic: "Introduction to Ethernet Latency"

Latency
Range (μs)
Technology Applications

50 – 125 μs
1gb ethernet (TcP/iP) • Multi-tasking: multiple
high-bandwidth applications
running simultaneously
• Bulk data transfer
• Transactional database
backup and applications
• Web (front-end for
data centers)

5 – 50 μs 10gb ethernet
(TcP/iP)
• Bulk data transfer
• real-time video streaming
• Database backup and
applications

3 – 5 μs rDMA, rocee, and
iWArP
• high Performance computing
• high-frequency Trading (hfT)
• inter-process communication
(iPc) cluster
• low-latency applications

Sub-3 μs infiniBand (QDr) and
proprietary
• high Performance computing
• high frequency Trading (hfT)
• Ultra-low latency applications

А в спецификациях на картах Ethernet не пишут Latency (отклик).
12. PiccaHut001 13.05.13 19:25 Сейчас в теме
softpoint.ru вся понятно, ребятки хотят баблосика поднять.
13. gallam99 237 13.05.13 19:29 Сейчас в теме
(12) Статья носит чисто информационный характер и может кому-то помочь при решении вопросов выбора сетевого оборудования.
14. gallam99 237 16.05.13 11:11 Сейчас в теме
+ скоро доработаем бесплатное ПО для проверки сетевого интерфейса вашей системы 1С 8.Х (будет измеряться количество запросов в секунду и деградация между сервером приложений 1С и сервером БД).
15. miandrew 16.05.13 11:25 Сейчас в теме
(14) вот это уже ближе к "телу". Тогда и статистика от людей подсобирается.... что да как у кого..
16. ardn 622 20.05.13 13:55 Сейчас в теме
(14) Хотелось бы посмотреть
17. AVMCo 25.06.13 19:01 Сейчас в теме
Статья конечно интересная, но сервер - это не только сетевая карта и провода. На скорость работы оного поболе влияют ЖД и память (из личного опыта), причем не обязательно увеличение последней, на третье место поставлю процессор. Да еще Винда сама по себе со временем начинае притормаживать, если не проводить определенных манипуляций, так уж она запрограммирована своими создателями, от этого никуда!
18. briuhov 25.06.13 20:39 Сейчас в теме
(17) AVMCo, Я с тобой сагласен на 100 процентов.Сам не раз сталкивался с такой проблемой дико висела сеть.
Решилось установкой нового винта SSD и все полетело.
20. gallam99 237 25.06.13 22:13 Сейчас в теме
(17) AVMCo,
Если статья интересная, где "+"))
А если серьезно, я бы не использовал слово " поболе влияют ЖД и память (из личного опыта)", а заменил бы на чаще. Но, учитывая тот факт, что сам занимаюсь проблемами производительности, могу казать так - проблемы сети не всегда так очевидны, и их понимание в контексте учетных систем главная задача статьи.

(18) мне ситуация напоминает анекдот (без обид):
"Вовочкана биологии пишет лаб. работу.
1. Оторвал таракану лапку, говорю: "Беги!" Бегит
2. Оторвал таракану вторую лапку, говорю: "Беги!" Бегит
3. Оторвал таракану все лапки, говорю: "Беги!" Не бегит
ВЫВОД: Таракан без ног не слышит!"

(19) К основной цели статьи ваше пояснение мало относится: имеется в виду некая операция (отчет частный случай) учетной системы, которая отправляет достаточно большое количество запросов к серверу БД. "Отчет" - использовался, так как часто приходится сталкиваться с большим количеством запросов именно в отчетах))

p.S> Программа для замеров сети у пользователей скоро будет выложена.
22. AVMCo 25.06.13 23:02 Сейчас в теме
(20)
я не теоретик, я практик, для меня показатель, когда на 486 Celerone (сервере) 20 компов работают без тормозов в сети
19. caponid 25.06.13 21:09 Сейчас в теме
интересно, что значит "в высоконагруженной системе большое количество пользователей формируют отчеты"???? - как то странно звучит - для этого есть другие решения: тех же кубов или программные - правильно написать этот отчет, что бы он исполнялся на сервере - отговорки используют стандартные для "высоконагруженной системы" - это моветон.... или некомпетенция.
21. lev6975 25.06.13 22:25 Сейчас в теме
Гигабит...Это уже 125 Мб/с, ну, ладно, 100...Скорость, которой должно с лихвой хватать для работы 1-2-3 пользователей(да и харды в режиме случайного чтения ненамного быстрее выдают)...А, как правило, замедление существенное при работе от сети.Толстого клиента точно, серверный вариант, наверно, тоже...Сеть настроить не всегда доступно, поэтому файловые базы жму ТИИСом, начинают шевелиться побыстрее...
23. gallam99 237 26.06.13 12:02 Сейчас в теме
Выложили приложение для замеров отклика сети.
Можно проверить на реальном оборудовании (лучше в нерабочее время))
Жду от Вас вопросов, готов оперативно ответить.
Обратите внимание на деградацию параметра: количество запросов в единицу времени для одной сессии.
24. нормальный такой 93 26.06.13 13:30 Сейчас в теме
у нас на предприятии между сервером 1с и СУБД был канальчик в 1ГБ/с
одновременно работали ~20 пользователей

на сервере крутили стандартные БП, ЗУП и +"специальная разработка" для предприятия на базе 1С8

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

временное решение нашлось путем внедрения нового коммутатора с функцией LinkAgregation
и объединением 2х каналов по 1ГБ/с в один на 2ГБ/с на обоих серверах

в тот момент я тоже уверовал в прямую зависимость скорости работы сервер1с-сервер СУБД от скорости сет.интерфейсов
25. bkr1052 26.06.13 17:24 Сейчас в теме
Терминальный сервер плюс хорошая сеть.По любому на терминальном сервере быстрее работает.
26. aspirator23 339 07.07.13 16:14 Сейчас в теме
Обработка любопытная, хотя видно что "рабочий инструмент" - не все работает как нужно.
Но главное - информацию для анализа дает. Одно неудобно - требуется установка. Для серверов - не везде можно поставить, да и не всегда хочется ставить. Что-нибудь "портабельное" возможно?
27. gallam99 237 07.07.13 22:14 Сейчас в теме
(26) aspirator23,
Спасибо за отклик.
"Не все работает как нужно" - можете конкретно указать, чтобы можно было доработать.
По поводу "портабельности" - установка программы требуется для удобства, если нет возможности на сервере сделать установку, можно установить программу на любом компьютере, далее каталог установки копировать на сервер, открывать с шары... Или я не так вас понял?
28. aspirator23 339 08.07.13 07:16 Сейчас в теме
(27) Спасибо, все заработало. Вопросы снимаются: если "повертеть, покрутить" - все становится понятным.
Если на SQl работает одна БД, то сервер приложений 1с, размещенный на другом сервере, открывает одну сессию?
Следовательно деградации скорости сетевого соединения характерна для случая когда к одному SQl обращаются с нескольких серверов приложений 1с?
29. gallam99 237 08.07.13 08:47 Сейчас в теме
(28) aspirator23,
количество соединений с MS SQL не связано с количеством серверов приложений 1С или рабочих процессов.
Оно связано с необходимостью в зависимости от количества одновременно работающих пользователей.
Деградация характерна для случаев, когда есть много пользователей (скажем более 5 пользователей) выполняют операции 1С с большим количеством небольших запросов к серверу MS SQL. В качестве примера можно привести Инталев 1С, учитывая ее архитектуру, для выполнения отчета может понадобится более 50000 запросов к MS SQL, получается что скорость сети имеет в этом случае очень большое значение и ее деградация при многопользовательской работе сказывается на длительности этих отчетов и всех операций.
Оставьте свое сообщение