Всем привет, сразу оговорюсь я не программер я сисадмин и тема постгрес+1с под никсами для меня новая, проблема заключается в следующем, стоит задача перевести 1с сервер на Unix платформу, сервер 1с и постгрес уже поднял, но он почему-то в некоторых отчетах по времени сильно уступает виндовому серверу, который чуть ли не в 2 раза слабее по железу, это всетаки проблема конфигов или баз? вот мои параметры
1. Виндовая машина:
Пень коре дуал 1,8
2 Гиг озу
Обычный сата винт
2. Машина на линуксе
Коре 2 дуо 2к
4 гига озу
зеркальный рейд + 1 сата винт
сравнительное время отчетов.
---------------------------------------------------
Отчет Windows SQL Linux SQL
по активным операциям (период не указан) 6 11
по действиям пользователя в системе (июнь) 3 25
по ожидаемым исходящим оплатам 2 2
по ожидаемым оплатам 2 2
по контактным лицам 4 5
по контактам (период не указан) 11 11
по изменениям статусов проектов (10.06.2008)16 5
по операциям (10.06.2008) 8 30
по операциям с перенесенными датами (10.06.2008) 3 28
------------------------------------------------------
postgresql.conf
# -----------------------------
# PostgreSQL configuration file
listen_addresses = '*' # what IP address(es) to listen on;
max_connections = 100 # (change requires restart)
shared_buffers = 27MB # min 128kB or max_connections*16kB
max_fsm_pages = 204800 # min max_fsm_relations*16, 6 bytes each
effective_cache_size = 1500MB
redirect_stderr = on # Enable capturing of stderr into log
log_directory = 'pg_log' # Directory where log files are written
log_truncate_on_rotation = on # If on, any existing log file of the same
log_rotation_age = 1d # Automatic rotation of logfiles will
log_rotation_size = 0 # Automatic rotation of logfiles will
stats_row_level = off
autovacuum = on # enable autovacuum subprocess?
datestyle = 'iso, dmy'
lc_messages = 'ru_RU.utf8' # locale for system error message
lc_monetary = 'ru_RU.utf8' # locale for monetary formatting
lc_numeric = 'ru_RU.utf8' # locale for number formatting
lc_time = 'ru_RU.utf8' # locale for time formatting
max_locks_per_transaction = 150 # min 10
default_with_oids = on
----------------------------------
FAQ по оптимизации постгрес изучал, изменение ключевых параметров типа shared_buffers effective_cache_size и проч дает результаты только отрицательные...такое ощущение что постгрес быстрее не умеет...
1. Попробуйте
1. Попробуйте перед построением отчётов вручную прогнать VACUUM ANALYZE
2. "зеркальный рейд + 1 сата винт" - не в этом ли дело? Операции записи на зеркало в 2 раза медленее! А RAID на чём? Контроллер или программный? Замерьте скорость дисковых операций на запись и чтение и сравните - сдаётся мне, что узкое место может быть как раз здесь.
Отключил один
Отключил один винт от raid`a, сделал как мог VACUUM ANALYZE и VACUUM FULL ANALYZE без изменений....
А скорость
А скорость записи на диски меряли?
Я почему говорю - есть RAID'ы у которых фишка - синхронизация буфера контроллера с диском. Надёжно - да, зато тормоза! Померяйте скорость записи на половинку зеркала и на тот диск единичный.