1С: Мифы и реальность. Часть третья. Производительность.

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

1С: Мифы и реальность.

Часть третья. Производительность.

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

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

Понятного бухгалтерам аргумента кроме "1С не обеспечит работу более N пользователей в сети одновременно" придумать невозможно, попробуем разобраться именно с ним.

Рассмотрим величину значения N в этом аргументе.

Понятно, что увидеть 20 пользователей, комфортно работающих с 1С в одной базе не представляет труда в любом достаточно крупном городе. Поэтому число должно быть заведомо больше. Другой рубеж - данные справочника "Внедренные решения на основе системы программ 1С:Предприятие", издаваемый фирмой "1С". Этот справочник публикуется в закрытой части сайта www.1c.ru доступен партнерам фирмы, и на каждом семинаре раздается им в печатном виде. Там максимальная цифра доходит до 100. Но, во-первых, увидеть это можно в другом городе и поэтому подвергнуть сомнению, а во-вторых, телефоны, по которым можно узнать подробности, доступны лишь через фирму "1С" и ее партнеров.

Как же обстоят дела с быстродействием 1С на самом деле? Что является правдой, а что досужими домыслами некомпетентных специалистов и корыстолюбцев?

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

На самом деле у квалифицированного специалиста сложная система ВСЕГДА работает быстрее и лучше, чем у неквалифицированного "ламера".

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

Наиболее эффектно выглядит следующий прием:

1. Запускается 1С под SQL и какой-нибудь отчет подлиннее
2. На сервере замеряется загрузка процессора
3. Подобный (или даже тот же) отчет запускается на другом приложении
4. Сравнивается загрузка сервера и время выполнения отчетов

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

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

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

Для реализации действительно клиент-серверной технологии, специалист по внедрению 1С должен ей владеть. Если фирма 1С разработала необходимые SQL- процедуры для реализации стандартных отчетов, то автоматическая трансляция кодов, предназначенных для DBF, в такие процедуры пока отсутствует. Это означает, во-первых - использование SQL технологий становится доступной для специалистов, ими не владеющими, во-вторых - полноценное использование таких технологий не возможно без овладения ими. Т.е. иными словами - хочешь эффективно использовать технологии - овладевай ими. Без этого ты можешь использовать их, но неэффективно. И, наконец, вывод из сказанного - 1С позволяет очень быстро разработать штатными средствами код специализированного отчета. Если быстродействие недостаточно, код может быть переписан с использованием клиент-серверной технологии (ADO). Но это потребует дополнительных затрат труда программиста. В зависимости от его квалификации - затраты труды возрастут в 5-10 раз. Поэтому у конечного потребителя есть выбор - оставить отчет, написанный штатными средствами 1С или оптимизировать его. Оптимизация, конечно, не имеет никакого смысла, если отчет предназначен для однократного использования.

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

В заключение, для поддержки оппонентов, приведу мнение профессионала, опубликованное им под псевдонимом pit в одном из форумов сети Internet. Лично с автором, к сожалению, не знаком.

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

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

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

Это не попытка сравнивания 1С c другими системами. Да, в принципе любые из них могут тянуть некое абстрактное предприятие. Допустим, там, где у 1С наступает ступор, другие еще чувствуют себя спокойно. Но за это надо платить. И за железо, и за программу. А можно ли с уверенностью сказать, что в вашем конкретном случае 1С окажется на пределе ранее чем, например, через 3 года - срока, когда все равно настанет пора обновлять устаревшую компьютерную технику?

А отодвинуть время ступора для 1С можно, причем разными способами - техникой и идеологией. Про технику понятно. Идеология - это вопрос очень и ОЧЕНЬ спорный. Насчет возможности реализации на 1С или на ....(чем больше нравится) любого алгоритма - полностью согласен. Но... при наполнении данными могут возникать проблемы с их перевариванием. Второй (или какой?) закон программирования гласит - "Все, что нельзя, но очень хочется - можно". Следствие - Подумай, сколько это будет стоить.

В качестве примера предлагаю рассмотреть TSE. Чтобы повысить производительность 1С, применяют терминал-серверное решение и говорят, что "все летает". Ой ли? Просто забор поставили на несколько гигабайт дальше. А что есть TSE? Это практические потуги на построение европейской модели базы данных на американской тех платформе. Т.е. возврат к старому. Зато звучит красиво - все, решили, самолет!!! А через год-полтора уперлись в то же самое. Но ведь это касается и любой другой программы:

Хочется верить, что в статье удалось обЪективно рассказать потенциальному потребителю о взглядах профессионалов на вопросы производительности 1С и присоединиться к мнению автора из Internet - ПОДУМАЙ, СКОЛЬКО ЭТО БУДЕТ СТОИТЬ!

Анатолий Туровский aka Тот
Конец марта 2001 года

Комментарии

1
  • Хранитель_врат
    Есть и другой путь - создать внешнюю компоненту со стандартными методами основных обЪектов 1С, а движок (точнее то что от него осталось - макроязык) оставить на 1С. Надеюсь что эта идея получит свое развитие и поддержку - см.: http://vtools.narod.ru. Пока только реализованы методы регистра остатков...