Имя: Пароль:
IT
 
Производительность PostgreSQL от 1c по тесту Гилева
0 FAMx
 
08.04.15
00:32
Я новенький всем здравия..
У меня такая проблема сервер 2а Xeonа E5-2609 v2 2.50GHz 16Gb 1333MHz жд SATA 7200 8шт, 4шт RAID10 под базу, один под журналы, ОS крутится на 2х отдельных жд, OS Centos 6. Производительность PostgreSQL на TPC тесте 4.5.
При этом нагрузка на желез: диски около 30% память о.6гб цп до 10%
Пробовал ставить 6 дисков в страйп нагрузка на диски упала до 10% но результаты те же. ЦП в режиме макс. производительности.
Вопрос как поднять производительность?
Пробовал править конфиг PG особо не влияет +- 2а бала, включал кэширование разделов тоже мимо..
1 ansh15
 
08.04.15
01:38
Странно, что не E5-2603V2, он еще дешевле...
Для весьма небыстрого(для 1С) процессора, находящегося, скорее всего, в режиме энергосбережения, это неплохой результат. PostgreSQL, наверное, тоже вносит посильную лепту в дело уменьшения производительности(fsync=on, full_page_writes=on), правда, сводя при этом риск потери данных к минимуму.
У автора теста есть некоторый сравнительный анализ на эту тему
http://infostart.ru/public/201858/
На мисте за пару лет тоже немало тем было.
2 rphosts
 
08.04.15
02:52
(0) ветка для телепатов, которые в курсе что ты там в конфигах правил?
3 Худой
 
08.04.15
03:13
(0) Скажу тебе по секрету - на гилева надейся, но сам не плошай.
4 FAMx
 
08.04.15
10:35
по конфигу PostgreSQL пользовался pgtune и так правил по найденным темам.
было по pgtune

max_connections = 10
shared_buffers = 3840MB
effective_cache_size = 11520MB
work_mem = 384MB
maintenance_work_mem = 960MB
checkpoint_segments = 64
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100



shared_buffers = 2048MB
temp_buffers = 8MB
work_mem = 8MB
maintenance_work_mem = 1024MB
fsync = off
synchronous_commit = off
full_page_writes = off
wal_buffers = -1
checkpoint_segments = 40
enable_nestloop = off
effective_cache_size = 4096MB
max_locks_per_transaction = 150
escape_string_warning = off
standard_conforming_strings = off
backslash_quote = on


Максимально нужно держать от 20 до 50 человек на данный момент для работы 20.
5 FAMx
 
08.04.15
22:57
(1) Благодарю сравнительные таблицы пояснили куда копать.
Дисковая подсистема: 1SSD под базу данных, 1 HDD под систему. (Все максимально упростили – все раиды поубирали. SSD работает достаточно быстро.)  
Производительность PostgreSQL на TPC тесте Гилева  равна 14.
При этом нагрузка на железо: диски около 30% память 600Mb  ЦП до 10%
Сервер 1С вынесли на отдельную машину.
Процессор i5 2.8 GHz
Память: 16Gb 1333MHz
Дисковая подсистема: 2HDD Stripe
6 FAMx
 
08.04.15
22:57
Вопрос как поднять производительность? Например до 20 по тесту Гилева. Некоторые отчеты, например прайс-лист, работают недопустимо медленно. Причем если это же повторить на процессоре i5, то несмотря на не серверное железо результаты будут примерно такие же. Кажется что данная связка сервер 1С- PostgreSQL не понимает современные серверные процессоры.
7 dervishsy
 
09.04.15
08:32
(0) Для начала можно попробовать протестировать на своем железе например это
http://rutracker.org/forum/viewtopic.php?t=4738008
Если результаты будут лучше - смотреть конфиги, если такие же.
ну тогда и правда железо не подходит для такой связки
8 Провинциальный 1сник
 
09.04.15
08:39
(6) "enable_nestloop=off" значительно (на порядки) ускоряет работу некоторых тормозящих запросов, однако слегка замедляет выполнение других.
9 Провинциальный 1сник
 
09.04.15
08:42
10 MrStomak
 
09.04.15
08:59
(6) А почему 1с должна на процессоре 2.5Ghz работать быстрее, чем на 2.8? Типа оба-на, процессор такой же архитектуры, более медленный но он же серверный, программа должна осознать это и за счет внутренних резервов ускорится?
11 MrStomak
 
09.04.15
09:01
Тест гилева - на запись, в прайслисте - чтение, нужно вынимать запрос и искать слабое место.
12 FAMx
 
14.04.15
12:59
Всем спасибо тема закрыта производительность поднялась после объединения серверов 1с и PostgreSQL на одной машине видимо что то в сети было.
13 zak555
 
14.04.15
13:03
(4) что-то мало
14 ildary
 
15.04.15
08:14
Вопрос специалистам - ранее на мисте постоянно ссылались на рекомендации 1С - не совмещать на одном компе 2 роли (сервер 1с и сервер БД), но в последнее время все чаще читаю истории "я объединил 2 роли на одном компе и наступило счастье". Что то поменялось или рецепт объединения 2 ролей имеет какие-то подводные камни?
15 Gepard
 
15.04.15
08:28
(14) вместе работает быстрей, если соотношение железо/пользователи хорошее :-)
16 mishkerdon
 
15.04.15
08:34
(14) скорее зависит от конфигурации, количества пользователей и от сети между сервером БД и приложений.
Иногда встречаются конфигурации, у которых очень хорошо оптимизирован обмен между сервером приложений и сервером БД, а у типовых, как правило, это не очень хорошо реализовано (хотя насчет последних конфигураций - могу ошибаться, не смотрел).
17 Umga2002
 
15.04.15
08:38
У мну тоже объединено.
Работает шустро. Жалоб Нет.
8.3 БП 3.0. 15-25 полз акт.
1С сервер и PostgreSQL на одной машине.
Терминал на другой.
18 ildary
 
15.04.15
08:46
(15) то есть для некоторого количества пользователей (например до 20) - можно и объединить, а выше - начинаются конфликты и лучше разводить?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший