PostgreSQL + 1C 8.1 (против MS SQL Server) #264605


#0 by antonic
Тестировал данную связку как под Linux так и под Win на небольшой базе ~1Гб. Как только не изголялся над postgresql.conf, но удовлетворительной скорости (сравнимой с MS SQL Server) добиться так и не удалось. Отчеты и перепроведение на Postgres ощутимо дольше, причем по ощущениям SQL Server выигрывает в скорости за счет кэширования. Какбудто этого кэширования в Postgres не происходит... Вопрос!!! Может кто дошел до нормального тестирования Postgres и добился каких либо успехов, или может вообще не испытывает проблем со скоростью.... нужно как можно больше информации по этому вопросу, Yandex и forum.mista бедны на такую инфу, все только слова и никаких фактов. Давайте общими усилиями избавимся от прожорливового Мелко$офта. Странно если при разработке 1С-овцев устроила скорость работы 1C c Postgres.
#0 by antonic
Тестировал данную связку как под Linux так и под Win на небольшой базе ~1Гб. Как только не изголялся над postgresql.conf, но удовлетворительной скорости (сравнимой с MS SQL Server) добиться так и не удалось. Отчеты и перепроведение на Postgres ощутимо дольше, причем по ощущениям SQL Server выигрывает в скорости за счет кэширования. Какбудто этого кэширования в Postgres не происходит... Вопрос!!! Может кто дошел до нормального тестирования Postgres и добился каких либо успехов, или может вообще не испытывает проблем со скоростью.... нужно как можно больше информации по этому вопросу, Yandex и forum.mista бедны на такую инфу, все только слова и никаких фактов. Давайте общими усилиями избавимся от прожорливового Мелко$офта. Странно если при разработке 1С-овцев устроила скорость работы 1C c Postgres.
#1 by rsv
"Давайте общими усилиями избавимся от прожорливового Мелко$офта " Но ты же сам говоришь , что "Отчеты и перепроведение на Postgres ощутимо дольше, причем по ощущениям SQL Server выигрывает в скорости за счет кэширования. Какбудто этого кэширования в Postgres не происходит... " На то  конструктор и даден   чтоб кот не дремал :)
#2 by antonic
да я о том, что скорее всего надо как-то настроить Postgres, т.к. в принципе по прочтенной информации Postgres не так уж сильно проигрывает в скорости SQL Serv,  потеря 10% (ну пусть 20% скорости) для некоторых (в том числе для меня) не принципиально.
#3 by antonic
так же есть потеря в скорости при работе восьмерки под Wine@Etersoft, но не сильно ощутимая (~5% при формировании оборотки) тестил семерку на солидной базе под SQL Serv, так под Wine@Etersoft скорость раза в два оказалась похуже, видимо виноват только Wine.
#4 by igork1966
Все несколько хуже и лучше... Под PostrgeSQL нужно конфу переписывать несколько...
#5 by antonic
ну а я то испытывал с одним работающим пользователем, какое влияние тут может оказать "Автоматический режим управления блокировками на уровне таблиц"?
#6 by Vozhd
А зачем одному пользователю sql сервер?
#7 by antonic
одному конечно не нужен, я про период тестирования..... о том что  "Автоматический режим управления блокировками на уровне таблиц" используемый в Postgres при одном пользователе не имеет значения.
#8 by Advan
Чем больше информации тем хуже предчуствие... похоже самые худшие ожидания оправдались - PostgreSQL для ниши от 5 - до 20 компов - все что больше он не пойдет. Те будет: 1) до 5 компов - файловый вариант 2)ОТ 5 до 20 - PostgreSQL 2) все что выше MSSQL
#9 by antonic
дело не в количестве компов а в размере базы.... Так ктонибудь может что-то внятное сказать про настройку и скрость работы Postgres??? не может же быть такого чтобы никто не пробовал, я обращаюсь к тем кто ковырял 1С+Postgres!!!
#10 by masky
>Отчеты и перепроведение на Postgres ощутимо дольше, причем по ощущениям SQL Server выигрывает в скорости за счет кэширования вот блин фетиш новый - Кэширование.
#11 by Advan
Судя по информации PostgreSQL блокирует всю таблицу
#12 by igork1966
Если не переделаешь, то да...
#13 by Advan
Это какой объем работы требуеться чтоб переделать нашу конфу?!
#14 by jcage
вот здесь можно поподробнее?..
#15 by antonic
да не в блокировках дело! исследовать нужно поэтапно.... сначало разобраться почему с одним пользователем работает медленно (болкировки тут не при чем)
#16 by jcage
to antonic: если разобрался со связкой wine и 1С - помоги пжл в ветке
#17 by antonic
может сегодня кто знающий заглянет...
#18 by smaharbA
Кули иследовать, че думаете если я за просто так конфу напишу то она будет рабочая ? Так и с "свободным" софтом... ... Либо ждите когда какиенибудь дяденьки (может и я) просчупают как и чего и как с меньшими усилиями это чего... Только вот чаще всего этим дяденькам некагда всякой ерундой заниматься, особенно если бабла не видно...
#19 by root
курил?
#20 by antonic
и курил и перекуривал, как только не крутил.... хотелось бы узнать что знающие люди по этому поводу скажут.... пока про переписывание конфиги никто не говорил, пока вопрос стоит в настройке Postgres, или кто-то знает, что повысить скорость можно только переписав конфигу  имеено под Postgres? И НИКАК ИНАЧЕ...
#21 by Профессор Выбегалло
на DB2-Express скорость работы чуть быстрее, чем MSSQL 2000 на аналогичном железе
#22 by antonic
если не сложно, можно чуть подробнее, что нужно для работы 1С под DB2-Express ("компонента поддержки работы с DB2 выпущена в статусе бета-версии") где взять эту компоненту?
#23 by Advan
Вот тут подробнее - как проверялось?
#24 by Ferz
у меня есть +++ подскажите тогда по этому поводу
#25 by Ferz
+
#26 by antonic
up
#27 by France
В который раз, все обманулись..
#28 by ERWINS
быстрее DB2-Express... в принципе не на много :(
#29 by ERWINS
для 1 пользователя юзал...
#30 by SnarkHunter
Для 1 пользователя - это показатель, конечно, для SQL-сервера...
#31 by antonic
почему-то при любых настройках postgresql.conf postmaster памяти жрет максимум разделяемой 28,7М и резидентной 34,6М.... кто-то знает как заставить Postgres использовать больше оперативки? shared_buffers стоит 16384 (т.е. 128М) большее значение тоже ни к чему не приводит...
#32 by antonic
на 1С 8.1.6 чуть-чуть-чуть быстрее
#33 by sapphire
А чему удивляться-то? В УЦ №1 надыбал брошурку по 8.1 дык там открыто сказано, что в Postgres блокировка на уровне таблиц, а на Microsoft SQL Server - на уровне записи.
#34 by sapphire
Попробуй поиграться с патчами
#35 by antonic
объясните мне какая разница между блокировкой таблицы и записи при одном пользователе !!! именно при одном !!!
#36 by vogenut
При одном пользователе запрос с блокировкой таблиц должен работать быстрее чем запрос с блокировкой по записям, т.к. меньше времени тратиться на саму блокировку.
#37 by Advan
А в DB2 1с тоже блокирует всю таблицу? или одну запись? И какие ограничения у бесплатной версии?
#38 by Advan
да похоже все пока пользуються SQL...
#39 by masky
а нафига дб/2? тут блин с сиквелом разобраться может не каждый десятый..
#40 by Advan
Сколько стоит SQL  и сервер 2003 на на 30 пользователей? - вот и ответ на вопрос.
#41 by masky
а скока DB/2 ?
#42 by Ferz
строк ограничения 2 проца и 4 ГБ ну и прочие вкусности которые для одЫн с пока облачны
#43 by Ferz
бесплатно, хотя у IBM весь совт в десьтки раз дороже Microsoft DB2 это вешь....
#44 by masky
два двухядерных проца ;)
#45 by Advan
4 гига чего - оперативы или размер базы? и считаеться ли виртуальный проц за отдельный? у нас 2 проца - но каждый разбит на 2 логических.
#46 by masky
оперативы.. на размер базы ограничений нет. на процы ограничения такие: 2 камня макисимум по 2 ядра. гипертрейдинговые идут за один одноядерный проц.
#47 by Advan
Те на наш сервер пойдет?
#48 by masky
смотря кому и для чего
#49 by Advan
ТОгда как я понял просто отлично - на нашем сервере песплатный DB взлетит - осталось понять - будет ли он работать хотябы приблизительно также как MSSQL - что там с блокировкам?
#50 by masky
неповеришь. со всеми базами 1С работает О-Д-И-Н-А-К-О-В-О
#51 by Ferz
читайте
#52 by Ferz
Нетипизированный NULL. Тип колонки, являющейся результатом запроса ВЫБРАТЬ NULL, является самым общим составным типом, а не простым типом, совместимым с любым другим. Поэтому такая колонка не может использоваться в операциях, в которых не могут использоваться поля составных типов. Например, ВЫБРАТЬ ЕСТЬNULL(f1 + 1, 1) FROM (ВЫБРАТЬ NULL f1) t1 при работе с DB2 приведет к ошибке, поскольку операндом операции <+> не может быть поле составного типа; * Чувствительность к регистру букв при сравнении строк. В неявных сравнениях строк, выполняемых в процессе отработки РАЗЛИЧНЫЕ (DISTINCT), СГРУППИРОВАТЬ ПО (GROUP BY), ОБЪЕДИНИТЬ (UNION) языка запросов, большие и маленькие буквы различаются; * Максимальная длина числовых данных - 31 знак (а не 38); * Максимальная длина ресурсов регистров накопления и бухгалтерии - 25 знаков (а не 32); * Максимальное количество колонок в списке выборки оператора не может превышать 1012. При определении количества колонок нужно учитывать, что для полей составного типа 1С:Предприятие создает несколько колонок в таблице СУБД; * Отличные от других СУБД правила определения точности результата при выполнении арифметических операций; * Правым операндом операции сравнения ПОДОБНО (LIKE) может быть только литерал (параметр) или выражение над литералами. Шаблонными символами являются только '_' - любой символ и '%' - последовательность любых символов.
#53 by Advan
Ну судя по тому что в PostgreSQL блокируеться вся таблица - значит по разному
#54 by Advan
Много там :( Это уже прочитал - не критично
#55 by masky
кто сказал что в сиквеле не так?
#56 by Advan
В MSSQL 8-ка блокирует запись - а не таблицу.
#57 by masky
кто сказал?
#58 by masky
дайте ссылку на сайт производителя плз.
#59 by Advan
Давно про это сказано - ссылки дать не могу - надо искать
#60 by Advan
Также следует сказать о том, что в клиент-серверном варианте транзакционные блокировки устанавливаются на уровне отдельных записей таблиц базы данных, и конкурентный доступ возникает только при обращении к логически связанным данным и не затрагивает данные, не связанные между собой с точки зрения бизнес-логики.
#61 by masky
ага.. спасибо
#62 by Advan
Вот теперь известно - что не относиться к PostgreSQL  - относиться ли это к DB2? А так IBM - халтуру не гонит - это Фирма с большой буквы - и ее разработки в сфере баз данных превосходят разработки мелкософта ИМХО.
#63 by ERWINS
DB2 вообще настроек меньше чем в Мс... например DB2 игнорирует создание пользователем индексов и создает их по мере необходимости....
#64 by Advan
может это и правильно?
#65 by ERWINS
по мне правильно.... индексы с запасом - тормоза...
#66 by zaki
Тестовая версия 8.1.7.30 + PostgreSQL 8.2.3 = примерно +20% точнее результаты теста буду попозже когда подготовлю сервер нормальный ....
#67 by antonic
в пятницу отправил вопрос по поводу Postgres в службу поддержки 1С, интересно что и когда ответят....
#68 by igork1966
(57,58) Нужно было с начала читать....
#69 by zaki
Смотря кому ты отправил, если на testplatform@1c.ru то они обычно тот же день отвечают ....
#70 by France
+1000 решение о том, блокировать запись или таблицу принимает MS SQL сервер, и 1С 8.0 никакого отношения не имеет к этом процессу.. и не может этим процессом управлять... управление процессом блокировки (таблица или запись) реализована на 8.1 - но опять таки - блокировке будет подвергатся объекты и элементы 1С - но никак MS SQL.. так что, всем, кто говорит, что 8.0 блокирует записи можно плюнуть в глаз)))
#71 by Neco
И всетаки в 8.1 можно спрогнозировать какие записи, каких таблиц будут блокироваться. Поскольку табличка блокировок формируется не из объектов, а из ссылок на объекты, а это уже конкретные поля в таблицах SQL.
#72 by France
можете назавть инструменты SQL сервера, которые однозначно блокируют выбранную запись?.. Если да, то можно согласится с утверждением... иначе нужно говорить про "возможно блокируется запись MS SQL"... кстати, 1С 8.1 однозначно блокирует или запись или объект - вне зависимости от того, какое СУБД используется..
#73 by sapphire
"что 8.0 блокирует записи можно плюнуть в глаз" Дык мало ли кто и что говорит, а блокируются таблицы. Оно и очевидно ИМХО в ЖКК постоянно об этом долбят :)
#74 by sapphire
Ну, 2к5 умеет блокировать на уровне записи
#75 by France
можно явно указать, что блокируется выбранная запись?.. и в SQL 2000 есть блокировка на уровне записей.. только, решение о том, что блокирова принимает диспетчер блокировок MS SQL и не управляется со стороны 1С (8.0 и 8.1)... PS говорим про блокировки в транзакциях при уровня изоляции Serializible
#76 by Drock
типовая Бух в DB2 глючит
#77 by sapphire
Кстати, действительно интересно. По документации, можно явно указать блокировку на уровне записи, но при этом сериализация не будет гарантирована.
#78 by Neco
А как интересно проверить какие SQL установил блокировки? Через Sql Profiler?
#79 by France
кто ставил DB2?... нужно ли устанавливать и клиентскую часть??
#80 by Drock
нет, в 8.1.6.38 уже все идет
#81 by antonic
testplatform@1c.ru второй день молчат
#82 by Kraft
А где быстрее связка работает на Linux или на Виндях?
#83 by Ferz
тоесть для <=8.1.5 нужно было еще и клиента ставить на сервак 1С?
#84 by antonic
ответ от testplatform@1c.ru Проводимые нами при выпуске релиза регламентные тесты показали, что в среднем PostgreSQL проигрывает SQL Server порядка 10-20%, в зависимости от выполняемой операции.
#85 by antonic
связка быстрее раотает на Linux
#86 by тупой дятел
насколько быстрее? Какой дистрибутив используется?
#87 by Stilet
Изначально Постгресс разрабатывался только под Линукс вплоть до версии 8.0. По Виндами он запускался при помощи cygwin. Начиная с 8 ки выпускаются родные бинарники под Вин. Но все равно  Постгресс оптимизирован под Линукс. Кстати вопросы по оптимизации Постгресс по моему надо задавать на форумах связанных с базами данных. например sql.ru. там много постгрессников тусуются..
#88 by antonic
ответ от testplatform@1c.ru Мы собираем свой дистрибутив и тестируем платформу, используя именно стандартный postgresql.conf. Т.е., те параметры в настройке, которые мы предлагаем по умолчанию с учетом той дополнительной информации, что есть на ИТС, являются необходимыми и достаточными для нормальной работы 1С:Предприятия с PostgreSQL.
#89 by Kraft
Это типа: "Хотите быстро ездить, покупайте у Билли MSSQL и WIN"?
#90 by zaki
Так, имеем: 2хПроцессорные сервера (проц. 2-х ядерные) + 4GB памяти +RAID 0 из HDD SATA2 4x250GB (16Mb буфер). 1. Windows 2003 EE (x64) + MsSQL2005 (x64) 2. Linux (x64) + PosgreeSQL 8.2.3 собран самостоятельно на x64 1с версии 8.1.7.30 Предварительные тесты показали что скорость между MSSQL и PosgreeSQL 8.2.3 "Ничем не отличаются друг от друга !!!!"
#91 by Defender aka LINN
На пустой базе?
#92 by zaki
Даже если бы они и отличались как грит 1с на 10-20% то тут такой расклад, берем всю себестоимость того что если я затрачу на покупку MS продуктов (тоесть MSSQL + лицензии на каждого пользователя + windows 2003 ) я могу спокойно на эту сумму такой сервак наворотить что Linux + PosgreeSQL будет летать просто ....
#93 by zaki
Размер базы 5 гиг...
#94 by Ferz
парибавь еще к этому ....."некаких гаратий"......
#95 by SuMi
Позвольте присоединится)))))
#96 by zaki
Что значить никаких гарантий? MC дает гарантии что у тебя база будет работать и не упадет????
#97 by avitcon
PostgreSQL 8.1.5-11.1C При создании новой информационной базы выдает ошибку: ERROR: type "mvarchar" does not exist Кто-нибудь знает, как с этим бороться?
#98 by antonic
как только не ковырял postgresql.conf, не получается у меня заставить Postgres кушать больше памяти...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С