Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Привет, товарищи!

поставили postgre под 1С, имеется пару простых вопросов, решил задать все в одном, потом уже по необходимости содам профильные темы. Сильно не пинайте, первый раз вижу postgre

физический сервер, проц. Xeon, 32гб ОЗУ, системный диск SSD, база на 2х HDD (RAID1). ОС - Win 2016 std.
Все новое, больше ничего не стоит, только postgre+1C, без "боевых" баз. поставили только базу Гилева для теста.
Ну и вот вопросы для меня непонятные:

1. На диске D (на рейде) создали папку "bases", у указали, что там хранила базы. после установки базу Гилева захожу туда и.. реальность превзошла мои ожидания, Там я ожидал видеть папку с названием базы, как в MSSQL, а там все разбросано файлами и папками, не понятно что где. Можно ли базы организовать аккуратно, как в случае с MSSQL ?

2. Поставили интерфейс pgAdmin, но тоже меня разочаровал. думал там увидеть обслуживание и функции бекапирования, но тоже нет. говорят, что средствами винды надо делать. насколько это верно ? может есть готовые решение ? скрипты/программы

3. локально запустили на сервере тест GTC, показал всего 8%. Сервер достаточно мощный, но такой низкий показатель. Можно ли оптимизировать? тоже надо шаманить и методом тыка или есть определенные шаги для оптимизации?
26 сен 17, 18:49    [20824846]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
mad_nazgul
Member

Откуда:
Сообщений: 4216
halogen20
Привет, товарищи!


Здесь вам не тут! :-)

halogen20
1. На диске D (на рейде) создали папку "bases", у указали, что там хранила базы. после установки базу Гилева захожу туда и.. реальность превзошла мои ожидания, Там я ожидал видеть папку с названием базы, как в MSSQL, а там все разбросано файлами и папками, не понятно что где. Можно ли базы организовать аккуратно, как в случае с MSSQL ?


Нет.
Если что на postgresql.org - есть документация.
Рекомендую начать с нее.

halogen20
2. Поставили интерфейс pgAdmin, но тоже меня разочаровал. думал там увидеть обслуживание и функции бекапирования, но тоже нет. говорят, что средствами винды надо делать. насколько это верно ? может есть готовые решение ? скрипты/программы


Все "удобства" во дворе, либо за деньги.
А так у postgresql очень развит CLI.
Который позволяет делать очень многое.
В т.ч. создание бекапов.
Сам план бекопирования создается в ОС.
В Windows это Task Sheduler

halogen20
3. локально запустили на сервере тест GTC, показал всего 8%. Сервер достаточно мощный, но такой низкий показатель. Можно ли оптимизировать? тоже надо шаманить и методом тыка или есть определенные шаги для оптимизации?


Как сейчас не знаю, но до версии 9 настройки "по умолчанию" были рассчитаны, что бы PostgreSQL мог запускаться везде.
От Мейнфрейма, до домашнего роутера.
Для разработчика, это норм.
Но для продакшена нужно изучать настройки PostgreSQL.
Не забываем, что "удобства во вдоре".
Т.е. никаких GUI утилит.
Только конфиги и аргументы запуска.

Удачи :-)
27 сен 17, 08:53    [20825689]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Хреново конечно. за это время почитал немного, полазил по форумам и обзорам.
конфиг файл переделал. укрепил к сообщению. можете посмотреть пожалуйста все нормально?

С таким конфигом TGS (тест Гилева) показывает 11. Это максимум, что мог добиться.

Скрины показателей:
http://images.vfl.ru/ii/1506593242/f0d3b40d/18776773.png

http://images.vfl.ru/ii/1506593108/c45db382/18776747.jpg
http://images.vfl.ru/ii/1506593138/82fc234c/18776749.jpg

базу перенесли и на SSD, тоже самое. даже чуть чуть ниже показатель.

К сообщению приложен файл (postgresql.conf - 22Kb) cкачать
28 сен 17, 13:08    [20828879]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
перевод русской документации от Postgrespro
Оттуда же: Часть III. Администрирование сервера
Работа с PostgreSQL: настройка и масштабирование
Web семинары от pgday «Как начать работать с PostgreSQL?»
28 сен 17, 14:49    [20829126]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin
спасибо за ссылки, буду читать/смотреть. Но а пока хотел бы разобраться с оптимизацией, конфиг файл укрепил. если несложно, посмотрите пожалуйста (на предыдущей сообщении)
28 сен 17, 15:21    [20829258]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
Для начинающих
Настройки PostgreSQL для работы с 1С:Предприятием. Часть 2 pgtune online

Статистика по таблицам собрана?
pgtune рекомендует
# DB Version: 9.6
# OS Type: linux
# DB Type: oltp
# Total Memory (RAM): 32 GB
# Number of Connections: 100

max_connections = 100
shared_buffers = 8GB
effective_cache_size = 24GB
work_mem = 83886kB
maintenance_work_mem = 2GB
min_wal_size = 2GB
max_wal_size = 4GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100

28 сен 17, 15:28    [20829285]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin

Мы и по нему настроили.

автор
Статистика по таблицам собрана?

скорее нет, так как не знаю то это такое и как это делать.

У нас только тест гилева установлена пока что. тестирую сервер, хочу провести в порядок , потом уже залить и запустить продакшн.
28 сен 17, 15:43    [20829362]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin,

этот конфиг сохранить и использовать как конфиг файл или оттуда выписать и переделывать мой ?
28 сен 17, 15:56    [20829409]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
halogen20,

1) Я вижу, что Вы не установили часть параметров
особенно WAL

2) Проверьте когда собиралась статистика:
select 
relname
,last_vacuum
,last_autovacuum
,last_analyze
,last_autoanalyze
from pg_stat_all_tables s
where schemaname='public';


Вместо public укажите свою схему

Если там null,
то
vacuum analyze verbose;

Потом повторите тесты
28 сен 17, 16:02    [20829434]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
halogen20
Vadim Lejnin,

этот конфиг сохранить и использовать как конфиг файл или оттуда выписать и переделывать мой ?

Сохраните исходный для справки
я указываю чистые парметры, так проще отслеживать параметры, например,
Ваш не правленный:
$ grep  "^[A-Za-z]" p.conf | cat -
listen_addresses = '*'          # what IP address(es) to listen on;
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
shared_buffers = 8192MB         # min 128kB
work_mem = 512MB                                # min 64kB
dynamic_shared_memory_type = windows    # the default is the first option
shared_preload_libraries = 'online_analyze, plantuner'          # (change requires restart)
fsync = off                             # flush data to disk for crash safety
log_destination = 'stderr'              # Valid values are combinations of
logging_collector = on          # Enable capturing of stderr and csvlog
log_line_prefix = '%t '                 # special values:
log_timezone = 'Europe/Moscow'
datestyle = 'iso, dmy'
timezone = 'Europe/Moscow'
lc_messages = 'Russian_Russia.1251'                     # locale for system error message
lc_monetary = 'Russian_Russia.1251'                     # locale for monetary formatting
lc_numeric = 'Russian_Russia.1251'                      # locale for number formatting
lc_time = 'Russian_Russia.1251'                         # locale for time formatting
default_text_search_config = 'pg_catalog.russian'
max_locks_per_transaction = 150         # min 10
escape_string_warning = off
standard_conforming_strings = off
online_analyze.threshold = 50
online_analyze.scale_factor = 0.1
online_analyze.enable = on
online_analyze.verbose = off
online_analyze.min_interval = 10000
online_analyze.table_type = 'temporary'
plantuner.fix_empty_table = false
28 сен 17, 16:05    [20829439]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin,

А этот ког куда ставить? в самом конфиг.файле нет такого сегмента:
select 
relname
,last_vacuum
,last_autovacuum
,last_analyze
,last_autoanalyze
from pg_stat_all_tables s
where schemaname='public';


У меня в конфиге только WAL ставить или все выставить как Вы указали ранее ?
28 сен 17, 16:07    [20829447]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
halogen20,
создаете/редактируете config file
pg_ctl stop
pg_ctl_start

Это самый простой случай,
Вот это SQL запрос, который покажет когда запускались VACUUM/ANALYZE.
запрос отправляется сервер БД с любого клиента, например например из psql
(консольный клиент из поставки pg)

## Запуск на клиенте (подключение к базе через сеть)
$ psql -h MY_SERVER_NAME -p 5432 -d postgres -U postgres

## Запуск на сервер (локальное подключение к базе)
$ psql
psql (9.6.5)
Type "help" for help.

postgres=# select
postgres-# relname
postgres-# ,last_vacuum
postgres-# ,last_autovacuum
postgres-# ,last_analyze
postgres-# ,last_autoanalyze
postgres-# from pg_stat_all_tables s
postgres-# where schemaname='public';
   relname   | last_vacuum | last_autovacuum |         last_analyze          | last_autoanalyze
-------------+-------------+-----------------+-------------------------------+------------------
 staff_1_10  |             |                 | 2017-09-28 15:50:37.221614+03 |
 staff       |             |                 | 2017-09-28 15:50:37.225214+03 |
 staff_10_20 |             |                 | 2017-09-28 15:50:37.223481+03 |
(3 rows)

postgres=# vacuum analyze verbose;
INFO:  analyzing "public.staff_1_10"
INFO:  "staff_1_10": scanned 1 of 1 pages, containing 1 live rows and 0 dead rows; 1 rows in sample, 1 estimated total rows
INFO:  analyzing "public.staff_10_20"
INFO:  "staff_10_20": scanned 1 of 1 pages, containing 2 live rows and 0 dead rows; 2 rows in sample, 2 estimated total rows
INFO:  analyzing "public.staff"
INFO:  "staff": scanned 1 of 1 pages, containing 1 live rows and 0 dead rows; 1 rows in sample, 1 estimated total rows


p.s. Мессир, прочитайте на Вики что такое клиент-сервер, SQL, база данных чтобы понимать то что Вам пишут
p.p.s. Запуск базы в PROD без backup не советую. Хотя бы offline backup, копировать работающий сервер в общем случае нельзя!!! Точнее можно, но для этого нужно знать что делаешь

то есть выключаете, копируете PGDATA и все tablespace если есть в 1C, я с ней не работал и ее схему не знаю
28 сен 17, 16:27    [20829515]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin,

так так, давайте по очереди, я запутался уже.
Я заменил конфиг файл с тем, что вы дали. перезагрузил сервер, запустил тест: очень долго пошло, 2-3 раза , чем обычно , а результат практически тоже самое - 11.71

P.S. Клиент серверную архитектуру знаю, релационную базу тоже. сейчас у нас есть MS SQL, пришлось с нуля изучать все. Но тут не нахожу аналогии.

P.S.S. бекапы буду делать отдельным продуктом. скриптами/костылями не хочу замарачиваться, и так сложно мне дается все в этом разобраться.
28 сен 17, 16:43    [20829593]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Вот на сервере , в консоле пытался выполнить те команды, что вы написали, результат:
postgres=# select
postgres-# relname
postgres-# from pg_stat_all_tables s
postgres-# where schemananame='public';
ОШИБКА:  столбец "schemananame" не существует
СТРОКА 4: where schemananame='public';
                ^
ПОДСКАЗКА:  Возможно, предполагалась ссылка на столбец "s.schemaname".
postgres=#
28 сен 17, 16:55    [20829652]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
halogen20
Вот на сервере , в консоле пытался выполнить те команды, что вы написали, результат:
...
postgres-# where schemananame='public';
ОШИБКА:  столбец "schemananame" не существует
СТРОКА 4: where schemananame='public';
                ^
ПОДСКАЗКА:  Возможно, предполагалась ссылка на столбец "s.schemaname".
...


будте внимательнее


У вас таблицы 1С в какой базе развернуты, и под какой схемой?
Выбирайте правильную базу и схему для запроса, чтобы проверить analyze
28 сен 17, 17:45    [20829863]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin,

Я не знаю. установили 1С кластер, Postgre, потом в кластере 1С создали базу(с отметкой создать БД в postgre, если база отсутствует), потом зашли в конфигуратор и загрузили .DT файл. НУ и зачем мне сейчас это? это даст какие то данные, чтоб понять причину такой низкой производительности?

P.S. Если дам вам доступ к серверу, по teamViewer, сможете посмотреть в чем проблема, пожалуйста?
28 сен 17, 19:48    [20830084]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
vyegorov
Member

Откуда: Рига
Сообщений: 971
Vadim Lejnin,

Зачем вакуумировать всю базу, если будет несколько таблиц без статы?
Если нет статы, то зачем вакуумировать? быстрее проанализировать.

В целом, если умышлено автовакуум не отключали, то стата должна быть по всем таблицам.
28 сен 17, 20:06    [20830110]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
vyegorov,
там уже запускали тесты

да и проверить не помешает
28 сен 17, 20:11    [20830118]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Исправил ошибку в схеме, но всеравно:
postgres=# where schemaname='public';
ОШИБКА:  ошибка синтаксиса (примерное положение: "where")
СТРОКА 1: where schemaname='public';
          ^
postgres=#



У меня пока только одна база 1С, и то тестовая, для проверки производительности. Бекапировать базу собираюсь или с помощью Handy beckup, или PostgreSQL Backup (до 2х баз бесплатно, у меня какраз будет 2 баз). больше не нашел никаких GUI бекаперов. возится с скриптами не хочу.
29 сен 17, 08:47    [20830775]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Вот загружаю продакшн базу , весит 1,5 ГБ, уже около 10 мин. импортируется.
во время импорта смотрю ресурсы: ЦП - 13%, ОЗУ - 22%
диски мигают очень вяло. 3 секунду тишины, 1-2 мигание.

Мне кажется где то стоит жесткие ограничение и Postgre не может полноценно выполнится.
29 сен 17, 09:54    [20830886]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 5646
Vadim Lejnin,

Я не знаю. установили 1С кластер, Postgre, потом в кластере 1С создали базу(с отметкой создать БД в postgre, если база отсутствует), потом зашли в конфигуратор и загрузили .DT файл. НУ и зачем мне сейчас это? это даст какие то данные, чтоб понять причину такой низкой производительности?
...


Вы с MSSQL так же работали?


halogen20
Исправил ошибку в схеме, но всеравно:
postgres=# where schemaname='public';
ОШИБКА:  ошибка синтаксиса (примерное положение: "where")
СТРОКА 1: where schemaname='public';
          ^
postgres=#



Запустите запрос а не его кусок
select 
relname
,last_vacuum
,last_autovacuum
,last_analyze
,last_autoanalyze
from pg_stat_all_tables s
where schemaname='public';


А если не хотите разбираться совсем, то
VACUUM ANALYZE VERBOSE;

на все равно нужно будет разобраться какую базу Вы используете
29 сен 17, 13:04    [20831512]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Vadim Lejnin,

Вот результат сценария:
C:\Program Files\PostgresPro 1C\9.6>echo off
Текущая кодовая страница: 1251
Пароль пользователя postgres:
psql (9.6.3)
Введите "help", чтобы получить справку.

postgres=# select
postgres-# relname
postgres-# ,last_vacuum
postgres-# ,last_autovacuum
postgres-# ,last_analyze
postgres-# ,last_autoanalyze
postgres-# from pg_stat_all_tables s
postgres-# where schemaname='public';
 relname | last_vacuum | last_autovacuum | last_analyze | last_autoanalyze
---------+-------------+-----------------+--------------+------------------
(0 строк)


postgres=#


А вот результат "VACUUM ANALYZE VERBOSE;"
Отдельно постил, много текста:
https://pastebin.com/m12V5yeP


Все таки создал один БД, залил туда рабочий 1С базу, пробовали работать. на однопользовательском варианте, локально, вроде не так ужасно тормозит, но все же что то не так..
29 сен 17, 13:47    [20831679]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
удалил БД, создал заново, из конфуратора загрузил DT_шку.
файл весил около 500МБ, процесс длился около 10 минут. под конец открыл монитор ресурс и вот что получилось:
http://images.vfl.ru/ii/1506685904/0a6cc39e/18791073.jpg

после 14:34:55 закончился импорт. дальше идет простой диска.
по скрину видно, что диск не загружается совсем, а лишь посекундно.
при этом проц и память тоже не грузятся. тогда в чем проблема такой долгой работы и импорта?
29 сен 17, 14:56    [20831915]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 3361
halogen20
удалил БД, создал заново, из конфуратора загрузил DT_шку.
файл весил около 500МБ, процесс длился около 10 минут. под конец открыл монитор ресурс и вот что получилось:
http://images.vfl.ru/ii/1506685904/0a6cc39e/18791073.jpg

после 14:34:55 закончился импорт. дальше идет простой диска.
по скрину видно, что диск не загружается совсем, а лишь посекундно.
при этом проц и память тоже не грузятся. тогда в чем проблема такой долгой работы и импорта?


Вы хотите чтобы из вас на форуме DBA пострегсового сделали за 3 дня? ;)
Хотите реально разобраться - покупайте книжки по Pg, вникайте.
Не хотите/нет времени - привлекайте внешних специалистов.

Рассказывать вам как смотреть что и почему происходит в базе - дело не на 1 и не на два дня курсов.

PS: базу на механике (не серверных ssd) в 2017 году не держат.
PPS: наиболее вероятно что база в это время индексы создает (или FK) а поскольку база старая и поскольку вы черте как в нее данные грузите - это делается в 1 поток и НЕ БУДЕТ использовать более 1 ядра процессора.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
29 сен 17, 19:50    [20832510]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Maxim Boguk,

Вот вы такой "крутой" специалист, сможете за деньги исправить проблему? только без "если бы, как бы..".

Я не собираюсь стать DBA, у нас просто некому этим заниматься, поставили 1С_ники и все. в принципе у них все работает и это им не парит. А вот мне, как системного админстратора - мозги делать будут, что тормозит. Но а я то вижу, что действительно все медленно работает.
2 окт 17, 10:38    [20835610]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
vyegorov
Member

Откуда: Рига
Сообщений: 971
halogen20
Вот вы такой "крутой" специалист, сможете за деньги исправить проблему? только без "если бы, как бы..".

Вы подпись у Максима видели-то?.. Вот и обращайтесь.
2 окт 17, 11:49    [20835852]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
Ролг Хупин
Member

Откуда: Оттуда
Сообщений: 1455
halogen20
Maxim Boguk,

Вот вы такой "крутой" специалист, сможете за деньги исправить проблему? только без "если бы, как бы..".

Я не собираюсь стать DBA, у нас просто некому этим заниматься, поставили 1С_ники и все. в принципе у них все работает и это им не парит. А вот мне, как системного админстратора - мозги делать будут, что тормозит. Но а я то вижу, что действительно все медленно работает.


за кавычки цену надо увеличить
2 окт 17, 13:02    [20836117]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
halogen20
Member

Откуда:
Сообщений: 118
Тут все Лев Толстой на словах и мастера по троллингу.
Давайте по делу пишите, ибо нечего засорять топик!
2 окт 17, 13:13    [20836150]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
acidophilus
Member

Откуда:
Сообщений: 98
К dba уже предлагали обратиться?
2 окт 17, 13:29    [20836219]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
vyegorov
Member

Откуда: Рига
Сообщений: 971
halogen20
Давайте по делу пишите, ибо нечего засорять топик!

По делу — на все поставленные вами вопросы в начале ветки вам были даны ответы, тоже в начале.

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

Рекомендую к ознакомлению: http://www.sql.ru/forum/941371/studentam-zhelaushhim-pomoshhi
2 окт 17, 13:41    [20836269]     Ответить | Цитировать Сообщить модератору
 Re: Несколько простых вопросов  [new]
mefman
Member

Откуда:
Сообщений: 1697
halogen20
Тут все Лев Толстой на словах и мастера по троллингу.
Давайте по делу пишите, ибо нечего засорять топик!

офигительная борзота от человека, который просит помощи
2 окт 17, 14:01    [20836346]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / PostgreSQL Ответить