Многопоточное тестирование производительности сервера 1с - СУБД

Опубликовал Fragster в раздел Администрирование - Сервисные утилиты

Тест для оценки производительности связки сервер 1с - сервер СУБД в различных вариантах, а также масштабируемости этой связки в режиме многопоточной работы.

Описание

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

Эмпирическим путем получено число в 400-500 попугаев на поток (не учитывая временные таблицы), при котором работа терпима. Благодаря механизму "глобального обмена"  можно повторить тест с чьии-то настройками и сравнить результаты.

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

Планы

Снова сделать просмотр результатов на сайте.

Работа на файловых базах.

Новые тесты.

Обмен "через файлы", для случай, когда на на сервере нет интернета

Многое другое :)

Версия 2.0.010

Исправлена ошибка несоздания узла обмена для обмена результатами.

Версия 2.0.009

Изменен способ старта фоновых заданий, теперь менее вероятна ошибка "Не получилось синхронизировать потоки за ХХ секунд!"

Исправлены ошибки невозможности выбора параметра в отчетах "Отчет по тесту" и "Профиль результата"

Изменены варианты ответов на запрос заполнения информации о серверах на более понятные.

Версия 2.0.008

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

Версия 2.0.007

В результатах тестов убрана колонка "номер потока", теперь результаты хранятся только в разрезе количества потоков теста. Это в десятки раз сократило количество строк в ТЧ Результаты и Профиль Результата, так что теперь собственные тесты открываются с такой же скоростью, как и тесты, полученные из интернета (ранее была задержка в несколько секунд, в результатах интернета для сокращения трафика изначально информация о номере потока была опущена изначально). Также немного ускорилось формирование отчетов.

Исправлены ошибки при запуске в режиме "Толстый клиент управляемое приложение". При запуске в этом режиме интернет на сервере не обязателен для обмена.

Если вы делаете обновление, то теперь возможно обновление только с версии >= 2.001 (при попытке обновления версии 1.х.ххх будет ошибка). Возможно позже сделаю поставку, чтобы корректно это контролировать.

Версия 2.0.006

Очистка результатов после выполнения тестов теперь также проходит многопоточно, это значительно снизило паузы при проведении тестирования.

Также при очистке данных регистров накопления и сведений теперь выключаются итоги.

Версия 2.0.005

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

Добавлен отчет "сравнение результатов", колонки - тесты, строки - результаты. Предложения по работе доработке этого и других отчетов приветствуются.

Форма списка справочника тестов, теперь она же является формой выбора/подбора.

Разрешен множественный выбор в форме списка - можно быстро сформировать отчет сравнения, выделив несколько строчек и выбрав его в меню "сформировать на основании"

Обработка "проверка синхронизации" заменена соответствующим отчетом (ради показа графика с распределением времени прихода сигнала синхронизации к потокам теста)

Во все отчеты по тестам добавлен быстрый отбор по видам тестов (по кнопке "настройки").

Сообщения от потоков теперь приходят через регистр сведений (подготовка к реализации файлового варианта теста).

Потоки теперь стартуют порциями с паузами между ними (вроде как должно повысить стабильность).

Проведена чистка кода, удалены неиспользуемые функции.

Немного причесан интерфейс, теперь все окна открываются единообразно.

Версия 2.0.004

Исправлена ошибка, существующая на платформе < 8.2.15

Версия 2.0.003

Исправлена ошибка доступа к таблице "профиль результатов" при выполнении теста

Версия 2.0.002

Исправлена ошибка с тем, что у загружаемых по глобальному обмену тестов не проставляется код.

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

Переработана форма обмена - место на форме используется более рационально.

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

Версия 2.0.001

Новая версия. Старшая цифра изменилась, поскольку изменились алгоритмы работы - больше сделан упор именно на производительность СУБД.

Основные изменения:

Изменен алгоритм тестов (основной упор на запись наборов)

Добавлен тест "Временные таблицы" - он должен показать "чистую" производительность без блокировок (спасибо за идею Гилеву Вячеславу).

Добавлены настройки тестов - количество потоков и размер создаваемых объектов (100, 1000, 5000 строк)

Изменен отчет "Отчет по тесту" - добавлен показатель "средняя производительность одного потока"

Добавлен отчет "Профиль выполнения" - показывает распределение времени записи одного объекта (в мс), т.е. сколько объектов записалось за 16 мс, сколько за 32 и тд. Для платформы < 8.2.17 информация собирается только на вин-сервере, при релизе платформы >= 8.2.17 и на линуксе тоже.

Доработана обработка "проверка синхронизации". Теперь она показывает, через сколько миллисекунд (условия для работы как в предыдущем пункте) пришел сигнал от "мастера" до "потоков" о том, что пора начинать "работать".

Вместо публикации на сайте теперь глобальный обмен результатами, соответственно, создана обработка для него. Из-за того, что очень сильно доработана конфигурация - просмотр на сайте http://fragster.ru/perfomanceTest/ временно отключен, чужие тесты можно увидеть только через обмен, а он требует доступа к интернету на сервере 1с предприятия.

Доработан интерфейс, например отчеты перенесены в меню "создать на основании", а также через это меню возможно окрыть более одного окна :)

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

Версия 1.0.004

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

Дорботал интерфейс - на рабочий стол поместил список тестов, перенес отчет и новую обработку с панели действий на панель навигации (с верхней на левую).

Версия 1.0.003

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

Информация о сервере 1с теперь заполняется при открытии формы, а не после выполнения теста.

Версия 1.0.002

Добавил автозаполнение информации о сервере 1с.

Изменил алгоритм синхронизации потоков - теперь используется ЗапуститьПриложение вместо бесконечного цикла для ожидания запуска других потоков, что не грузит процессор и дает время для запуска других потоков. Также увеличил время на синхронизацию до 30 секунд.

Теперь тесты выполняются в 1, 2, 4, 8, 16, 32, 48, 64, 80, 96, 112 потоков.

Обновил WS-ссылку, добавил версию платформы в результаты.

Добавил запрос на публикацию результатов теста при изменении (Внимание! Для успешной публикации должен быть разрешен интернет на сервере 1с!)

Версия 1.0.001

Добавил автосохранение после выполнения теста. (Отчет по текущему тесту теперь работает сразу после выполнения теста).

Добавил версию конфигурации в результаты теста.

Обновил WS-ссылку, подчистил WSDL, убрал anyType везде.

Убрал заглушку на кнопке "Опубликовать", теперь результаты публикуются на http://fragster.ru/perfomanceTest/ , можно сравнить с другими.

Версия 1.0.000

Причесал интерфейс

Добавил сохранение результатов

Немного изменил алгоритм проведения документов, добавил в него выборку данных.

Добавил отчет по тестам с красивыми графиками :)

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

Первая версия, она же альфа:

Начал писать тест для оценки производительности сервера в режиме параллельной работы. Нулевая версия, просто выполняет теств1/2/4/8/16 потоков, не накапливая статистику. Пока работает только в клиент-серверном варианте.

 

Файлы

Наименование Файл Дата Размер Кол. Скачив.
Конфигурация
.cf 110,11Kb
05.08.13
493
.cf 05.08.13 110,11Kb 493 Скачать

См. также

Лучшие комментарии

128. stvorl (файл скачал) 04.05.2016 23:53
(127) Fragster,

Вам спасибо.

Что касается обмена результатами, и если уж речь зашла о пожеланиях :-)

Файловый обмен никак не противоречит онлайн обмену. Я вон только на одном сервере 10 раз прогнал тесты, пока игрался с настройками. Результаты когда-то отличались, а когда-то были почти идентичны. Внятными для всех комментариями я себя, разумеется, не утруждал. И вот представьте, что это вам все ссыпалось типа "1с 8.2.19.130 / GenuineIntel Intel64 Family 6 Model 62 Stepping 4 3000 MHz / 32,00 ГБ / Windows x86 (version 6.1 Service Pack 1 (Build 7601))" / "попробовал irqbalance после перезагрузки и сделал ядер меньше". Оно Вам надо? А если надо, то тут же нигде не написано, что оно не босиком на металле, а рядом с PSQL на Linux, все это на виртуалке xen, над lvm, drbd, mdadm, и на ssd, и сколько ядер я запилил - тоже нигде нет :-)

Поэтому я столкнулся с тем, что:
1) попытка закачать метрики с сайта приводят к тому, что я не понимаю реальных техусловий, и не вижу, что у людей за оборудование.
2) публиковать свои драфты я стесняюсь, т.к. не хочу засирать Вам базу.
3) с сравнением своего железа между собой я обламываюсь, потому как файлового обмена нет, и пункт 2.

Я бы с удовольствием обменялся своими тестами файловым пакетом, сравнил бы между собой, сделал выводы и потер. А Вам бы отдал на сайт только репрезентативные с каждого из своих серверов. Отметив предварительно галочкой, что именно я хочу опубликовать, и хорошо описав.

Техусловия.
Для упорядочения онлайн-обмена было бы неплохо побудить пользователя в описании техусловий использовать более формальный рубрикатор (в отдельных колонках: платформа, проц, частота, ядра, HyperThreading, память, частота памяти, тип HDD под базой, наличие и технология виртуализации, ОС сервера баз и т.п.), и требовать заполнения всех полей для публикации теста. Да, множество пользователей хрен положит что-то публиковать. Зато результаты будут репрезентативней.

Отчет о сравнении
Было бы неплохо отчет о сравнении дополнить диаграммой по каждому типу теста, где сериями являются ссылки на тест, точками - количество потоков. Очень удобно сверять визуально. Я сам легко это настраиваю, но каждый раз неудобно, да и пользователям было бы полезно. Могу прислать скрин того, что имею ввиду.
Было бы неплохо иметь возможность с Ctrl выделить несколько тестов и отправить в отчет о сравнении, но это уже так - "хочу быть столбовою дворянкой".

Еще немножко непонятен отчет "профиль выполнения". Там много цифр, я не очень понимаю, как его читать, и что за шкала такая "время" (делится по цветам в диаграммах). Я догадываюсь, что он показывает количество потоков, от которых достигается предел производительности, но было бы очень интересны Ваши пояснения по нему. Или я может где-то пропустил его обсуждение на форуме, не сочтите за труд ткнуть меня туда лицом.

Ну как-то так. Еще раз спасибо, что вы вообще этот инструмент разрабатываете, что на общественных началах.
Ответили: (130)
+ 1 [ Fragster; ]
# Ответить
67. Fragster 18.05.2013 11:35
(66) khan, очень просто - после проведения собственно тестов идет удаление тех данных, которые были созданы в процессе, и чем больше этих данных - тем дольше они удаляются, а удалялись они в 1 поток в версиях до 2.0.006. В версии 2.0.006 удаление происходит по разным видам метаданных параллельно, что сократило время теста до ~35 минут на стандартной точности (по крайней мере на серверах где я тестил).
+ 1 [ CratosX; ]
# Ответить
106. gogi2003 (файл скачал) 17.01.2014 09:18
(105) mixperm, так я не понял, чем ты хвастаешься? Результаты не блестящие, и видно как раз, зачем приобретаются дорогие серверы - именно для того, чтобы держать параллельную нагрузку и не прогибаться под ней. У тебя-то скорость на одном-двух потоках ещё нормальная, а потом она просто проваливается, сравни хотя бы с (81). Знаешь, Феррари тоже скорость быстро набирает, только вот почему-то руду возят на огромных карьерных самосвалах. Ну и сразу видно, что не работал ты с нормальной техникой, раз ещё не понимаешь, в чём плюсы нормальных серверов, а не "серверов из десктопа".
Ответили: (107)
+ 1 [ alexscamp; ]
# Ответить
1. Stepa86 12.02.2013 19:36
Чем принципиально будет отличаться от 1С:Тест-центра? Может лучше его допиливать, чем свое с нуля писать?
Ответили: (2)
+ 1 [ Sirgeli; ]
# Ответить
2. Fragster 12.02.2013 20:44
(1) Наверное тем, что тест центр надо покупать, а также настраивать этот комбайн, здесь же 1 клик - и результат есть. Попугаи получаются вполне себе. Надо статистику поднабрать, но нормальный результат >2000 для РС, >1500 для РН и >1000 для РБ на 4 потоках
+ 1 [ Sirgeli; ]
# Ответить

Комментарии

1. Stepa86 12.02.2013 19:36
Чем принципиально будет отличаться от 1С:Тест-центра? Может лучше его допиливать, чем свое с нуля писать?
Ответили: (2)
+ 1 [ Sirgeli; ]
# Ответить
2. Fragster 12.02.2013 20:44
(1) Наверное тем, что тест центр надо покупать, а также настраивать этот комбайн, здесь же 1 клик - и результат есть. Попугаи получаются вполне себе. Надо статистику поднабрать, но нормальный результат >2000 для РС, >1500 для РН и >1000 для РБ на 4 потоках
+ 1 [ Sirgeli; ]
# Ответить
3. qwinter 13.02.2013 20:45
Как реализована многопоточность?
Ответили: (4)
# Ответить
4. Fragster 13.02.2013 22:14
(3) фоновыми заданиями
# Ответить
5. Fragster 25.02.2013 12:51
Кто скачал и выполнил тест, прошу нажать на кнопку "опубликовать" в конфигурации!
# Ответить
6. andrei.k 05.03.2013 11:48
А в чем отличие от теста Гилева?
Ответили: (7) (8)
# Ответить
7. Fragster 05.03.2013 12:27
(6) andrei.k, тест Гилева - однопоточный. Этот - многопоточный. Например на этих 2-х серверах тест гилева показывает одинаковый показатель, однако же с увеличением количества пользователей картина меняется радикально:
http://wstaw.org/m/2013/03/03/plasma-desktopk17204.png
http://wstaw.org/m/2013/03/05/2.png
# Ответить
8. Fragster 05.03.2013 15:16
(6) andrei.k, или вот еще характерный пример: http://s019.radikal.ru/i635/1303/05/668b720f69b1.jpg
# Ответить
9. ArtfulCrom (файл скачал) 06.03.2013 17:17
С кластерами? нестандартными портами? Авторизацией на сервере ОНО работает? Или как и Гилева - сначала доработать напильником?

Под 8.3 тоже имя объекта РУКАМИ менять?
Ответили: (10)
# Ответить
10. Fragster 06.03.2013 17:27
(9) ArtfulCrom, работает. Только на линух сервере без ключа больше 8 потоков не выдаст (потому что следующее значение 16, а это больше 12 возможных соединений) и на постгре в конфиге надо максимальное количество соединений увеличить, иначе на 96 остановится. На 8.3 не проверял, но должно работать, вроде старался без овнокода делать.
Ответили: (11)
# Ответить
11. ArtfulCrom (файл скачал) 06.03.2013 17:38
(10) спасибо, добрый человек. Скачал потестим.
Линукс у нас есть. Ключей защиты на всех хватит )

на постгре в конфиге надо максимальное количество соединений увеличить

А вот с этого места пожалуйста подробнее? Что именно и где? а то нужно админам передать, я ж в самой настройке зелень, аки.... кузнечека )
Ответили: (12)
# Ответить
12. Fragster 06.03.2013 17:54
(11) ArtfulCrom, нужно в postgresql.conf найти строку с
max_connections = 100
и поменять на нужное число, для теста минимум 113, ну если там пользователи еще работают, то ставьте 200-250
Ответили: (13)
# Ответить
13. ArtfulCrom (файл скачал) 06.03.2013 18:12
(12) Передал. Зелень по результатам теста )

Вернули ответ:

сейчас стоит max_connections = 1024
Ответили: (15)
# Ответить
14. ArtfulCrom (файл скачал) 06.03.2013 18:29
Еще вопрос... логичный. Нет никакого РТФМ по запуску.

На чем обработку запускать? На любой рабочей БД? Это безопасно для ее данных? На чистой, пустой БД? На какой-то типовой?

Стоит ли смотреть какую инфу она публикует на сервере результатов? Или вам можно доверять в плане адресов и паролей? )))
Ответили: (16)
# Ответить
15. Fragster 06.03.2013 18:29
(13) ArtfulCrom, только заполните инфу о сервере СУБД, если он не на машине с сервером 1с и нажмите "Опубликовать" после завершения тестов, пожалуйста. Вот, кстати, задача на будущее, собирать информацию о кластере серверов 1с, если он размазан по разным машинам.
Ответили: (17)
# Ответить
16. Fragster 06.03.2013 18:31
(14) ArtfulCrom, Это отдельная конфигурация, соответственно, изолирована от других конфигураций. Публикует информацию на http://fragster.ru/perfomanceTest/. Пароли если и будут введены, то только для регистрации на этом сайте.
# Ответить
17. Aleksey_3 24.03.2013 12:58
(15) опубликовал http://fragster.ru/perfomanceTest/testDetails.php?guid=358d9dab-945a-11e2-8dae-003048f00d88
теперь бы понять что эти попугаи значат и почему ярко выраженные провалы (например на 64-х потоках) и графики не похожие на те что в публикации
Ответили: (18)
+ 1 [ CratosX; ]
# Ответить
18. Fragster 25.03.2013 11:33
(17) Aleksey_3, попугаи - это количество операций, выполненных всеми потоками за 10 секунд. На одном потоке 400 примерно соответствует 15 по тесту Гилева (это я по своим серверам сужу).

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

Ваши графики не похожи на те, что в публикации - потому что в публикации график сделан на тестовом "сервере" - коре дуо первого поколения (двухъядерном) и 2 ГБ нешустрой (866 ДДР2) оперативной памяти.

Кстати, на этих выходных у меня таки получилось допилить SOAP сервер на php таким образом, чтобы он передавал сложные структуры таким образом, чтобы 1с их кушала нормально. Соответственно, скоро будет версия теста с глобальным обменом результатами.
+ 1 [ CratosX; ]
# Ответить
19. mybracho 26.03.2013 01:50
А где хоть маленький faq ? Нажал на кнопку. Когда закончится ? Как анализировать результаты и т.д.

Спасибо
Ответили: (20)
# Ответить
20. Fragster 26.03.2013 20:43
(19) mybracho, закончится через пол часика, анализировать - там есть 2 отчета: "Отчет по тесту" и "Профиль результата". Первый показывает сводную информацию и падение производительности в зависимости от количества активных пользователей, второй - насколько меняется распределение времени выполнения одной операции в зависимости от количества потоков, т.е. насколько влияют блокировки и обслуживание служебных таблиц типа итогов, нумераторов и т.п.

приемлемая нижняя граница производительности - это 500 на поток, ниже - уже совсем некомфортно работать, но это верно для так называемых "активных пользователей", в общем случае момент количество пользователей можно увеличить на 10 (т.е. 10% активности) а то и больше :)

производительность менее 500 в тесте 1 потока - говорит, что либо что-то с железом, либо оно совсем старое.
# Ответить
21. Fragster 26.03.2013 20:45
Также интересная вещь, определяющая производительность встроенного механизма управляемых блокировок сервера 1с - обработка "проверка синхронизации" - она проверяет, через сколько времени сколько потоков получают информацию о снятии блокировки.
# Ответить
22. ansh15 27.03.2013 10:40
Может конфу для файлового варианта отдельно сделать? А В клиент-серверном оставить как было, с показом результатов по мере выполнения тестов. А то, первый раз когда запустил, подумал, что сервер подвесил. Хорошо, что уже никто не работал...
Ответили: (23)
# Ответить
23. Fragster 27.03.2013 10:42
(22) ansh15, я, наверное, сделаю, чтобы в файловой замерзало, а в клиент-серверной - нет.
# Ответить
24. serg1974 (файл скачал) 10.04.2013 10:47
Скачал, загрузил конфу в новую базу на сервак, запускаю с другого компа (win serv 2008R2/RDP) в режиме клиента получаю ошибку:

Платформа: 1С:Предприятие 8.2 (8.2.14.519)
Конфигурация:
Режим: (сжатие: усиленное)
Приложение:
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)

Ошибки:
--------------------------------------------------------------------------------
10.04.2013 12:44:21
{ОбщийМодуль.ОбщиеФункции.Модуль(17,55)}: Слишком много фактических параметров (ЗапуститьПриложение)
ЗапуститьПриложение("ping -n 2 127.0.0.1", , Истина, <<?>>КодВозврата); // windows
{ОбщийМодуль.ОбщиеФункции.Модуль(21,55)}: Слишком много фактических параметров (ЗапуститьПриложение)
ЗапуститьПриложение("ping -c 2 127.0.0.1", , Истина, <<?>>КодВозврата); // linux

ЧЯДНТ?
Ответили: (25)
# Ответить
25. Fragster 10.04.2013 11:28
(24) serg1974, спасибо за сообщение об ошибке. Оказывается, код возврата появился только в 8.2.15. Сейчас подготовлю обновление с исправлением.
# Ответить
26. KroVladS (файл скачал) 11.04.2013 11:44
Хотелось бы увидеть сколько попугаев выдают типовые конфигурации серверов, чтобы было понятно с чем сравнивать.
Ответили: (27)
# Ответить
27. Fragster 11.04.2013 13:01
(26) KroVladS, а что значит "типовые конфигурации серверов"? имеющиеся результаты можно получить прямо в конфигурацию с помощью обработки "обмен результатами". Чем больше комментариев в тестах пользователи будут указывать - тем проще накопить статистику и анализировать, но, к сожалению, я пока не придумал, как стимулировать этих самых пользователей к заполнению этой самой информации.
# Ответить
28. Кинстинтин 16.04.2013 18:13
Всем здрасьте! Ребят, что можно сказать, глядя на графики, по поводу производительности системы: 2*Xeon E5-2670, 128ГБ, RAID 10, Windows Server 2012, Postgresql 9.1.2. Че-то мне кажется слабенько получается. Ставил 40 пользователей. max_connections прописывал и 200 и 1000. Когда shared_buffers поставил 2048MB - результат существенно улучшился. Что еще можно настроить? Заранее спасибо всем неравнодушным!
Ответили: (29)

Прикрепленные файлы:

image000.png
image001.png
# Ответить
29. Fragster 16.04.2013 19:21
(28) Кинстинтин, очень плохо, во первых - почему такие колебания графиков? тестирование проводилось во время работы пользователей?
Также непонятно, почему временные таблицы почти не отличаются от реальных, надо посмотреть temp_buffers (увеличить?), да и вообще, посмотрите рекомендации http://www.gilev.ru/1c/81/postgresql/ (Вячеслав почему-то убрал статью, но в сети куча подобных статей, например http://www.1c-remote.ru/nastroika_postgre_dlya_1c.html) , после чего заново прогоните тест. Умолчательные значения ориентированы больше на веб-серверную специфику (простые маленькие запросы).
# Ответить
30. Кинстинтин 16.04.2013 19:30
Нет, в данный момент к серверу не подключен ни один пользователь - запускаю его с нуля. Сам удивился почему так сильно разнятся графики с другими людьми. Буду читать - разбираться. Спасибо большое!
Ответили: (31)
# Ответить
31. Fragster 16.04.2013 19:54
(30) Кинстинтин, А график уже с увеличенным shared_buffers?
# Ответить
32. Кинстинтин 17.04.2013 09:51
Я уже и не помню с увеличенным shared_buffers или нет. Вот результаты нового тестирования со следующими настройками, которые я корректировал: shared_buffers = 4096MB, temp_buffers = 32MB, work_mem = 10MB, maintenance_work_mem = 60MB
Ответили: (33)

Прикрепленные файлы:

image000.png
image001.png
+ 1 [ tilerans; ]
# Ответить
33. Fragster 17.04.2013 12:35
(32) Кинстинтин, ну, видимо, первый график до увеличения - разница в 2 раза. Но все равно - не должен он так загибаться вниз, должен выходить в горизонталь при достижении предела производительности (как у почти всех остальных результатов, в том числе и у postgre. Правда, как я понял, остальные результаты postgre - на линуксе).

А диски какие? Также можно поэкспериментировать с fsync = off у постгре.
# Ответить
34. Кинстинтин 17.04.2013 13:26
Все тесты на Винде. 4 диска Hitachi HUS156030VLS600 15000RPM на контроллере LSI 9260-8i, как уже выше писал RAID 10. 1С: Предприятие 8.2.17.153.
С fsync = off потестирую сегодня попозже, как серверный ключ освободится. Кстати, насколько помню, на рабочей базе fsync крайне не рекомендуют же выключать, если бэкапса управляемого нету?
Ответили: (35)
# Ответить
35. Fragster 17.04.2013 13:58
(34) Кинстинтин, да, по поводу упса - верно. Но он же есть, да?
# Ответить
36. Кинстинтин 17.04.2013 14:16
В магазине есть :-) А если серьезно, то планируем покупать. А пока базы не рабочие - можно и поэкспериментировать. Может, еще какие настройки подкрутить в postgre? Неужели у остальных все "ровно" работает?
# Ответить
37. Кинстинтин 17.04.2013 17:59
fsync = off. Графики практически не изменились.
# Ответить
38. Кинстинтин 18.04.2013 18:44
Поставил на встроенный контроллер Интел древненький жесткий диск (Seagate 320GB 7200.12). Установил с нуля систему. В postgresql все настройки по умолчанию. Результат получился еще больше, чем в RAIDе.

Прикрепленные файлы:

image000.png
image001.png
# Ответить
39. Кинстинтин 18.04.2013 18:45
Но поведение графиков все же схожее. Куда рыть? Сейчас гоняю на других настройках.
Ответили: (40)
# Ответить
40. Fragster 18.04.2013 18:59
(39) Кинстинтин, Есть возможность попробовать на линуксе?
# Ответить
41. Fragster 18.04.2013 19:06
Еще есть вариант посмотреть perfmon.msc на предмет того, во что упирается - в процессор, в диски или еще во что (очередь к чему становится сиииильно больше на 32 потоках чем на 16). Но судя по тому, что при замене дисков пик переместился в 8 потоков на 16 - дело таки в них. Ну, или в каких-то других настройках, которые были изменены между тестами.
# Ответить
42. Кинстинтин 18.04.2013 19:35
Линукса, к сожалению нету. Ни разу не пользовался perfmon.msc. Как юзать, подскажите, плиз. Ниже графики с настройками: 1000 - подключений, shared_buffers = 4096MB, temp_buffers = 32MB. Остальное по умолчанию

Прикрепленные файлы:

image000.png
image001.png
# Ответить
43. Кинстинтин 19.04.2013 17:33
Кстати, а "Вид СУБД" нужно выбирать? :-) А то я выбираю Postgre SQL, и еще ставлю крыжик "Сервер СУБД". Хотя, пробовал по-разному - результаты сильно не изменялись
Ответили: (44)
# Ответить
44. Fragster 19.04.2013 17:42
(43) Кинстинтин, все, что находится на форме теста, кроме того, что на вкладках в нижней части - предназначено для других людей, которые будут сравнивать свои результаты, с результатами, полученными через обработку обмен результатами. Табличная часть - она предназначена для того, чтобы можно было указать описание сервера СУБД, если он не на компьютере с сервером 1с. Ну, или поставить галочку на строке с сервером 1с, показав таким образом, что они находятся на одном компьютере.
# Ответить
45. Кинстинтин 19.04.2013 20:36
А вот графики из связки Windows Server 2012 + MS SQL Server 2012
Ответили: (46)

Прикрепленные файлы:

image000.png
image001.png
+ 1 [ Fragster; ]
# Ответить
46. Fragster 19.04.2013 20:53
(45) Кинстинтин, Это те же железяки? Да уж, разница очевидна :)
Вот еще бы db2 протестировать...
# Ответить
47. Кинстинтин 20.04.2013 09:38
Интересно, сейчас проанализировал графики - до 4-х потоков PostgreSQL примерно с MS SQL наравне, а потом резко падает вниз. Тесты производились на том же железе - причем на старом винчестере (RAID-массив отключен). Следовательно, делаю выводы, что падение скорости все-таки из-за PostgreSQL, возможно, настройки. А железо в норме. Еще думал, может, Сервак 2012, но он бы и с MS SQL тормозил.
А что нам даст тестирование db2?
Ответили: (48)
# Ответить
48. Fragster 20.04.2013 12:22
(47) просто Postgre очень сильно полагается на кэширование IO операционной системы, а MSSQL использует свои механизмы. Именно по этому я про линукс и говорил. Возможно, что дело именно в том, что постгре под виндой.

Было бы у меня время и оборудование - я бы с удовольствием провел бы кучу экспериментов, но, к сожалению, нет времени ни того, ни другого :(

Тестирование db2 - оно даст полное сравнение 3-х СУБД на одинаковом железе (такого исслдедования я еще не видел).
Ответили: (50)
# Ответить
49. Кинстинтин 22.04.2013 08:34
В принципе, у меня со временем тоже негусто, но потестить интересно. Опять же, нужно ведь на полноценной версии пробовать, а не на ограниченной IBM DB2 Express-C. Я правильно понимаю? Полную, к сожалению, не нашел.
# Ответить
50. ansh15 22.04.2013 13:02
(48) Тогда уж и Oracle тоже надо протестировать, чтобы совсем полная картина получилась. И не Express, конечно.
# Ответить
51. Кинстинтин 29.04.2013 06:39
В общем запускал групповую обработку - проведение документов одной и той же базы на серваке на PostgreSQL и MS SQL 2012 - результаты по времени практически один в один. Остался доволен. Прекратил поиски - запустил сервер в работу.
Ответили: (52)
# Ответить
52. Fragster 29.04.2013 11:22
(51) Ну так стандартное перепроведение - оно же однопоточное, а разница в однопоточном режиме не так уж и велика. Кстати, для такого режима лучше всего что-нибудь с большим количеством мегагерц (проца и шины) и маленьким - ядер :) Например, восстанавливать последовательность в отдельном узле РИБ и компом с АМД на 4,5-5 ГГц, причем на файловой (если база влезает в файловую, конечно)
# Ответить
53. ansh15 08.05.2013 15:13
Почему-то не хочет показывать результаты других пользователей, сам обмен результатами выполняется без ошибок. Платформа 8.2.18.82, на более ранних все показывалось. И еще может подвиснуть сервер приложений, перестает отвечать на обращения как из клиента так и из консоли администрирования при количестве фоновых заданий от 64-х и выше. А, и еще не показывает результаты выполнения каждого теста online, только после окончания всего теста во вкладке результаты появляются строки.
Ответили: (54)
# Ответить
54. Fragster 08.05.2013 19:01
(53) ansh15, на .18 не тестировал, возможно дело в платформе. а различия по результатам есть?
Ответили: (56)
# Ответить
55. Fragster 08.05.2013 19:52
По поводу обмена: видимо, срабатывает ограничение по памяти на хостинге. Переделал, теперь выплевывает по 10 результатов за одно нажатие кнопки обмена, просто надо нажимать на "обмен", пока не перестанут приходить новые результаты, в следующих версиях сделаю автоматическую подгрузку оставшихся частей.
Ответили: (57)
# Ответить
56. ansh15 08.05.2013 21:35
(54) Fragster, Нет, различий нет, также осталось. По поводу подвисания сервера приложений, подумал, может увеличить число рабочих процессов до 4-8, сейчас 2 запущено. При одном рабочем процессе висло уже на 48-и фоновых заданиях. И еще наблюдение, при выполнении теста на синхронизацию потоков при 112 потоках, сеансы с PostgreSQL не завершаются, а остаются в состоянии idle in transaction и висят сколь угодно долго,вплоть до рестарта сервера приложений. Тут http://gray-hemp.blogspot.ru/2008/08/idle-in-transactions.html немного пишут про это, в принципе, не страшно, в повседневной работе такого не возникает, но все же...
# Ответить
57. ansh15 09.05.2013 10:45
(55) Fragster, да, так работает.
# Ответить
58. nevro (файл скачал) 14.05.2013 09:14
Несколько вопросов:
1. Этот файл конфигурации объединять с тестируемой конфигурацией?
2. Обязательно запускать тест на работающей конфигурации или можно развернуть бэкап и запускать на нем? Т.е. симулируется ли работа?
3. Поддерживаются варианты: файловый и клиент-серверный? По комментариям выходит, что оба - просто уточнить.
Спасибо.

p.s. хотим сравнить скорость работы в обоих вариантах, т.к. база весит пока что около 2 гигов.
Ответили: (59)
# Ответить
59. Fragster 14.05.2013 10:51
(58) nevro, в отличии от тестцентра этот тест предназначен для измерения производительности не алгоритмов + субд + железа, а только субд + железа. Это самостоятельная конфигурация, ни с чем объединять ее не требуется, просто загрузить .cf в пустую базу.

Пока поддерживается только клиент-серверный вариант из-за сложности организации многопоточности в файловом варианте.
# Ответить
60. nevro (файл скачал) 14.05.2013 11:46
>>в отличии от тестцентра этот тест предназначен для измерения производительности не алгоритмов + субд + железа, а только субд + железа
Понятно. По файловому варианту тесты существуют?
Ответили: (61)
# Ответить
61. Fragster 14.05.2013 11:57
(60) nevro, 1с:тест-центр будет работать в многопоточном режиме, но там настраивать надо. В однопоточном режиме - есть тест Гилева: http://www.gilev.ru/tpc1cgilv/ однако же из графиков в топике и комментариях видно, что однопоточный режим не полностью характеризует производительность системы, интегральная (суммарная по всем потокам) производительность при росте количества потоков может расти весьма значительно.
# Ответить
62. nevro (файл скачал) 14.05.2013 17:05
Многопоточность - это количество подключений к базе?
Ответили: (63)
# Ответить
63. Fragster 14.05.2013 18:33
(62) в смысле? Многопоточность - это выполнение чего-то в несколько "потоков", параллельно, т.е. "свойство действия". В данном тесте количество подключений к базе равно количеству "потоков" теста (просто потому что 1с так работает) + 1 подключение, из которого осуществляется запуск теста.
# Ответить
64. khan 15.05.2013 10:25
Добрый день, Подскажите пожалуйста на что влияет реквизит "Количество пользователей" в справочнике "Тесты"
Ответили: (65) (70)
# Ответить
65. Fragster 15.05.2013 12:09
(64) khan, все, кроме того, что находится на панели "настройки", является информационным и в большей степени нацелено на информирование остальных пользователей теста при обмене результатами.

Конкретно это поле - сколько пользователей работает на данном сервере в "боевом режиме".

Написать подробную справку/инструкцию пока руки не доходят :(
# Ответить
66. khan 18.05.2013 10:03
Тестирую два сервера БД, т.е. сервер 1С - один, и два сервера БД. Получилось непонятно : одинаковый тест сервер БД1 показывает 976 на поток в среднем, сервер БД2 - 920, но при этом на сервере БД2 тест выполнился за 1 ч 52 мин, а на сервер БД1 - 2 ч 43 мин.
Т.е. по тесту БД1 производительней, а по времени выполнения результат обратный. Как это понять ?
Ответили: (67)
# Ответить
67. Fragster 18.05.2013 11:35
(66) khan, очень просто - после проведения собственно тестов идет удаление тех данных, которые были созданы в процессе, и чем больше этих данных - тем дольше они удаляются, а удалялись они в 1 поток в версиях до 2.0.006. В версии 2.0.006 удаление происходит по разным видам метаданных параллельно, что сократило время теста до ~35 минут на стандартной точности (по крайней мере на серверах где я тестил).
+ 1 [ CratosX; ]
# Ответить
68. Fragster 18.05.2013 11:38
кстати производительность сервера 1с намного сильнее влияет на результаты, чем производительность сервера СУБД, если они разнесены
# Ответить
69. Ed111111 22.05.2013 00:55
У кого какие результаты? Похвастайтесь. И какая конфигурация сервера дает такую производительность обязательно укажите)
# Ответить
70. Buldog57 14.06.2013 16:16
Просьба прокомментировать windows2012 + sql2008r2(64), 1c 8.2.18.61(32 битная)
Железо: Сервер SRV|Legion SL2500/4UT8G2 / CPU-E5-2620x2 / 65G 1333мгц / SAS3,5-300G15Kx4 / LSI Megaraid 9271-4i
raid 10.
Ответили: (71) (74)

Прикрепленные файлы:

суммарн.png
# Ответить
71. Fragster 14.06.2013 16:32
(70) Buldog57, а в районе 1-2 потоков можно покрупнее? или без временных таблиц. Вообще - сервер - зверь :)
Ответили: (73)
# Ответить
72. Buldog57 14.06.2013 16:37
71 щас попробую)
# Ответить
73. Buldog57 14.06.2013 16:42
(71) Fragster, Что то не пойму а что ты там хочешь увидеть?
Ответили: (74)
# Ответить
74. Fragster 14.06.2013 16:50
(73) Buldog57, сколько "попугаев" в 1 поток. Вообще - для практического применения можно воспользоваться графиком "производительность на поток", количество потоков, когда график пересечет 500 - это "условно максимальное" количество _активных_ пользователей, при котором они еще как-то смогут работать. Имеется ввиду именно железо, если на реальной базе "тормоза" начинаются сильно раньше - то, конечно, можно наращивать железо, но намного больший эффект даст оптимизация конфигурации 1с и/или организации бизнес процессов (применительно к серверу из (70)). Ну а если не все пользователи являются активными - то количество пользователей можно пропорционально увеличить.
Ответили: (77)
# Ответить
75. Fragster 14.06.2013 16:52
Также показателен отчет "профиль выполнения" - он показывает сколько времени длилась одна операция, т.е. если 90% выполнялись 15мс, 9% - 30, а 1% - больше секунды - то отчет "профиль выполнения" это покажет.
# Ответить
76. Buldog57 14.06.2013 17:05
Теперь скину только через две недели когда заменят рейд плату глючная попалсь(((
Ответили: (77)
# Ответить
77. CratosX (файл скачал) 14.08.2013 21:21
(76) Buldog57, очень хочется посмотреть попугаев в одном потоке.
Ответили: (79)
# Ответить
78. CratosX (файл скачал) 14.08.2013 21:33
(0) Fragster
Версия 2.0.006
Также при очистке данных регистров накопления и сведений теперь выключаются итоги.


Включаются по окончании удаления или перед запуском теста?
Ответили: (80)
# Ответить
79. Buldog57 19.08.2013 09:37
(77) Сегодня привезут сервак завтра поиграюсь повешу скрин)
# Ответить
80. Fragster 21.08.2013 18:00
(78) CratosX, включаются по окончании удаления. Но удаление "на всякий случай" проводится еще и перед запуском теста - на случай, если предыдущий запуск отвалился и в регистре есть данные.
# Ответить
81. Buldog57 22.08.2013 13:47
Ура приехал сервачок)) выкладываю скрины, размер объектов обычные, повышенная точность очень долго плиз комменты)) потом еще с большими объектами тестану!!!
Ответили: (106)

Прикрепленные файлы:

Средний результат.jpg
Подробная информация.jpg
Профиль выполнения.jpg
суммарный результат.jpg
# Ответить
82. Buldog57 03.09.2013 17:17
что то Комментов нету
Ответили: (83)
# Ответить
83. CratosX (файл скачал) 03.09.2013 17:21
(82) Buldog57, сдохли от зависти))
Ответили: (84)
# Ответить
84. Buldog57 03.09.2013 17:52
(83) CratosX, Ой да ладно))) не ужели прям гипер система)) даже ссд винтов нет:((
Ответили: (87)
# Ответить
85. babys (файл скачал) 12.09.2013 16:38
Fragster, объясните плз, для тех кто в танке. Могу ли я на Вашем тесте проверить нагрузочную способность 1С+SQL фермы на 50000 пользователей?
Ответили: (86)
# Ответить
86. Fragster 13.09.2013 07:45
(85) babys, там сейчас стоит ограничение в 112 потоков выполнения, скорее всего это для вашей системы будет маловато. Но код открыт, можете добавить/поменять количество потоков теста, только прошу в таком случае не обмениваться результатами, чтобы не "портить" общую базу
# Ответить
87. Fragster 13.09.2013 07:47
(84) Buldog57, ну, у вас в пике 30000 по регистрам всяким, а у меня - 4 (правда этого все равно на 100 сонных пользователей хватает, да) :)
# Ответить
88. Foma4382 13.09.2013 14:11
Интересная статья! Спасибо!
# Ответить
89. Sergant 17.09.2013 08:41
Тестирование не работает, после сообщений -

17.09.2013 8:36:08 Старт теста Регистры бухгалтерии в 1 потоков
17.09.2013 8:36:02 Старт теста Регистры накопления в 1 потоков
17.09.2013 8:35:55 Старт теста Регистры сведений в 1 потоков
17.09.2013 8:35:49 Старт теста Справочники в 1 потоков
17.09.2013 8:35:41 Старт теста Временные таблицы в 1 потоков

сообщает об ошибке -

{ОбщийМодуль.Тестирование.Модуль(139)}: Ошибка при вызове метода контекста (ОжидатьЗавершения)
ФоновыеЗадания.ОжидатьЗавершения(МассивЗаданий);
по причине:
Выполнение одного или нескольких заданий завершилось с ошибкой
Ответили: (90)
# Ответить
90. Fragster 17.09.2013 12:05
(89) Sergant, прошу сообщить релиз платформы, а также сообщение об ошибке из журнала регистрации.
Ответили: (91) (92)
# Ответить
91. Sergant 17.09.2013 15:06
(90) Fragster, платформа 1С 18.109, в ЖР ошибок нет.
Ответили: (93)
# Ответить
92. Sergant 17.09.2013 15:11
(90) Fragster, вот последний кусок из ЖР.
...
17.09.2013 15:01:31 Данные. Удаление Зафиксирована Справочник. Справочник
T_SERV5 17.09.2013 15:01:31 (6193126)
Фоновое задание 430 Элемент
17.09.2013 15:01:31 Данные. Удаление Зафиксирована Справочник. Справочник
T_SERV5 17.09.2013 15:01:31 (6193470)
Фоновое задание 430 Элемент
17.09.2013 15:01:31 Фоновое задание. Успешное завершение
T_SERV5 Справочник.Справочник
Фоновое задание 430
17.09.2013 15:01:31 Сеанс. Завершение
T_SERV5
Фоновое задание 430
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 435
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 435
17.09.2013 15:01:32 Фоновое задание. Запуск
T_SERV5 Справочник.Справочник
Фоновое задание 435
17.09.2013 15:01:32 Фоновое задание. Успешное завершение
T_SERV5 Справочник.Справочник
Фоновое задание 435
17.09.2013 15:01:32 Сеанс. Завершение
T_SERV5
Фоновое задание 435
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 438
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 437
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 438
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 437
17.09.2013 15:01:32 Фоновое задание. Запуск
T_SERV5 Документ.РегистраторРС
Фоновое задание 437
17.09.2013 15:01:32 Фоновое задание. Запуск
T_SERV5 РегистрНакопления.РН
Фоновое задание 438
17.09.2013 15:01:32 Фоновое задание. Успешное завершение
T_SERV5 Документ.РегистраторРС
Фоновое задание 437
17.09.2013 15:01:32 Сеанс. Завершение
T_SERV5
Фоновое задание 437
17.09.2013 15:01:32 Фоновое задание. Успешное завершение
T_SERV5 РегистрНакопления.РН
Фоновое задание 438
17.09.2013 15:01:32 Сеанс. Завершение
T_SERV5
Фоновое задание 438
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 441
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 441
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 443
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 442
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 443
17.09.2013 15:01:32 Сеанс. Начало
T_SERV5
Фоновое задание 442
17.09.2013 15:01:32 Фоновое задание. Запуск
T_SERV5 РегистрБухгалтерии.РБ
Фоновое задание 441
17.09.2013 15:01:32 Фоновое задание. Запуск
T_SERV5 РегистрСведений.РС
Фоновое задание 443
17.09.2013 15:01:32 Фоновое задание. Запуск
T_SERV5 Документ.РегистраторРБ
Фоновое задание 442
17.09.2013 15:01:32 Фоновое задание. Успешное завершение
T_SERV5 Документ.РегистраторРБ
Фоновое задание 442
17.09.2013 15:01:32 Сеанс. Завершение
T_SERV5
Фоновое задание 442
17.09.2013 15:01:32 Фоновое задание. Успешное завершение
T_SERV5 РегистрСведений.РС
Фоновое задание 443
17.09.2013 15:01:32 Сеанс. Завершение
T_SERV5
Фоновое задание 443
17.09.2013 15:01:33 Фоновое задание. Успешное завершение
T_SERV5 РегистрБухгалтерии.РБ
Фоновое задание 441
17.09.2013 15:01:33 Сеанс. Завершение
T_SERV5
Фоновое задание 441
Ответили: (93)
# Ответить
93. Fragster 17.09.2013 16:40
(91)(92) Sergant, ну не может же такого быть, что в фоновом задании выбросилось исключение, а в ЖР не отобразилось. В настройках ЖР, судя по всему, уровень журналирования максимальный.

Тест падает стабильно на запуске в два потока (или на очистке после одного потока)? База, я надеюсь, клиент-серверная?
Ответили: (94)
# Ответить
94. Sergant 17.09.2013 17:26
(93) Fragster,
уточню симптомы проблема возникает
- при любом кол-ве потоков (возникала при одном двух четырех восьми шестнадцати), результаты предыдущих выполненнх этапах остаются видны, результаты очень низкие.
- работа с мсскл стабильна, проблемы только с посгрес
- иногда тест на посгрес завершается без ошибок.

подключение клиент серверное.
Ответили: (95)
# Ответить
95. Fragster 18.09.2013 13:57
(94) Sergant, а вариант с постгре - сервер 1с случайно не на линуксовом сервере без ключа?
Ответили: (96)
# Ответить
96. Sergant 18.09.2013 14:29
(95) Fragster, посгре на виндовус вместе с сервером 1с, ия на мистовском форуме видел вам жаловались с таким же сообщением об ошибке, кажется вы тогда не ответили. Кроем того результаты теста неудовлетворительны и вашим тестом 200-550, и тестами гилева 6 баллов, хотя оборудование хорошее, вот такое: серв терминалов: Intel® Xeon® CPU E5-2650 0 @ 2.00GHz, 2*32, RAM 64ГБ, а серв 1с + субд посгрес: Intel® Xeon® CPU E5-2620 0 @ 2.00GHz, 2*12, 48 ГБ
Ответили: (97)
# Ответить
97. Fragster 18.09.2013 19:23
(96) Sergant, эта строка - ожидание очистки данных после выполнения теста. Ничего криминального там нет, просто удаление наборов регистров и справочников/документов, параллельно. Все таблицы - разные, так что блокировки возникать не должны (опять же, на самих тестах, где все данные пишутся в одну таблицу - блокировок нет).

Опять же смущает отсутствие записей в ЖР. Можно попробовать еще проанализировать техножурнал, чтобы выяснить причину ошибок.

По поводу производительности - вы хотите сказать, что разница между MS SQL и Postgres по синтетическим тестам есть, а по реальной работе на том же железе - нет (или она противоположная)?
Ответили: (99)
# Ответить
98. tilerans 18.09.2013 19:52
Я присоединюсь к вопросу.
По поводу PostgreSQL: по моему опыту 1С заметно быстрее работает с постгри, установленном на Linux. Не сочтите за спам, моя статья http://itisok.ru/postgresql-klaster-i-zametki-po-rabote-s-1s-serverom/ раскрывает вопрос установки PGSQL для 1С Сервера. В представленной реализации Постгри держал до 40 пользователей одновременно, в 100 разных базах 1С 8.2, включая до 25 пользаков в одной основной большой кастомизированной базе на основе конфигурации Бухгалтерия. В отчетные периоды бухгалтерия не особо радовалась производительности, но решение с постгри успешно применялось.
На практике и субъективно, 1С Сервер с MSSQL работает гораздо быстрее, начиная с загрузки информационной базы, заканчивая закрытиями периодов (второе может выполниться быстрее в 2-3 раза).
# Ответить
99. Sergant 19.09.2013 07:52
(97) Fragster, сервер на посгре новый и на нем пока не работали массово пользователи. поэтому ничего не мгу сказать о субъективной производительности на реальной нагрузке. Смущает что сервер не нагружен ничем, сервер нормальный, а тесты показывают что он вообще не сервер. Например видно же по чужим тестам как на слабом оборудовании результаты тестирования у них отличные. Как они такого добились. Или нам просто брак достался?
# Ответить
100. matashin (файл скачал) 11.10.2013 20:57
получил такую ошибку:

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Объект был открыт.
HRESULT=80040E05,
Ответили: (101)
# Ответить
101. Fragster 11.10.2013 21:18
(100) matashin, это постоянная ошибка? на скольки потоках - не понятно?
# Ответить
102. matashin (файл скачал) 11.10.2013 21:35
нет, повторил тест, но пока в быстром варианте и все получилось,если выясню закономерность, напишу.
# Ответить
103. molodoi1sneg (файл скачал) 29.10.2013 16:47
Сделал тест со стандартными настройками. Среднее значение на поток - 350 пернатых птиц.
ОС SERVER 2012
MS SQL 2012
ОЗУ 16 ГБ
Процессор - XEON E3 - 1230 V2 3.3GHz

Sql настраивал по этой статье http://infostart.ru/public/65955/
На серваке пока никто не работает.

Как считаете сервер+настройки завалили тест? Есть ли инструкция к настройке SQL 2012 к работе с 1с?
Ответили: (104)
# Ответить
104. Fragster 13.12.2013 14:20
(103) molodoi1sneg, имеет смысл среднее на поток при определенном количестве потоков. Соотвесттвенно, если у вас 350 на 112 потоках - то весьма неплохой результат. если на 4х - то все не очень хорошо.
# Ответить
105. mixperm (файл скачал) 28.12.2013 09:00
1С 8.3.4.365
ОС SERVER 2012
MS SQL 2012
ОЗУ 32 ГБ
Процессор - Intel i7-3770K HT off
HDD Raid10 Seagate SV35 2 TB
Количество потоков Результат Результат на поток
Временные таблицы 59818,80 7377,29
1 16806,00 16806,00
2 39101,00 19550,50
4 73622,00 18405,50
8 72973,00 9121,63
16 65719,00 4107,44
32 68686,00 2146,44
48 64961,00 1353,35
64 64193,00 1003,02
96 66725,00 695,05
112 65402,00 583,95

Во время теста работали 20 пользователей п.э. были ошибки и провалы производительности. Но очередной раз убедился, что мой сервак за 50000 оставляет в глубокой опе ваши поллямные ксеоны. И вот только не надо мне говорить про надежность. При прямых ручках надежность не страдает. Сервак год стоит без единого глюка.
Ответили: (106)
# Ответить
106. gogi2003 (файл скачал) 17.01.2014 09:18
(105) mixperm, так я не понял, чем ты хвастаешься? Результаты не блестящие, и видно как раз, зачем приобретаются дорогие серверы - именно для того, чтобы держать параллельную нагрузку и не прогибаться под ней. У тебя-то скорость на одном-двух потоках ещё нормальная, а потом она просто проваливается, сравни хотя бы с (81). Знаешь, Феррари тоже скорость быстро набирает, только вот почему-то руду возят на огромных карьерных самосвалах. Ну и сразу видно, что не работал ты с нормальной техникой, раз ещё не понимаешь, в чём плюсы нормальных серверов, а не "серверов из десктопа".
Ответили: (107)
+ 1 [ alexscamp; ]
# Ответить
107. mixperm (файл скачал) 17.01.2014 21:18
(106) gogi2003, По статистике мой сервак одновременно обрабатывает не больше 2-3 потоков. Это при условии, что одновременно работают 20 пользователей. Да пускай их даже будет 100, вероятность того, что 16 пользователей (при 16 потоках мой сервер начинает проигрывать) одновременно нажмут кнопку с тяжелой обработкой маловероятно. Зато в 1-4 потоках мой сервак в 2 раза быстрее. А для программера 1С, который делает свертку базы просто афигетельно. Цифры цифрами, а на практике все по-другому. Если бы в компании было 1000 пользователей и лям денег на сервак, то конечно я бы взял топовый ксеон 8 ядерный двухпроцессорный. Или лучше сделал бы кластер из десятка обычных i7, и то получилось бы быстрее в 5 раз. P.S. кстати ваша "крутая" техника вчера отказала. Сервак HP неделю назад умерло зеркало, а вчера и второй жесткий отказал, благо с него все перекинули. Так что ничем они не лучше. Денег только больше требуют.
Ответили: (108)
− 1 [ CratosX; ]
# Ответить
108. gogi2003 (файл скачал) 18.01.2014 02:53
(107) спорить с тобой бесполезно, юноша, это очевидно. Помнится мне, что ты говорил "очередной раз убедился, что мой сервак за 50000 оставляет в глубокой опе ваши поллямные ксеоны". Где тут, в этой фразе, слова "на четырёх потоках"? Её нет, а значит, я делаю вывод, что ты и вправду считаешь, что и на сотне потоках твой сервак оставит "в опе" другой, за полмиллиона, расчитанный не на разовый выпендрёж (на высоких частотах ядра), а на серьёзную параллельную нагрузку. А это, само собой, не так, что я тебе в своём комменте и сказал. Естественно, ты тут же съехал и начал юлить про 2-3 потока (у тебя). Далее. Где я говорил, что цена за серьёзный сервер определяет лишь надёжность этого самого сервера? Просто ты, видимо, не понимаешь, для чего в сервере нужны все эти именно серверные технологии, ну и не пользуешься ими. Ну а то, что у тебя высыпались диски, так это от того, что у тебя руки кривые (по твоим же собственным словам): "И вот только не надо мне говорить про надежность. При прямых ручках надежность не страдает."

И ещё. Я не продавец какой-то крутой техники, я такой же админ и программист (сейчас, правда, директор по ИТ, но не суть), уже скоро как 30 лет в теме. И знаешь, когда-то я тоже страдал таким же юношеским максимализмом, как и ты. Ну это когда у меня в конторе было 20-30 компов, и сервером я, если надо, мог хоть всю ночь заниматься. Когда же у тебя на предприятии 2000 человек, когда у тебя база УПП под терабайт, и когда у тебя минута простоя - это уже катастрофа, то вот эти самоделки на ответственных участках - это просто смешно. И именно тогда начинаешь понимать, ЧТО ИМЕННО стОит этих дополнительных денег в нормальных серверах. А калькулятор для программистов (я имею в виду машинку под сервер 1С для разработки) мы и сами делаем на i5, лишь бы частота ядра повыше была.

Так что молодец, развивайся, расти, но не считай себя самым умным во всём.

P.S. А ещё мне очень интересно, как ты собираешься на i7 собрать приличный SQL-сервер, учитывая, что i7 не работает в многопроцессорных конфигурациях.
# Ответить
109. matashin (файл скачал) 29.01.2014 16:18
Чем все закончилось?
# Ответить
110. fwhr 05.03.2014 21:20
Стастистики для приведу свою машинку.
Коротко: i7-4930@4GGz(105*38) HT on, RAM 64Gb, Debian7@ssd, db@hw raid10(4x300@15k sas hdd), long test/big tables, fsync on, 1C x64 8.2.19.68, Postgre x64 9.2.1-eter1debian

Прикрепленные файлы:

long- big ht on.png
# Ответить
111. lesasd 01.09.2014 13:27
У меня два сервера на обоих попробовал и программа выдает одну и ту же ошибку
Конфа Тестирование параллельной работы (2.0.010)
{ОбщийМодуль.Тестирование.Модуль(139)}: Ошибка при вызове метода контекста (ОжидатьЗавершения)
ФоновыеЗадания.ОжидатьЗавершения(МассивЗаданий);
по причине:
Выполнение одного или нескольких заданий завершилось с ошибкой
Ответили: (112)

Прикрепленные файлы:

ошибка.jpg
# Ответить
112. Fragster 01.09.2014 18:48
(111) lesasd, если не сложно, сообщите, какие ошибки в журнале регистрации у фоновых заданий?
Ответили: (113)
# Ответить
113. EliasShy (файл скачал) 01.10.2014 09:45
(112) Fragster,
Странное совпадение - у меня сегодня такая же ошибка!
ОЛшибка в журнале - не удалось синхронизировать потоки за 30 секунд.
Ответили: (114)
# Ответить
114. Fragster 01.10.2014 11:38
(113) EliasShy, дело случайно происходит не на линуксовом сервере без ключа?
# Ответить
115. y-ha 23.02.2015 23:53
Такая же ошибка, что и в 111. В журнале регистрации про нее ничего не нашел. Тестирование производилось в файловом варианте. Пробовал и в тонком и в толстом клиенте.
В Postgree все взлетело.
Ответили: (116)
# Ответить
116. Fragster 24.02.2015 18:10
(115) y-ha, В файловом варианте тест не работает - большие сложности с синхронизацией. Да и ОС очень сильно помирает от такого количества 1сок. А подготавливать инфраструктуру для запуска на куче рабочих станций, отлаживать это все - нет ни желания, ни времени.
# Ответить
117. Балабас (файл скачал) 08.05.2015 13:06
тест падает с ошибкой
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Объект был открыт.
HRESULT=80040E05,
Ответили: (118)
# Ответить
118. Fragster 08.05.2015 18:03
(117) Балабас, это при работе теста? какой скуль, какая платформа? Стабильно ли воспроизводится ошибка? Работает ли тест на небольшом количестве параллельных потоков (16, 32)? Есть мнение, что сервак просто не вывозит такое количество запросов от слова "совсем" (беглый поиск показывает, что такую ошибку выдает скуль при параллельных запросах и слишком больших для него объемах данных).
Ответили: (119)
# Ответить
119. Балабас (файл скачал) 12.05.2015 10:18
(118) Fragster,
1с 8.2.19.90 / AuthenticAMD AMD64 Family 16 Model 8 Stepping 0 2100 MHz / 56,00 ГБ / Windows x86-64 (version 6.1 Service Pack 1 (Build 7601))
SQL 2012 24 core 2.8 Ghz Six-Core AMD opteron 8439 SE Windows x64 2012 / 64 Гб ОЗУ
при любых настройках больше 8 потоков падает
# Ответить
120. tedkuban (файл скачал) 29.08.2015 12:22
Будьте добры, прокомментируйте результаты:

8.3.6.2237 / GenuineIntel Intel64 Family 6 Model 44 Stepping 2 2400 MHz / 31,94 ГБ (Intel SR1630BCR)
6 ядер 24 потока, SQL здесь же, база SQL на SSD, но контроллер простой (на мамке)
Сервер 1С - x64

Похоже на аналоги, или где-то просадка?

Прикрепленные файлы:

Суммарный полный.png
Средний полный.png
Суммарный без временных.png
Средний без временных.png
# Ответить
121. Кузьмич (файл скачал) 14.12.2015 15:20
Катастрофически не хватает описания в самой конфигурации. Эталонные значения? (как у Гилева)
Не обязательно разжевывать. Тезисно, кратенько, но чтоб суть была понятна.
Ответили: (122) (123)
# Ответить
122. Fragster 14.12.2015 16:05
(121) Кузьмич,
Эмпирическим путем получено число в 400-500 попугаев на поток (не учитывая временные таблицы), при котором работа терпима.
, это примерно соответствует 15-20 баллам у Гилева в однопоточном варианте.
Тест запускает параллельную запись в одну таблицу - справочника, регистра сведений, накопления и бухгалтерии (+ регистраторы регистров). Соответственно, можно увидеть, насколько проседает производительность при увеличении нагрузки, соответственно, можно высчитать "емкость" или "запас прочности" сервера из расчета (в зависимости от специфики работы пользователей) 3-20 пользователей на поток.
Это справедливо при решенных проблемах блокировок в конфигурации.
# Ответить
123. Fragster 14.12.2015 16:24
(121) Кузьмич, какие конкретно вопросы интересуют, постараюсь ответить? Конфигурация достаточно простая, функций всего четыре - тест производительности, тест синхронизации (работает на управляемых блокировках, замеряет время от освобождения исключительной блокировки до поступления сигнала об этом к другим сеансам), отчет по тесту и обмен результатами. Обмен, надеюсь, еще работает, так как хостинг куплен под это дело самый дешевый.
# Ответить
124. Fragster 31.03.2016 22:23
сделал просмотр загруженных результатов на http://fragster.ru/perfomanceTest/results.php для загруженных результатов версии 2.х
# Ответить
125. Fragster 08.04.2016 14:53
Некоторое время не работал обмен результатами, исправлено (проблема на стороне сервера обмена).
# Ответить
126. stvorl (файл скачал) 30.04.2016 15:42
Было бы неплохо, чтобы результат сохранялся после каждой итерации тестирования (после 1, 2, 4 и т.п. потоков).

Иначе неудобно, когда тест выполнялся почти час, упал на 96 или 112 потоков по какой-нибудь ошибке, и не сохранил вообще ничего. И даже непонятно, на каком количестве потоков упал (протокол на экране же не помещается, проскроллировать его нельзя, т.к. модальное окно с ошибкой, а после его закрытия конфа вылетает).

Обмен между "своими" тестами через файлы был бы очень кстати, т.к. не хотелось бы кучу промежуточных результатов с непонятно какими комментами выкидывать на ваш сервер.
Ответили: (127)
# Ответить
127. Fragster 04.05.2016 10:56
(126) stvorl, наконец-то пожелание по развитию функционала! Спасибо!
По первому - все понятно.
По второму - если будет авторизация на сервере обмена + будет возможность выделить свои результаты - это будет решением?
Ответили: (128)
# Ответить
128. stvorl (файл скачал) 04.05.2016 23:53
(127) Fragster,

Вам спасибо.

Что касается обмена результатами, и если уж речь зашла о пожеланиях :-)

Файловый обмен никак не противоречит онлайн обмену. Я вон только на одном сервере 10 раз прогнал тесты, пока игрался с настройками. Результаты когда-то отличались, а когда-то были почти идентичны. Внятными для всех комментариями я себя, разумеется, не утруждал. И вот представьте, что это вам все ссыпалось типа "1с 8.2.19.130 / GenuineIntel Intel64 Family 6 Model 62 Stepping 4 3000 MHz / 32,00 ГБ / Windows x86 (version 6.1 Service Pack 1 (Build 7601))" / "попробовал irqbalance после перезагрузки и сделал ядер меньше". Оно Вам надо? А если надо, то тут же нигде не написано, что оно не босиком на металле, а рядом с PSQL на Linux, все это на виртуалке xen, над lvm, drbd, mdadm, и на ssd, и сколько ядер я запилил - тоже нигде нет :-)

Поэтому я столкнулся с тем, что:
1) попытка закачать метрики с сайта приводят к тому, что я не понимаю реальных техусловий, и не вижу, что у людей за оборудование.
2) публиковать свои драфты я стесняюсь, т.к. не хочу засирать Вам базу.
3) с сравнением своего железа между собой я обламываюсь, потому как файлового обмена нет, и пункт 2.

Я бы с удовольствием обменялся своими тестами файловым пакетом, сравнил бы между собой, сделал выводы и потер. А Вам бы отдал на сайт только репрезентативные с каждого из своих серверов. Отметив предварительно галочкой, что именно я хочу опубликовать, и хорошо описав.

Техусловия.
Для упорядочения онлайн-обмена было бы неплохо побудить пользователя в описании техусловий использовать более формальный рубрикатор (в отдельных колонках: платформа, проц, частота, ядра, HyperThreading, память, частота памяти, тип HDD под базой, наличие и технология виртуализации, ОС сервера баз и т.п.), и требовать заполнения всех полей для публикации теста. Да, множество пользователей хрен положит что-то публиковать. Зато результаты будут репрезентативней.

Отчет о сравнении
Было бы неплохо отчет о сравнении дополнить диаграммой по каждому типу теста, где сериями являются ссылки на тест, точками - количество потоков. Очень удобно сверять визуально. Я сам легко это настраиваю, но каждый раз неудобно, да и пользователям было бы полезно. Могу прислать скрин того, что имею ввиду.
Было бы неплохо иметь возможность с Ctrl выделить несколько тестов и отправить в отчет о сравнении, но это уже так - "хочу быть столбовою дворянкой".

Еще немножко непонятен отчет "профиль выполнения". Там много цифр, я не очень понимаю, как его читать, и что за шкала такая "время" (делится по цветам в диаграммах). Я догадываюсь, что он показывает количество потоков, от которых достигается предел производительности, но было бы очень интересны Ваши пояснения по нему. Или я может где-то пропустил его обсуждение на форуме, не сочтите за труд ткнуть меня туда лицом.

Ну как-то так. Еще раз спасибо, что вы вообще этот инструмент разрабатываете, что на общественных началах.
Ответили: (130)
+ 1 [ Fragster; ]
# Ответить
129. FreeArcher (файл скачал) 05.05.2016 06:20
Вещь интересная спасибо.
Но подробного описания не хватает конечно.
И ещё я не понял, количество потоков это соответствие количеству предполагаемых пользователей?
Как мне например понять, как будет работать сервер с 300 пользователями?
Ответили: (131)
# Ответить
130. Fragster 05.05.2016 10:40
(128) stvorl,
1. про файловый обмен мысль понятна. На самом деле предполагалось, что будет использоваться одна база, выгружаемая и загружаемая через DT. там даже есть константа с ГУИД, который генерируется при первом запуске и который выгружается на сайт (т.е. с помощью него можно сгруппировать тесты на сайте (и внутри базы можно редактировать только тесты с этим ГУИДом, например менять комментарии)).
про галочку "выгружать" тоже понятно. Поскольку я все-таки планирую прикрутить авторизацию и форумы/обсуждения к сайту - возможно это превратится в галочку "публичный доступ", или еще в подобную. Таким образом как бы заставить пользователей, которые хотят подобного "локального" обмена регистрироваться. Немного нехорошая уловка, но что поделать :)

2. Техусловия. Формальное описание техусловий я так и не смог сформулировать. Возможно возьму болванку с http://v8.1c.ru/expert/cts/serv.html но все равно надо подумать.

3. Отчет о сравнении - скриншот, конечно, нужен. Про контрол мысль понятна. Если честно, я думал, что оно так и работает :)

4. Описание отчета в описании к версии 2.0.0.1:
Добавлен отчет "Профиль выполнения" - показывает распределение времени записи одного объекта (в мс), т.е. сколько объектов записалось за 16 мс, сколько за 32 и тд. Для платформы < 8.2.17 информация собирается только на вин-сервере, при релизе платформы >= 8.2.17 и на линуксе тоже.
# Ответить
131. Fragster 05.05.2016 10:49
(129) FreeArcher, количество потоков - это сколько одновременно потоков выполняют одну и ту же операцию. Таким образом можно определить, например, относительное замедление при увеличении количества пользователей или влияние настроек на производительность.
С пользователями все сильно сложнее. Этот тест синтетический, по этому прямого вывода о количестве пользователей сделать нельзя (так как пользователя, все-таки, большую часть времени ничего с базой не делают).
Косвенный вывод можно сделать по количеству одновременных соединений в консоли администрирования 1с. Примерное среднее количество сеансов с назначенными соединениями и есть условное количество одновременных потоков теста. Если речь идет об онлайн кассах в гипермаркете - то соотношение будет примерно 1:1, если же про офисных работников - то от 1:20 до 1:5.
Ну и, конечно, нужно победить блокировки.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл