
Terminator
18.10.2018
10:24:11
@evgenbal будет жить. Поприветствуем!

Evgeny
18.10.2018
10:24:45
Всем привет. Народ вопрос про нагрузки. База постгрес. без индексов. Какой запрос создаст большую нагрузку на сервер: Один с сохранением миллиона записей (в рамках одной транзакции), или 200 (подряд, синхронно) по 5000 записей?
И тот же вопрос если есть индексация (например на одну колонку)

Mike Chuguniy
18.10.2018
10:28:20

Google

Sergey
18.10.2018
10:29:23
Это когда приходит KGB и начинает перлюстрировать перфокарты. Не заботясь о сохранении их последовательности и целостности.

Terminator
18.10.2018
10:32:08
@VViiittt будет жить. Поприветствуем!

Yaroslav
18.10.2018
10:32:22

Darafei
18.10.2018
10:34:09
если реплик нет
второе будет медленнее по-любому

Terminator
18.10.2018
10:47:29
@darkfelex будет жить. Поприветствуем!
@Zolegzz будет жить. Поприветствуем!
@algost будет жить. Поприветствуем!

Алексей
18.10.2018
10:59:50
Всем привет. Ребят кто использовал ON CONFLICT. Столкнулся с такой проблемой. Вот такой запрос `INSERT INTO users_calculated_parameters (user_id, calculated_parameter_id, value)
VALUES (1, 2, 30)
ON CONFLICT (user_id, calculated_parameter_id) DO UPDATE
SET value = excluded.value` - Конфликт может возникать когда уже есть запись с таким user_id и calculate_id(такая реализация upsert) НО конфликт еще может возникнуть из за foreign key user_id, когда пользователя просто нет, МОЖНО ЛИ сделать несколько ON CONFLICT к одному Insert?


Vladimir
18.10.2018
11:16:38
Приветсвую всех, поставили stolon и чистый postgresql, с одинаковыми настройками и одинаковой версией, только postgresql на одной железке а stolon на 3 нодах (3 железяках)
проводил разные тесты, но на чисттом pos
pgbench -c 500 -T 300 -S -j 4 -P 10
starting vacuum...end.
transaction type: <builtin: select only>
scaling factor: 1
query mode: simple
number of clients: 500
number of threads: 4
duration: 300 s
number of transactions actually processed: 14183823
latency average = 10.531 ms
latency stddev = 2.097 ms
tps = 47262.555691 (including connections establishing)
tps = 47264.141290 (excluding connections establishing)
а у stolon на тех же тестах производительность отличается практичесски на порядок в тех же тестах:
pgbench -c 500 -T 300 -S -j 4 -P 10
Password:
starting vacuum...end.
scaling factor: 1
query mode: simple
number of clients: 500
number of threads: 4
duration: 300 s
number of transactions actually processed: 1784407
latency average = 83.873 ms
latency stddev = 226.166 ms
tps = 5878.774755 (including connections establishing)
tps = 5878.918058 (excluding connections establishing)
причём и латенция у столон заметно хуже и количество tps меньше
Это так и должно быть или как то используем неправильно?


Sergey
18.10.2018
11:18:50
wal_level какой на разных конфигурациях?

Google

Anton
18.10.2018
11:23:17

Vladimir
18.10.2018
11:29:15

Mike Chuguniy
18.10.2018
11:32:51

Sergey
18.10.2018
11:40:48

Vladimir
18.10.2018
11:49:46
или ещё что то можно посомтреть что коммиты синхронные?

Sergey
18.10.2018
11:51:06
Действительно не синхронная. Странно

S
18.10.2018
12:01:17


Alex
18.10.2018
12:02:58
это фейловер типа

S
18.10.2018
12:04:46
угу, не понимаю как фейловер связан с TPS, он видимо как прокси стоит перед сервером?

Let Eat
18.10.2018
12:05:06

S
18.10.2018
12:10:10
угу, там proxy: https://raw.githubusercontent.com/sorintlab/stolon/master/doc/architecture_small.png


Maksim
18.10.2018
12:38:52


Vadim
18.10.2018
13:06:57
Proxy достаточно тупой компонент, он не может так аффектить производительность. Какая конфигурация кластера столон? А именно minSynchronousStandbys?

Maksim
18.10.2018
13:19:55

Fike
18.10.2018
13:22:17
о, давайте начнем дискусcию "понятия 'синхронная репликация' не существует"

Vadim
18.10.2018
13:24:53

Maksim
18.10.2018
13:27:16

Yaroslav
18.10.2018
13:27:34

Google

Vadim
18.10.2018
13:28:17

Maksim
18.10.2018
13:32:21

Vadim
18.10.2018
13:36:06
Stolon создаёт новый кластер при инициализации. Я бы убедился, что конфиг действительно используется тот, в который смотрят) Ещё есть предположение, что подключаются к одному из 3х proxy, который находится на другой машине, не там где primary. Можно просто подключиться к primary напрямую и прогнать тест.

Alex
18.10.2018
13:37:49
добрый вечер, други
я вчера задавал вопрос про psycopg2 с постгресом
вообщем я докопался до того, что у нас при выборке данных постгрес постоянно шмыгает по диску
открыл strace и вижу, что на каждые 8 килобайт считанных с диска он затем снова устанавливает поинтер в рандомное место на диске и из-за этого получаются тормоза
кто-нибудь знает, с чем это связано?
причем, если выбрать ну тысяч 20 данных, а потом перезапустить процесс выборки (ну то есть сделать тупо стоп и старт) - то seek'и прекратятся и данные нормально начнут забираться, если не перезапускать первый процесс - то и 20++к данные так же вызывают seek

Fike
18.10.2018
13:39:02
В смысле?
Ну она по определению всегда асинхронная, кто-то всегда коммитит раньше

Yaroslav
18.10.2018
13:41:53

Fike
18.10.2018
13:42:43


Роман
18.10.2018
13:43:56
Всем привет!
#вакансия #it #удаленка #php #backend #postgresql
Компания Skyeng ищет на постоянную удаленную работу backend-разработчиков, которые помогут нам в развитии многочисленного функционала сервиса. Сегодня мы являемся самой крупной языковой онлайн-школой в Восточной Европе и быстро развиваемся.
Мы ждем от разработчика
- Общий опыт разработки — не менее 3 лет
- Основные бэкенд технологии: PHP, Symfony, Doctrine, PostgreSQL, Elasticsearch, RabbitMQ.
- Иметь опыт разработки проектов под существенную нагрузку
Мы работаем в московском часовом поясе, разговариваем в Slack и в Hangouts, пишем документацию в Confluence, задачи складываем в Jira, код в GitHub, а для CI/CD используем Jenkins и Capistrano.
Что мы даем взамен
- Зарплата до 160 000 руб. на руки
- Возможность учиться: регулярные доклады разработчиков внутри компании, участие и выступления на конференциях, а также много крутых специалистов :)
- Недавно мы провели первый хакатон и не собираемся останавливаться
- Скидка 50% на уроки английского вам и вашему другу
Контакт: @bykatya
https://hh.ru/vacancy/27796608


Yaroslav
18.10.2018
13:44:03
А вот и release v11: https://www.postgresql.org/about/news/1894/

Vlad
18.10.2018
13:48:48
Хей.
Ситуация: при коннекте с помощью psql к базе все ок.
При коннекте из Golang, postgres throw 'role abcd' doesn't exist
psql -> \dg говорит, что роль 'abcd' существует.
Проверил конфиг коннекта к базе, имя роли совпадает
Сори, если слегка оффтоп.

Maksim
18.10.2018
13:50:05

Fike
18.10.2018
13:50:38

Yaroslav
18.10.2018
13:52:45
интересно, что такое синхронность?
На самом деле, не очень. ;)
Т.к. многие понятия, обозначаемые какими-то терминами, мало относятся к буквальному прочтению этих терминов.

Fike
18.10.2018
13:53:10
да нет, термин всегда однозначен

Lestat -
18.10.2018
13:54:42

Vlad
18.10.2018
13:55:21

Lestat -
18.10.2018
13:55:36

Vlad
18.10.2018
13:56:17

Google

Vlad
18.10.2018
13:56:22
А
Мое зрение, Боги
На пайтоне

Lestat -
18.10.2018
13:56:49
зелёные уточки тоже не плохо))
интересно, а тут ругаются за флуд и оффтом ?

Vlad
18.10.2018
13:59:21

Yaroslav
18.10.2018
14:00:26

Lestat -
18.10.2018
14:00:34
Простите, наркоман совсем.
Если не секрет, у вас Джанга или что-то асинхронное?
Django, Flask, Postgres, openVINO, vue, centos7, ubuntu 16
асинхронное (iohttp) не пускают по тем же причинам что и го
типа скейлиться будем на виртуалках, докер тоже не прошёл))))))
мы как мажоры, 1 микросервис = 1 виртуалка


Vlad
18.10.2018
14:04:25
Django, Flask, Postgres, openVINO, vue, centos7, ubuntu 16
асинхронное (iohttp) не пускают по тем же причинам что и го
типа скейлиться будем на виртуалках, докер тоже не прошёл))))))
мы как мажоры, 1 микросервис = 1 виртуалка
Да простят мне оффтоп, но Джангу не люблю, от слова совсем.
Модели сами генерируют SQL, и не всегда этот SQL оптимален
И прочая магия Джанго: пишем команду create admin, создаётся админка..
Это не холивар, если что, питон незаменим в известных областях, моя неприязнь лишь направленна на философию фреймворка
П.С. а у нас отказались от кубернетиса и слепили свой: cheff, nomad, consul, consul template, etc
П.С.С не завидую Вам :(

F01134H
18.10.2018
14:05:47
Ребят, у меня есть 18-значное число, у которого еще N разрядов есть (т.е. число может быть и 30-значным). А в pgsql бигинт - 19 знаков. Как мне быть? Как уложить настолько большое число в БД?

Andrey
18.10.2018
14:06:00

F01134H
18.10.2018
14:06:48

Lestat -
18.10.2018
14:06:58

Igor
18.10.2018
14:07:42

Lestat -
18.10.2018
14:08:03
какие люди) Hello Igor
ну да, мы коммунисты, это плохо ?)
у нас вообще-то под оффтоп отдельный канал есть

F01134H
18.10.2018
14:08:16

Igor
18.10.2018
14:08:20
:)

Lestat -
18.10.2018
14:09:00
Да простят мне оффтоп, но Джангу не люблю, от слова совсем.
Модели сами генерируют SQL, и не всегда этот SQL оптимален
И прочая магия Джанго: пишем команду create admin, создаётся админка..
Это не холивар, если что, питон незаменим в известных областях, моя неприязнь лишь направленна на философию фреймворка
П.С. а у нас отказались от кубернетиса и слепили свой: cheff, nomad, consul, consul template, etc
П.С.С не завидую Вам :(
а какие аргументы против кубернетиса ? swarm смотрели?

Sergey
18.10.2018
14:10:34

Alex
18.10.2018
14:11:16

Vlad
18.10.2018
14:11:19

Yaroslav
18.10.2018
14:15:13

Google

Sergey
18.10.2018
14:15:38
Мало ли как ведет себя psycopg2 в дикой природе

Yaroslav
18.10.2018
14:16:36