Тест связки сервера приложений и SQL

29.12.12

Разработка - Инструментарий разработчика

Тест производительности сервера приложений и SQL с возможностью выбора количества клиентов и регулировкой нагрузки.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конфигурация(cf)
.cf 50,96Kb
38
38 Скачать (1 SM) Купить за 1 850 руб.
Готовая БД(dt)
.dt 1,77Mb
23
23 Скачать (1 SM) Купить за 1 850 руб.

Как это работает:

В процессе тестирования происходит подсчет рейтинга производительности. Промежуточные результаты можно наблюдать на графике. График вещь относительная и показывает величину прироста рейтинга за равные промежутки времени. Среднее значение - высчитывается из графика и тоже вещь чисто информативная. Реальный рейтинг считается по количеству операций в БД и может не совпасть с средним значением.

Как это запустить:

Короткий ответ - нажать Старт.

Длинный ответ - придумать задачу, определить исходные параметры, изменить настройки теста и нажать Старт. 

При первом запуске произойдет заполнение БД необходимым количеством объектов исходя из заданного количества клиентов. Для 10 клиентов это занимает около 5 мин. Если выбрать "много" клиентов, то необходимо будет долго ждать заполнения.

Как это остановить:

Для остановки теста нужно еще раз нажать "Старт". Отключать отдельных клиентов можно в таблице. Выкладываю конфу и тестовую БД с уже заполненной базой на 10 клиентов(для тех кто не хочет ждать заполнения). 

О методике тестирования(или для чего это нужно)

Задача была придумана такая - необходимо ли нам на текущем железе использовать 1 рабочий процесс или увеличить до 2-х. Думаю со стандартными рекомендациями знакомы все. "Но нам хотелось бы конкретики с привязкой к используемой конфигурации оборудования" - сказали админы. Ок, начинаем тестирование. Меняя количество клиентов с шагом 10 получили такой результат:

Синим - операций всего, красным - операций на 1 сеанс. 

Что можно сказать по данному графику. Многопоточность работает! Если 1 клиент смог сделать 2500 операций, то 10 - уже около 16 000(за равный промежуток времени). "Насыщение" операциями происходит примерно при 20 подключенных клиентах. Далее мы не получаем заметного роста и в итоге совсем упираемся в планку 23к. операций. Видимо это предел данного сервера, точнее сказать данной конфигурации.

Добавляем еще 1 рабочий процесс. Тестируем, вот что получилось:

На данном сервере имеет смысл добавить еще 1 РП, если количество клиентов превышает 20. "Насыщение" наступит гораздо позже и общая производительность сервера заметно возрастет. Админы довольны, закупку нового сервера можно отложить.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    172081    964    403    

924

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14619    109    46    

108

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    17345    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27366    96    48    

138

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    11957    45    33    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    191342    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18117    7    32    

42

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1153    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pbazeliuk 1970 28.12.12 18:30 Сейчас в теме
Ничего не понятно и зачем?
2. Magister 134 28.12.12 20:15 Сейчас в теме
А чуть подробнее о методике тестирования можно?
Из описания ничего непонятно.
3. SodaWater 35 28.12.12 20:44 Сейчас в теме
Методика у каждого своя, все зависит от задачи. В настройках теста можно менять только число сеансов и нагрузку. Нагрузка - это какой процент данных будет изменен в процессе теста. Еще можно поиграть с настройками сервера приложений, количество рабочих процессов например.
8. comol 5114 29.12.12 09:25 Сейчас в теме
(3) SodaWater, Вообще идея хорошая, получается этакий "Бесплатный СНТ", но в СНТ очень хорошая идея - там производительность измеряется в стандартных пользователях. Может тебе так же сделать? А то правда из результатов трудно какие-либо выводы сделать...
11. SodaWater 35 29.12.12 11:30 Сейчас в теме
(8) Олег, в этом и есть отличие от СНТ. Если тот больше для оценки конкретного оборудования, то этот тест больше подходит для оценки разного железа(настроек). Задача СНТ - ответить сколько пользователей потянет ваше железо, а у меня была необходимость сравнить разные конфигурации оборудования. Виртуальные пользователи - это хорошо, но на практике все пользователи разные, кто-то весь день вбивает данные, а другие снимают отчеты. Для оценки реальной картины нужно писать сценарии и запускать в разных сеансах и т.д.
4. Confucius 81 29.12.12 06:26 Сейчас в теме
Что мне поможет понять этот тест? Какие выводы можно сделать на основе его вычислений?
10. SodaWater 35 29.12.12 11:22 Сейчас в теме
(4) Confucius, если просто запустить 1 раз, то ничем не поможет. Как минимум надо запускать 2 раза на разном железе или при разных настройках(железа, SQL, сервера 1С), не меняя при этом настройки теста. Можно запускать на 1 сервере несколько раз, меняя процент записи - мне это помогло понять, где уже SQL начинает притормаживать.
5. tolyan_ekb 80 29.12.12 06:56 Сейчас в теме
Судя по описанию, есть еще график. Почему не приложены дополнительные изображения?
6. SodaWater 35 29.12.12 07:24 Сейчас в теме
(5) tolyan_ekb, Спасибо! видимо отвалились в процессе публикации. Сейчас прицеплю.
7. sanfoto 502 29.12.12 07:36 Сейчас в теме
закрытый код тестировать отказываюсь))
досвидос короче))
13. SodaWater 35 29.12.12 11:52 Сейчас в теме
(7) sanfoto, не, не так ) "давайдосвидания" )) Александр, видимо для тестирования дисков,памяти,процессоров, Вы используете только тесты с открытым кодом. В любом случае, спасибо за отклик.
15. sanfoto 502 09.01.13 10:37 Сейчас в теме
(13) SodaWater,
Просто не доверяю уж извините,
на инфостарте полно было обработок с закрытым кодом которые отправляют в инет различные данные - без позволения так сказать))
16. SodaWater 35 09.01.13 16:22 Сейчас в теме
(15) sanfoto,
Возможно такие обработки(летящие в инет без предупреждения) тут есть. Эта точно не такая. Мне уже много лет, а с годами приходит не только маразм ), но и понимание того, что репутацию нельзя купить, а прос..ть можно за минуту. Всем понятно, что закрытый код это фикция, но в свою очередь готов предоставить исходники по запросу(контакты есть на форме обработки), если случится острая жизненная необходимость.
9. KroVladS 35 29.12.12 10:02 Сейчас в теме
(0)
Подробно опишите методику и откройте код, тогда взлетит.
12. SodaWater 35 29.12.12 11:47 Сейчас в теме
(9) KV1s, Методика проста - берем конкретный сервер1С и SQL и гоняем тест, получаем средний результат. Берем другой(ие) сервер1С и SQL и гоняем тест не меняя настроек. Сравниваем полученные результаты. Код простой до безумия - прербираем объекты БД(имитация чтения) и в части из них изменяем данные и записываем в БД. Открою код, когда будут аналоги таких тестов для 1С(СНТ не в счет там другие задачи). В идеале такой тест должен быть отдельной программой, но в связке с 1С этот вопрос труднореализуемый, потому и написано в рамках платформы.
14. SergDi 08.01.13 17:33 Сейчас в теме
17. V.Nikonov 121 18.01.13 18:51 Сейчас в теме
А размер Тестовой БД можно регулировать?
А получить Симбиоз Данной Конфы с Рабочей базой (тестирование на реальных Объектах БД)? В частности интересует показатель зависимости от Размера БД...
18. SodaWater 35 18.01.13 20:09 Сейчас в теме
(17) V.Nikonov, размер пока фиксированный и зависит от выбранного кол-ва клиентов. Если размер БД необходимо менять, то можно сделать в след. версии. Хотя это имеет смысл только при проценте записи=0..3%, т.к. при проценте от 5 и выше SQLсерверу и так тяжко(даже если БД влезает в память).
Симбиоз не планировал. Причина в том, что тест задуман как замер производительности. Мне хотелось опуститься на уровень ниже и максимально абстрагироваться от конкретной конфигурации. Иначе это будет "тест кода" со всеми его плюшками в виде блокировок и т.д. В текущей версии каждый "клиент" изолирован и вероятность блокировок очень мала.
19. V.Nikonov 121 21.01.13 22:30 Сейчас в теме
Однако, при недостаточном размере БД происходит недооценка Дисковой подсистемы SQL-Servr. Рабочие реальные базы почти никогда не умещаются в Памяти! При малых базах вообще можно не покупать Сервер 1С.
20. SodaWater 35 22.01.13 12:31 Сейчас в теме
(19) V.Nikonov, Это не совсем так. Есть такие правила ACID Wiki, которые придуманы еще в 70-х, но уверен соблюдаются в SQL серверах по сей день. Например у нас есть 2 базы - одна в 10раз больше чем объем ОЗУ, а другая в 10раз меньше ОЗУ. Если мы сделаем UPDATE 10000 записей, то нагрузка на дисковую в обеих базах будет сравнима. SQL серверу надо сначала записать все эти изменения в LOG, а потом уже в базу(на диске) и в память. При запуске этого теста на наших серверах очень хорошо видно как SQL сервер начинает проседать под нагрузкой и от размера базы это не сильно зависит. Другое дело, если тестить только чтение(%записи=0). На базе, которая влезла в память будет более высокий результат.
Оставьте свое сообщение