Доброго времени суток!Помогите советом!
Подняли сервер на данной связке и столкнулись с дикими тормозами в 1С ЗУП 2.5, конфигурация типовая, релиз последний 118. В документ "Начисления зарплаты работникам организации" подбор по всем сотрудникам(430 чел) длится 10 минут, расчет 20-30 минут, проведение 10 минут (это лучший результат). Postgres настраивали согласно рекомендациям на сайте 1С. В файловом варианте все эти операции (суммарно) делаются за 5-7 минут. При подборе, расчете, проведении нагрузка на сервер 10% ЦП 5% ОЗУ. Ubuntu х86 по причине того, что ключ 1С тоже х86.
(1) Эта проблема была в версиях платформы начиная с 8.3.5, то есть, давно. В версии 8.3.8.1444 проблему устранили, возникала она именно при работе с PostgreSQL. Можно ставить последнюю из 8.3.10, работать будет нормально.
Мало показывает. У меня на виртуальной машине на ноуте (i7), на которой Linux + 1С-сервер + Postgres + Apache и т.д. тест Гилева 20 показывает. Переведите процессоры в режим высокой производительности, сконфигурируйте постгрес, посмотрите, на чем конкретно проседает производительность. В принципе 430 сотрудников для ЗУП - это немного. Что там 10 минут делать - не ясно. Видимо просто отсутствуют индексы или недостаточно памяти для кеширования ресурсов. Если можете, скиньте свой конфиг от постгреса - поглядим, что там...
ЗЫ: Файловый вариант в зависимости от настройки сервера в 2-4 раза быстрее работает, так что не удивлен. При очень хорошо сконфигурированном сервере файловый вариант будет в 2 раза быстрее (по тесту Гилева по крайней мере), чем серверный. При плохо - в 4 раза, а то и в 5.
1. shared_buffers = 1024MB - маловато, добавьте до 4G.
2. effective_cache_size - сделайте 8G.
3. maintenance_work_mem - измените на 1GB.
4. checkpoint_segments - поставьте 64.
5. checkpoint_completion_target - установите в 0.9
6. wal_buffers - сделайте 16MB
7. default_statistics_target - установите в 150 (или даже 1000 - 10000).
Также есть смысл в этом:
enable_nestloop=off - с осторожностью!
seq_page_cost = 0.1
random_page_cost = 0.4
cpu_operator_cost = 0.00025
Если не поможет, то проверьте, что будет, если установить "fsync = off". Если внезапно окажется, что при выключении синка производительность взлетает в небеса, то подумайте об SSD-диске для базы - они сейчас стоят недорого, но с ними нужен постоянный бэкап (для ЗУП это невеликие объемы и время). Ну и бэкапы нужно тестить на восстанавливаемость в обязательном порядке (простой вариант: загрузка последнего бэкапа в тестовую базу, подключение к базе, отсутствие ошибок подключения).
По поводу переключения процессора в режим высокой производительности, то нужно:
1. В BIOS найти и срубит C-STATE), включить TURBO-BOOST.
2. Внимательно прочитать это.
3. После прочтения этого перевести ядра в режим performance.
4. Запустить тест Гилева и посмотреть на результат.
Ибо PAE включен, как я понял. При таком раскладе больше 2 гигов памяти постгри не будет (не сможет) использовать. Того, кто на эту машину поставил 32-битный постгри и 32-х битную ОС нужно сжечь на костре!
(13)
Да, PAE включен. Систему 32-бита ставили по причине того, что серверный ключ 1с у нас 32-бита. А можно поставить 64-битный Postgres на 32-битную систему?
Я думаю вам нужно перейти на последние версии платформы и PostgreSQL и оптимизировать СУБД под ваш сервер. Посмотрите мою документацию по настройке, а именно про установку PostgreSQL последних версий (не от 1С но для 1С), в конце ссылка на книжку по настройке сервер. Надеюсь, что поможет...
Что-то в Вашей документации много лишнего, ибо:
1. Постгрес-про, установленный с репы постгреспро, уже автоматически стартует (у меня так, может у Вас какая-то косячина).
2. Всякие виниспы и прочая ерунда для ssh совершенно не нужна, ибо можно просто в виртуалбоксе расшарить общую папку и установить гуест аддишн в убунте, после чего под рутом перманентно расшаренный диск будет автоматически примонтирован в медиа.
3. Ну и вообще куча ненужной движухи в инструкции, при этом ни слова о конфигурировании.
Вывод: инструкция для детей, которые решили потестить постгрес один раз и пойти обратно на эмэс скуль.
Вот тут есть инструкция о том, как собрать постгри из исходников. Вдруг кто захочет поэкспериментировать.
(11) Да, много лишнего, писалась не для Infostarta, а про доп ПО написано для дальнейшей работы с полноценным сервером. Писать инструкцию по настройке - это забавно.. По настройке чего? PostgreSQL на виртуалке? Вы же понимаете, что это делается индивидуально? А в книге по ссылке написано, как автоматом подобрать настройки под сервер.
А в гугле по "pgtune" даже нарисовано. В принципе даже не важно, для чего писалась статья, но основной ее смысл можно передать тремя командами консоли: добавление репы, обновление пакетов и установка постгреса. Т.е. три команды баша у Вас вытянули на целую статью - поздравляю!
UPD от sales@1c.ru
техническая возможность работать без ключа не ознячает юридического разрешения это делать. Закон о правовой защите информации для ЭВМ запрещает использовать любые программные продуктыв, правообладатель которых не декларирует их бесплатность (а мы нигде не объявляли этот сервер бесплатным).
С уважением, менеджер отдела продаж Виктор Быков
Убедительная просьба сохранять историю переписки при дальнейших обращениях.
(25) Возможны ли какие-то различия сборок PG кроме кофигурационных файлов? Т.е. на уровне ядра, прочих внутренностей у всех все будет одинаково? Разница только в настройках, доступных к администрированию?