
Kirill
07.06.2018
12:05:05

Aleksandr
07.06.2018
12:05:31
отключи random template writing - фича такая

Dmitry
07.06.2018
12:05:44

Zae
07.06.2018
12:05:51
ok

Google

Kirill
07.06.2018
12:06:58

Aleksandr
07.06.2018
12:07:25
мы поняли друг друга

Alexander
07.06.2018
12:09:52

Dmitry
07.06.2018
12:10:11
сокет же один

Alexander
07.06.2018
12:11:47
Ну блин, nginx же как-то работает с кучей запросов на один сокет

Kirill
07.06.2018
12:11:48

Dmitry
07.06.2018
12:12:10

Kirill
07.06.2018
12:12:27
Сколько там у нас семафоров на канал? Четыре?

Alexander
07.06.2018
12:14:13
сокет же один
как же один, когда говорят что *на каждое подключение* создается горутина

Alan
07.06.2018
12:14:21

Kirill
07.06.2018
12:15:47
используйте каналы
Коллега, после таких советов люди спустя первые пару дней разработки на го пойдут и радостно начнут рассказывать, что нода жрёт меньше ресурсов и работает быстрее

Alexander
07.06.2018
12:16:39
я бы глянул очереди на tcp-соединении

Google

Alexander
07.06.2018
12:17:48
netstat/ss в помощь. ну и повтыкал во всякие iostat/vmstat чем процесс занят

anton
07.06.2018
12:19:16
коллеги,
у всем известного jmoiron/sqlx при возвращении данных из таблиц с неважно-каким-join-ом, для null значений из joined таблиц, один чёрт создается пустая структура..
может быть, кто-нибудь уже разбирался с этим вопросом и знает как быстро решить проблему?

Alexander
07.06.2018
12:35:32
используйте каналы
И как тут помогут каналы? Один канал, который последовательно обрабатывает все Writes и решает в какой conn ответить?

Kirill
07.06.2018
12:36:03

Alexander
07.06.2018
12:36:59
Единственное, что заметил, если в горутинах сделать небольшой таймаут, хоть на 10мс, то ситуация прямо сильно лучше

Kirill
07.06.2018
12:37:42

Alexander
07.06.2018
12:38:04

Alexander
07.06.2018
12:38:43
те, кто подключился - не тормозят, но если в их цикле сделать таймаут - то новые подключения принимаются охотнее

Alexander
07.06.2018
12:42:32
Интересно, я не настоящий сварщик, а сколько ядер на машине?

Alexander
07.06.2018
12:43:56
8, GOMAXPROCS установлен тоже на 8

Kirill
07.06.2018
12:44:20

Alexander
07.06.2018
12:44:35
но в целом болшой разницы я не заметил, что 8 стоит, что дефолтный 1

Aliaksandr
07.06.2018
12:44:36

Alexander
07.06.2018
12:44:39
тачка - обычный макос

Alexander
07.06.2018
12:44:47
Можно в Го сделать аффинити горутины которая принимает соединения на отдельное ядро? А остальные горутины на другие ядра повесить?

Kirill
07.06.2018
12:44:54

Alexander
07.06.2018
12:45:35
Ну по сетевому стеку в макоси я точно не шарю, но в линухе из коробки он сильно не тюненный под нагрузку
Думаю в макоси так же

Google

Petr
07.06.2018
12:46:02
Можно почитать про бсд, но в маке из коробки все нормально с сетью

Alexander
07.06.2018
12:46:09
на проде не будет макос, это вообще скажем так - pet-поделка
и вот столкнулся с ткой проблемой

Kirill
07.06.2018
12:46:35
Попробуй на линухе покатай

Petr
07.06.2018
12:47:19
Да можно просто потрассировать процесс
посмотреть затыки
там ничего сложного
взыть какой нибудь dtrace или strace

Alexander
07.06.2018
12:48:04
А чо там в макоси, truss какой-нибудь?

Petr
07.06.2018
12:49:08
dtrace есть
в макоси

Alexander
07.06.2018
12:51:55
трассировать думаю будет ад, ибо увижу кучу syscall ов работающих подключений

Andrey
07.06.2018
12:52:42
Всем привет.
пытаюсь прочитать pom.xml вот в такую структуру, но в модулях почему-то только один элемент. Что я пропустил?
type XmlFile struct {
GroupId string `xml:"groupId"`
ArtifactId string `xml:"artifactId"`
Version string `xml:"version"`
Modules []Module `xml:"modules"`
}
type Module struct {
ModuleName string `xml:"module"`
}

Constantine
07.06.2018
12:53:07
потому что ты забыл сюда xml запостить как пример?
или это черный ящик? )

Alexander
07.06.2018
12:53:38
Есть еще вариант, что вот эти горутины с подключениями работают может быть как-то монопольно и горутина, обрабатывающая accept не срабатывает?

Alexander
07.06.2018
12:54:04

Petr
07.06.2018
12:54:41
нет там никакого ада

Alexander
07.06.2018
12:54:59
parent, dependency, profile, repositories, build еще там куча всего

Google

Andrey
07.06.2018
12:55:03

Alexander
07.06.2018
12:55:26
попробую, спасибо

Kaspar
07.06.2018
12:57:09
pprof делал?
и go tool trace

Andrey
07.06.2018
13:27:46
Народ, посмотрите пожалуйста что не так?!
Хочу увидеть все элементы, а не только один после парсинга: https://play.golang.org/p/AgC5vdmtsE5

Alexander
07.06.2018
13:40:47

Илья
07.06.2018
13:46:59
или даже так

Admin
ERROR: S client not available

Andrey
07.06.2018
13:49:07

David
07.06.2018
14:07:21
Привет
Какая тут политика в отношении вакансий?
можно постить? ?

Alexander
07.06.2018
14:08:25
можно постить? ?
говорят если посмотреть описание чатика, можно найти ответы на кучу вопросов
могу спойлернуть, что без вилки лучше не постить

David
07.06.2018
14:09:32
побьют?

Tigran
07.06.2018
14:10:08
затравят!
впрочем, с вилкой тоже могут

David
07.06.2018
14:10:33
окей
https://aviasales.recruitee.com/o/backend-developer-golang-python

Google

David
07.06.2018
14:11:04
вилка $1-10k в месяц ?

Alexander
07.06.2018
14:11:34
релокация в тай, емнип

David
07.06.2018
14:11:38
да

Tigran
07.06.2018
14:11:44
итс э трэп

John
07.06.2018
14:11:58

Alexander
07.06.2018
14:12:12

Alexandr
07.06.2018
14:12:21

David
07.06.2018
14:12:53
если интересно, переписываем поисковый движок с питона на го
так что работы много, проект свежий и будет интересно )

Alexander
07.06.2018
14:13:15
надо было просто сразу на джяве писать

David
07.06.2018
14:13:31
ага, я тоже так говорю

Alexandr
07.06.2018
14:13:36

David
07.06.2018
14:13:36
но это итеративный процесс

Tigran
07.06.2018
14:13:51
поисковый движок на питоне
это ж надо было придумать

David
07.06.2018
14:14:17
это еще и заимплементить надо было

Антон
07.06.2018
14:14:31

Alexander
07.06.2018
14:14:51
*на расте
как же на нем сразу писать, если его нет ?

Tigran
07.06.2018
14:15:15
а зачем свой поисковый движок вообще?

David
07.06.2018
14:15:28
затем что мы метапоиск
это бизнес авиасейлс