+7 (347) 266-55-14 г. Уфа, ул. Проспект Октября, 90 10:00 - 19:30 (пн-пт), 12:00 – 17:00 (сб-вс)
Х

Уважаемые клиенты!

Скидка 15% в честь открытия филиала!

Открылся филиал сервисного центра КомпЛайн в микрорайоне Южный по адресу ул. Софьи Перовской д.54.

Рады встретить Вас в нашем новом офисе.

Приходите!

Тест производительности 1С сервера

ГлавнаяСтатьиУстановка и настройка 1С Тест производительности 1С сервера.
Тест производительности 1С сервера.

Обычный нагрузочный тест

Введение

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

Зато есть много методов, чтобы оценить необходимую для нормальной производительности конфигурацию ПО и железа. Все эти методы можно применять тогда, когда вы выбираете, какое именно ПО использовать и какое железо устанавливать, но потребитель должен понимать все нюансы этих методов, их области использования и особенности. Вообще на поризводительность вычислительной мощи платформы 1С очень сильно влияет дисковая система сервера.

Большинство распространенных методов оценки производительности базируются на определенных методах тестирования.

Соответственно, все методы тестирования можно разделить на два вида: это компонентные и интегральные методы.

Во время компонентного тестирования проводятся тесты отдельных компонентов системы, например производительности процессоров, подсистем хранения данных, или тестирование сервера полностью, но без нагрузки от ПО.

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

Тестирование TPC и другие стандартные тесты позволяют выбирать наиболее оптимальные платформы, и сравнивать предложения от разных производителей, но они выступают только в_роли справочной информации, не учитывая специфику бизнеса. Специальные тесты дают возможность более точно выбирать наиболее подходящие сервера и их конфигурации. Но наиболее обоснованные решения получаются только после проведения нагрузочных тестов. Только такие тесты позволят лучше всего сконфигурировать серверную платформу и настраивать ее на максимальный уровень производительности.

Что же такое TPC-1C-GILV

Многие не знают, что же названо этим странным сочетанием буквосочетаний: TPC-1C-GILV. Это ряд независимых тестов, которые нужны для правильной оценки быстродействия программной платформы 1С:Предприятие 8,1 на компьютере или компьютерах.

Под понятием независимого теста понимается такой, который не был спонсирован 1С.

Сейчас доступен такой тест: "TPC-A-local Throughput / TPC-1C-GILV-A

Суть теста "TPC-A-local Throughput / TPC-1C-GILV-A

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

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

Тест осуществляет запись сразу 5000 документов. Особого бизнесового смысла в коде нету, тест просто оценивает условно выбранный уровень производительности документа.

Главное преимущество этого теста в том, что тем, кто его запускает, не нужно знать технических деталей. Тест лично проведет изучение всех этих деталей и сообщит вам уже готовую оценку.

Можно также сравнивать производительность нескольких серверов.

Если тест выполняется с сервера приложений, а также с программного клиента по сети, возможно изучение влияния сети на участок от сервера до клиента.

Как осуществить тест

Запустить этот тест довольно таки просто. Нажмите для этого кнопку  и ждите, пока индикатор не достигнет 100%

Обычно это занимает минут 7-10

Как понимать результаты теста?

Результат теста это демонстрация скорости записи тестовых данных. Погрешности теста – 2 единицы; чтобы оценка было точной, можно повторять этот тест 3 раза

Когда наберется 100%, можно будет увидеть приблизительно такой график:

Ниже этих графиков находятся некоторые аналогичные тесты

Цвет графика сообщает о качестве общей производительности работы, без учета блокировок

Зеленый цвет на графике, совмещенный с некоторыми заранее выбранными показателями, позволяет сделать кроссплатформенную оценку общей производительности

Чему в результатах радоваться?

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

Если объяснять иначе: и настройки СУБД, и ОС, и аппаратура оказывают большое влияние на этот результат

Какой сервер выбрать

Если выполнять тест на определенном сервере, он выдаст результат по совокупности настроек аппаратного обеспечения, ОС, СУБД и других элементов системы. Но высокий результат на определенном серверном железе означает, что в нормальных условиях такой же результат получится на таком же серверном железе; этот тест представляет собой бесплатную помощь для сравнения установки 1С:Предприятие на как на Windows, так и на Linux, на три разных СУБД, которые поддерживаются платформой 1С:Предприятие 8,1.

Уровень безопасности теста

Данный тест является полностью безопасным для системы, железа и ПО. Он не вызовет падения сервера, а также не требует предварительной подготовки. Конфиденциальные данные теста также никуда не записываются. Тест собирает данные о свойствах и параметрах процессора, ОЗУ, винчестера. Серийные номера устройств также не записываются на диск. Во всем этом убедиться очень легко – код этого теста полностью открытый, поэтому пересылка информации куда-либо невозможна.

Как опубликовать результаты тестирования

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

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

Классификация TPC-A-local Throughput / TPC-1C-GILV-A

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

Универсальность его позволяет осуществлять общую оценку производительности, вне зависимости от определенной конфигурации платформы

Но также это означает то, что для точных расчетов проекта этот тест должно делать предварительную оценку перед тем, как проводить специальное нагрузочное тестирование, например используя 1С:ТестЦентр.

Тест А означает автоматическое управление блокировками; для тестирования работы системы в режиме управляемых блокировок нужен тест М

Результаты этого теста

Три лучшие клиентр-серверные установки 1С на MS SQL Server. Кстати, кто угодно может попадать в эту таблицу, если отправит результаты..

Технические детали

Как измерить загруженность аппаратуры?

Надо сказать, что этот тест уже частично выполняет такое измерение. Для более детальных результатом можно использовать утилиту Process Explorer созданную россиянином.

На рисунке демонстрируется пример измерения загруженности аппаратуры для файлового варианта работы 1С:Предприятие.

Если вы ищете бюджетное серверное решение для SQL базы 1С, оптимальным решением будет HP 3135. Компьютер HP Pro 3135 имеет поддержку до 16 Гбайт ОЗУ поколения DDR3 и в пбазовой поставке имеет жесткий диск SATA 3,0 Гбит/с, обьемом 750 Гб.

Что такое SQL Server

Почему 1C “тормозит” или что такое SQL сервер ?


Данная статья поможет понять многим из разработчиков и пользователей, нужен ли им SQL-продукт или нет. И для чего собственно он нужен.

Итак, первое, что необходимо знать, понять и запомнить: SQL-системы не ускоряют выполнения выборок и печать отчетов. Если Вы рассчитываете, что после установки 1C-Торговли на SQL, Скорость работы системы врзрастет в разы, Вы глубоко заблуждаетесь. Быстрее она работать не станет. В связи с этим говорить о том, что “…SQL-Торговля - это тормозная система…” абсолютно не имеют смысла.

 

Несколько лет назад одно компьютерное издание провело сравнительный анализ (в частности и быстродействия) систем управления базами данных ( сокращенно СУБД), построенных на основе обычных файл серверов и с использованием клиент-серверных (SQL) систем. Естественно, условия испытаний по возможности были нивелированы, т.е. применялись одинаковые объемы баз данных, одинаковые их структуры, один и тот же компьютер в качестве сервера, одинаковое количество рабочих станций и т.д.

Если мне не изменяет память, из клиент-серверных систем были испытаны Oracle, Interbase, Informix, Gupta и самый дешевый в то время Watcom SQL Server. Во всех случаях, средняя скорость выполнения запросов в SQL-системах была ниже, чем у файл-серверной системы (сейчас об этом эффекте можно прочесть в любой серьезной книге по SQL ). Испытатели не были удивлены полученным эффектом, поскольку были людьми грамотными и понимали причину такого поведения SQL-систем при заданных условиях эксперимента. Ведь задачей эксперимента было сравнение быстродействия двух видов систем и поэтому были выбраны условия, позволяющие произвести это сравнение.

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

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

 

Быстродействие такой системы напрямую зависит от скорости жесткого диска диска сервера, скорости передачи данных по сети (канал локальной сети 10 или 100 мегабит), тактовой частоты процессора рабочей станции, размера кеша данного процессора, объема оперативной памяти, в общем всех "железных" факторов от которых зависит производительность компьютера. Центральный процессор сервера в таком случае, играет уже роль второстепенную и просто обеспечивает передачу потока данных с диска в сетевой канал и обратно. Суть в том что, практически вся база данных перегоняется по сети на рабочую станцию где она и обрабатывается.

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

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

Скорость работы системы файл-серверной базы, напрямую зависит от обрабатываемой базы данных. Заметное снижение скорости работы начинает проявляться, когда размер базы данных достигает 300 - 500 Мб, а за отметкой 1 Гигабайт работать уже практически невозможно. Цифры взяты приблизительные, и зависят от производительности рабочих станций, используемого программного обеспечения и формата базы данных. К примеру, при использовании формата таблиц базы данных Paradox замедление работы наступает значительно позже, чем при использовании формата DBase. Когда эти тормоза уже мешают нормально работать, пользователи системы идут на различные хитрости: закрывают старую базу и открывают новую каждый квартал, пытаются удалить старые данные (почистить базу) и прочее. Однако любой бухгалтер скажет Вам, что данные нужны ему не за квартал, а минимум за год и предпочтительно в динамике, а не в виде отдельных кусков. Ведь долги клиентов иногда тянутся годами.

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

Через пол-года Ваша база данных вырастет еще на 300-500Мб и система опять начнет задыхаться, пустив по ветру все вложенные в модернизацию денежки. Не следует забывать и еще об одной значительной детали. Это регулярное архивирование базы данных. Знаете ли вы, что за время пока будет архивироваться база данных объемом 1 - 1.5 Гб, пообедать, посмотреть кино и поругаться с начальником. А архивация должна производиться ежедневно. При этом во время архивирования базы, ни один из пользователей работать в программе не сможет. Как тут быть? Можно настроить резервирование по расписанию, средствами WIndows, или установить программу, которая будет делать архив по ночам, когда сервер простаивает, и в базе никто не работает. К примеру есть хорошая бесплатная программа архивации Cobian Backup.

 

Теперь принцип реализации работы с базой данных на SQL. Так называемую клиент-серверная систему. Если кто-то жалуется о том, что у него тормозит SQL, спросите какой у него сервер. Если он ответит, что-то вроде: Pentium 4.. то можете смело сказать ему, что он … мало знает о том как надо готовить SQL сервер...

Серверы для SQL-систем должны иметь высокие показатели производительности, и отказоустойчивотси. Pentium Core2Duo 2х ядерный, частотой от 2,5 Гигагерц, 4Гб ОЗУ, RAID массивом минимум из 2х жестких дисков SATA2 - это пожалуй минимум, на котором может НОРМАЛЬНО функционировать программное обеспечение MS SQL Server на 10-15 подключенных клиентов (пользователей базы данных).

При этом, сеть с пропускной способностью 100Мбит даже не обязательна. Дело в том, что при работе с SQL-сервером рабочая станция не качает базу данных к себе по сети. Она просто передает по сети компактный запрос на сервер, который выполняет заданную выборку, и передает результат запроса обратно на рабочую станцию. Таким образом, трафик по сети значительно ниже чем в случае файл-серверной базой.

Конечно, если при разработке клиентской части программного обеспечения будет допущена ошибка и будет сформирован запрос, результатом выполнения которого является вся база данных или большая ее часть, то вся информация будет качаться на рабочую станцию, создавшая такой запрос. Но это уже по большей части лежит на совести разработчиков прикладных задач, это применительно к программам 1С - и на совести тех, кто занимается настройками (и на совести разработчиков из “1С” - в части запрещения оптимизации таких запросов).



Теперь рассмотрим, что происходит с сервером в SQL-системе. Север сам обрабатывает полученный запрос, и легко представить себе, что если с SQL-системой работают 10 пользователей, то для сервера это практически то же самое, как если бы на нем были одновременно запущены 10 экземпляров программы, с которой работают пользователи (например 10 локальных копий 1С-Торговли). Попробуйте запустить локально на каком-нибудь Pentium 4 десять экземпляров 1C-Торговли и выполнить одновременно 10 отчетов об остатках на складе. Представив это, возможный результат Вы поймете, что всякие разговоры о тормозах SQL-системы без обсуждения параметров сервера не имеют никакого смысла.

SQL-системы очень требовательны к ресурсам процессора, и сервера в целом, то есть нужен очень мощный и многоядерный процессор, достаточно высокий обьем оперативной памяти (по сравнению с другими серверами, или рабочими станциями, где можно отделаться 1-2 гигбайтами). В идеале для таких систем следует использовать компьютеры с RISC процессорами в многопроцессорном варианте (например как в продукции SUN Microsystems). SQL - системы имеют существенное преимущество: даже при использовании сервера стоимостью 4 - 5 тыс. $ будут работать вполне приемлемо, с позволяя добиться хорошей скорости при работе с базами данных такого объема, который обычная файл-серверная система просто перестанут работать.

Причем, на SQL варианте, объем БД может достигать в несколько десятков ГИГАБАЙТ. А скорость доступа к данным останется на прежнем уровне, ведь - они расположены, на диске сервера и не требуют передачи по сети для последующей обработки. Все запросы поступают к серверу, так что кроме обычного файлового кэширования есть огромные возможности по оптимизации выполнения запросов, их распараллеливанию. Все эти эти возможности изначально заложены в программном обеспечении пакета MS SQL Server, фирмой 1С разработан сервер предприятия, который работает в связке с СУБД MS SQL.

Также возможно применение различных ухищрений, например в виде серверов-репликаторов (для разделения групп пользователей на тех, кто пользуется только отчетами, т.е работает в режиме “только чтение”, и тех, кто активно изменяет документы) или разделение баз данных по разным дисковым массивам. При перегрузке дисковой системы она легко модернизируется, например с помощью RAID-массива (не забывайте однако, что SQL-система - это вообще иная ценовая категория как в отношении программного обеспечения, так и по стоимости серверного железа)

Преимущества SQL базы данных для 1С.

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

До сих пор мы говорили о принципиальных различиях файл-серверных систем от клиент-серверных. Теперь немного о дополнительных преимуществах клиент-сервера.

Надежность SQL варианта баз данных.

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

В клиент-серверной системе этот механизм (который реализуется программным обеспечением SQL-сервера - в нашем случае MS SQL Server 2005) значительно более сложен. Он позволяет получить “слепок” базы данных на момент начала транзакции без блокировки базы данных. И слепков таких может достаточно большое количество: для каждой рабочей станции - он будет свой. И в случае “зависания” рабочей станции, открывшей транзакцию, она (транзакция) может быть просто откачена (т.е. база данных будет восстановлена в том виде, в каком она была до начала инициации транзакции). Откат осуществляется либо по запросу рабочей станции (при сохранении ее работоспособности), либо при перезагрузке рабочей станции, либо администратором SQL сервера.

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

Защита
.

В общем-то защищенность данных в значительной мере зависит от прикладной задачи, 1С Торговли или 1С Бухгалтерии, однако по сравнению с обычным вариантом, в котором любой начинающий хакер спокойно может срубить пароль, в клиент-серверном варианте защита данных опирается на средства, предоставляемые администрированием SQL сервера, что гораздо более надежно.

Гибкость применения.

Системы на основе SQL-сервера позволяют выстраивать сложные сетевые конфигурации со многими десятками и даже сотнями пользователей. При этом разработчику предоставляются широкие возможности по оптимизации системы, ее разделению по группам сложности и способам доступа. Серверы-репликаторы, например, дают прекрасный механизм для организации системы учета в крупной организации с разветвленной системой удаленных офисов, складов и т.п. При этом, работа на такой системе может вестись в реальном режиме времени, без перерывов для переноса и синхронизации данных - достаточно лишь организовать постоянные каналы связи 32-128 Кбит, что вполне осуществимо на наших телефонных линиях и не слишком дорого (конечно, в масштабе крупной компании).

Теперь о недостатках. А их у SQL-систем много, крупных и мелких - тех же самых, которые присущи и файл-серверным системам. Однако есть два и весьма существенных.

Главный недостаток наглядно виден из прайса фирмы “1С” - это цена. Цена не только программного обеспечения, но и цена железа на котором оно может достойно функционировать и цена обслуживания. Ну, что же делать - SQL это продукт высоких технологий, но отличное решение для бизнеса, когда торговля, или производство напрямую зависят от всех расчетов бухгалтерии и финансовых операций. А продукт высоких технологий всегда на порядок выше, и эксплуатироваться должен грамотным, обученным персоналом, поэтому даже системный администратор, способный грамотно работать с SQL-системой обойдется дороже, чем аналогичный специалист для обычной файл-серверной системы.

Подведем некоторые итоги.

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

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



Ваши вопросы и комментарии

Владимир 31 Окт 2017 в 10:14 # Ответить

Туфта полная этот тест. Запускал на серверах и на декстопе - самый высокий результат на простом компьютере! Похоже все зависит только от скорости памяти.

admin 01 Ноя 2017 в 14:44 # Ответить

Не только, от процессора, шина и жесткого диска еще!

ОтменитьОставьте ваш вопрос