
Alexander
29.03.2018
15:38:49
Более правильная предметная область это "баннеры" и "клики_юзеров_по_баннерам"

Evgeniy
29.03.2018
17:59:47
/report

Vladimir
29.03.2018
18:24:07
Ребят, на как думаете стоит ли отключать hyper threading на серваке субд?
Теоретически вместо 64 потоков (которые почти всегда простаивают) станет 32 полноценных ядра
Version Postgres 9.4

Darafei
29.03.2018
18:25:06
а он у тебя на 100% нагружен?

Google

Vladimir
29.03.2018
18:25:41
Не, максимум 10 потоков одновременно

Mikhail
29.03.2018
18:26:04

Vladimir
29.03.2018
18:26:55

Mikhail
29.03.2018
18:27:08
В смысле — не важно

Darafei
29.03.2018
18:27:37
ты не сбережёшь этим время, оправдывающее перезагрузку
а вообще разницу нужно изучать вполне под микроскопом

Vladimir
29.03.2018
18:29:24
Ну запросы бывают долгие
Система не highload, но рестарт должен оправдать себя

Darafei
29.03.2018
18:30:31
если запросы долгие, то рассматривать во время их выполнения профайлинг хорошо помогает починить их время выполнения

Vladimir
29.03.2018
18:30:58
Просто мысли о том что используется только половина ядра огорчают
Или это не совсем так?

Darafei
29.03.2018
18:31:24
как ты представляешь себе электрически использование половины ядра?
HT вообще возник из-за того, что половина ядра чаще всего _не_ используется, и в это время его можно ещё чем-то занять
а планировщики нынче достаточно умные, чтобы при мелком числе процессов раскидывать их сначала по физическим ядрам, а потом только паковать во вторые логические

Vladimir
29.03.2018
18:33:22
Тем что я могу запустить 1 процесс на двухъядерном i3
И буду видеть как съедается 25 ресурсов CPU, а не 50

Google

Darafei
29.03.2018
18:33:55
эммм, у тебя винда что ли?
тебе нужно в процент загрузки ядра смотреть, htop его и показывает

Vladimir
29.03.2018
18:34:30
Не только

Darafei
29.03.2018
18:35:49
короче, отключая HT, ты выключаешь половину ядер, из-за чего ты гарантированно недогружаешь CPU, из-за чего он может чуть дольше прожить под TurboBoost, из-за чего тебе будет казаться, что стало быстрее
или медленнее, сильно зависит от вида нагрузки

Vladimir
29.03.2018
18:37:02
Откуда такая инфа?

Darafei
29.03.2018
18:37:58
из рассматривания iotop, htop, powertop под разными нагрузками
откуда ты берёшь идею про "половину" ядра?

Vladimir
29.03.2018
18:39:47
Из описания процессора, он на 4 ядра, но пишет 8 логических
Следовательно каждый поток жрет половинку ядра

Аггей
29.03.2018
18:41:28
Там все сложнее

Vladimir
29.03.2018
18:42:15
Вот и я надеюсь что все умнее, и лишь диспетчер и top не понимают реальную загрузку

Аггей
29.03.2018
18:42:41
Надо учитывать, что ht это не тупое деление ядра напополам. Там же есть дополнительные конвееры обработки

Darafei
29.03.2018
18:44:46
интел про спекулятивное исполнение, у тебя в спекулятивном режиме нужно исполнять обе ветви ифов, и для этого под капотом одного ядра есть логики на два ядра
но иногда ифов нет, и тогда можно пойти и на втором ядре тоже что-то поисполнять, чтобы не стояло
"очень грубо"
собственно, изначальная фишка HT в том и была - "кодируйте видео в два раза быстрее"

Alexey
29.03.2018
18:52:48
на самом деле, там всё проще, чем принято считать
с HT каждое ядро пытается выполнить что-то из другого потока, когда происходит backend/frontend stall
и почти всегда это связано с чтением/записью в память
поэтому для чистых compute-bound нагрузок (типа вычисления числа пи до 100500-го знака), от HT толку не будет никакого

Google

Alexey
29.03.2018
18:54:14
но в СУБД таких почти не бывает, они почти всегда memory-bound

Darafei
29.03.2018
19:00:16

Alexey
29.03.2018
19:01:11
ну можно и так назвать

Vladimir
29.03.2018
19:11:26
Linux или window разницы нет?

Alexey
29.03.2018
19:12:03
про windows я ничего не знаю, но подозреваю, что нет
в linux кстати можно количество fronted/backend stalls посмотреть в perf stat
и оттуда сделать вывод, есть смысл в HT или нет

0x00
29.03.2018
19:18:54
Всё так. Ядро на физическом уровне не может быть загружено наполовину. То, что показывает htop -- это то, сколько времени ядро было занято за период измерения.
HT даёт возможность конкурентного использования ресурса процессора несколькими процессами при уменьшении стоимости переключения контекста.

Vladimir
29.03.2018
19:35:47
От нафиг делать затестил на винде

Alexandr
29.03.2018
19:36:39
приветы
под виндой через lo_import хочу к файлу обратиться, но упрямо пишет, что
ERROR: could not open server file "корректный путь": No such file or directory
файл проверил, какие-то разрешения на файл нужны?

Vladimir
29.03.2018
19:39:35

Alexandr
29.03.2018
19:41:19
кажется, проблема, что в пути русские символы
есть идея, как написать, чтобы брало с русскими символами в пути?

Darafei
29.03.2018
19:41:52

Alexandr
29.03.2018
19:42:11
может быть

Admin
ERROR: S client not available

Darafei
29.03.2018
19:42:38
в лог пишется ли ошибка?

Alexandr
29.03.2018
19:42:59
не, там запрос
запрос ошибку выдаёт

Google

Darafei
29.03.2018
19:43:13
там, возможно, можно посмотреть в байтах, в какой кодировке и что спрашивает у системы сервер

Alexandr
29.03.2018
19:44:14
есть какая нибудь функция, которая на лету конвертит строки из юникода в цп?

0x00
29.03.2018
19:45:42
Спасибо что проверил :) HT действительно интересная штука

Alexandr
29.03.2018
19:46:34
нашёл, спасибо

Vladimir
29.03.2018
19:51:42

Alexandr
29.03.2018
19:51:43
за час до дедлайна любые средства хороши

_
29.03.2018
20:53:27
Всем привет, подскажите, пожалуйста, как лучше реализовать внешний ключ ссылающийся на таблицу? Спасибо

Roman
29.03.2018
20:54:40
alter table add constraint ?
ALTER TABLE public.xxxx
ADD CONSTRAINT xxxx_name_key
FOREIGN KEY ("fieldName")
REFERENCES public.yyyy(id)
ON DELETE RESTRICT
ON UPDATE CASCADE;

_
29.03.2018
21:04:38
Если точнее, нужно использовать внутренний ключ одной таблице в другой, что-то такое, спасибо за ответ
Тип сериал

Михаил
30.03.2018
00:27:21
Ребят, прошу прощения за такую наглость, но реально вынужден обратиться на каналы к вам, братьям-программистам, потому что у меня жопа по жизни и мне не у кого больше попросить помощи. Подробнее у меня на форуме:
https://russiancoders.tech/topic/7lTc4SC5HWjNXyZjqfMh/18/#177


targitaj
30.03.2018
03:59:39
я ща на охуительные грабли с PostgreSQL 10 наступил.
Я сначала дропнул мастер-БД с нативной репликацией и теперь пытаюсь дропнуть БД с подпиской на мастер...
как мне слейв БД дропнуть-то теперь??
капец (((
ПАМАГИТЕЕЕ!!!!
alter subscription real2crm set ( slot_name = NONE ) ;
ERROR: cannot set slot_name = NONE for enabled subscription
drop subscription real2crm ;
ERROR: could not connect to publisher when attempting to drop the replication slot "real2crm"
DETAIL: The error was: FATAL: database "real" does not exist
HINT: Use ALTER SUBSCRIPTION ... SET (slot_name = NONE) to disassociate the subscription from the slot.
боже, но зачем было делать всё таким сложным
чо делать-то, постгрес сносить и заново ставить?

Google

Denis
30.03.2018
04:38:00
Может поднять кластер на сервере мастера с пустой базой real, создать в ней нужный слот и попробовать с реплики ещё раз удалить слот/сделать его none?

Айтуар
30.03.2018
09:09:10