@gogolang

Страница 1136 из 1630
Aleksandr
07.06.2018
12:05:31
отключи random template writing - фича такая

Dmitry
07.06.2018
12:05:44
в каждой горутие, которая обрабатывает канал, делается просто binary.Read/Write из коннекшена net.Conn, полученного из accept
получается что 1000 горутин одновременно деллают binary.Read/Write в один коннекшон

Zae
07.06.2018
12:05:51
ok

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

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

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

Kirill
07.06.2018
12:11:48
мы поняли друг друга
Мне аж интересно стало што я пропустил

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

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

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
И как тут помогут каналы? Один канал, который последовательно обрабатывает все Writes и решает в какой conn ответить?
Так, что всё будет настолько течь и настолько медленно, что уже будет неважно

Alexander
07.06.2018
12:36:59
netstat/ss в помощь. ну и повтыкал во всякие iostat/vmstat чем процесс занят
попробую, есть подозрение, что просто тупо очередь сокета забивается, но вроде как на подключения же отдельная очередь, а уже подключившиеся имеют свои сокет очереди

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

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
8, GOMAXPROCS установлен тоже на 8
А ты тачку тюнил-то?

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

Aliaksandr
07.06.2018
12:44:36
те, кто подключился - не тормозят, но если в их цикле сделать таймаут - то новые подключения принимаются охотнее
Скорее всего, не хватает пропускной способности сети. Посмотрите что показывает netstat, когда начинаются тормоза

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:59
parent, dependency, profile, repositories, build еще там куча всего

Google
Andrey
07.06.2018
12:55:03
лул) я бы посмотрел есть ли xsd для помника. так-то, навскидку, там гораздо больше всего может быть
Мне все не нужно... только перечисленные поля. Делал по примеру и в нем в массив все вычитывается, а у меня нет :(

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
и go tool trace
Неа, тоже попробую

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
это еще и заимплементить надо было

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

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

David
07.06.2018
14:15:28
затем что мы метапоиск

это бизнес авиасейлс

Страница 1136 из 1630