@proGO

Страница 1538 из 1674
Igor
28.06.2018
14:16:24
а разве редис не однопоточный?

Alan
28.06.2018
14:16:37


Dmitry
28.06.2018
14:21:55
'export GOPATH=$(pwd)'

в линупсе четенько

Google
Kirill
28.06.2018
14:23:52
а разве редис не однопоточный?
т.е. если 2 инстанса одновременно сделают set nx, то один получит успех а другой фейл?

2 потока*

Daniel
28.06.2018
14:24:14
а?!

Kirill
28.06.2018
14:24:59
библиотека для го выдает false

если попытаться выполнить setnx

который уже залочен

Igor
28.06.2018
14:31:13
библиотека для го выдает false
потому что Вы уже установили. NX -- Only set the key if it does not already exist.

Kirill
28.06.2018
14:32:34
потому что Вы уже установили. NX -- Only set the key if it does not already exist.
да, я понимаю почему false. Это то что я назвал фейлом. возвращение false, при попытке setNx

Igor
28.06.2018
14:35:10
так а в чем вопрос тогда?) один поток установил, второй после него пытается уставновить если не установлено -> false. все логично

Vadim
28.06.2018
14:56:54
Привет, в болте есть прикольная фигня с бакетами, когда я могу записывать бакет в бакет, есть ли тоже самое в buntDB или BadgerDB. Может быть плохо смотри, но никак не могу найти.

Alexandr
28.06.2018
15:01:12
Добрый день, подскажите пожалуйста по структуре workspace, у меня сейчас так делается структура /Users/alychangin/stolon/src/gitlab.com/alychangin/stolon/ GOPATH= /Users/alychangin/stolon возникает вопрос правильно ли я все делаю, так как если я перенесу проект в другой namespace или github то у мне структуру надо переинициализировать

Google
Alexandr
28.06.2018
15:01:58
и так на каждый проект я воссоздаю структуру

Dmitri
28.06.2018
16:08:53
$gopath/src/github.com/yourGithubName/ считайте своим воркспейсом, и все будет норм

Abdurahmon
28.06.2018
18:01:39
я́ч,ы́чxsßxßКню .............г.г.....чч.7.ггнгг.,е,нчн фф р shxsßßчвчвчвсвчву3чввса́ису3сат у а вур 3стсуисастстасччисввсуцвс3свс3иы2чвссикач3чуктквумк5пквуеррет5ни́ррё556н

Ivan
28.06.2018
18:16:56
Похоже кошка на клавиатуру лягла

Nikita
28.06.2018
18:17:04
бывает такое

Kaspar
28.06.2018
18:21:28
sha666

m
28.06.2018
18:22:06
Вечер добрый. Как бы вот эти функции для портировки объединить? type byWeight []UserProperty func (b byWeight) Len() int { return len(b) } func (b byWeight) Swap(i, j int) { b[i], b[j] = b[j], b[i] } func (b byWeight) Less(i, j int) bool { return b[i].Weight < b[j].Weight } type byWeight2 []ClanProperty func (b byWeight2) Len() int { return len(b) } func (b byWeight2) Swap(i, j int) { b[i], b[j] = b[j], b[i] } func (b byWeight2) Less(i, j int) bool { return b[i].Weight < b[j].Weight } .... sort.Sort(byWeight(topUsers)) sort.Sort(byWeight2(topClans)) хочется просто sort.Sort(byWeight(topUsers)) и sort.Sort(byWeight(topClans)) без дублирования.

Александр
28.06.2018
18:23:19
может интерфейс?

m
28.06.2018
18:23:32
может интерфейс?
а написать то как? Интерфейс по теории тут как раз подходит. Но не могу придумать, как его тут прицепить.

m
28.06.2018
18:30:20
type UserProperty struct { ID id.ID Weight uint64 // user.TotalWeight Ticks uint64 // user.TotalTicks (Time Played|Time Spent Playing) Date int64 // дата изменения свойств. результат time.Now().Unix() Name string // имя юзера для рейтинга Clan string // клан юзера для рейтинга SkinUrl string // ссылка на скин юзера с картинкой для отдачи в браузер } type ClanProperty struct { Clan string // название клана для рейтинга Members []string // количество участников Members []string // количество участников Weight uint64 // сумма user.TotalWeight участников Ticks uint64 // сумма user.TotalTicks участников }

Александр
28.06.2018
18:31:19
а тфу

вообще можно проще

у вас же сортировки одинаковые?

m
28.06.2018
18:32:24
одинаковые в том плане, что по одному полю.

Александр
28.06.2018
18:32:28
механизмы в смысле

m
28.06.2018
18:33:17
тип поля одинаковый

Google
m
28.06.2018
18:33:22
название тоже

Александр
28.06.2018
18:46:13
тип поля одинаковый
https://play.golang.org/p/bJzt7qqArXq

вообще надо будить вия по таким вопросам ? я еще не сеньор

m
28.06.2018
18:48:00
спасибо. а то я затупи, как вынести свойство в интрфейс... Второй раз такая проблема с логикой в голове.

Александр
28.06.2018
18:48:16
ну я не уверен что решение перфект

можно спросить @onokonem

m
28.06.2018
19:47:47
https://play.golang.org/p/bJzt7qqArXq
начал переделывать, оказалось, что дополнительного кода выходит ещё больше, чем с копипастой. И внутри выходят не два массива []UserProperty и []ClanProperty , а массивы из ссылок на элементы типа UserProperty или ClanProperty.

короче, проще и быстрее будет работать копипаста.

Roman
28.06.2018
22:25:59
http: Accept error: accept tcp [::]:8081: accept4: too many open files; retrying in 1s что это может означать?

Vadim
28.06.2018
22:28:57
незакрытые соединения?

Roman
28.06.2018
22:29:47
незакрытые соединения?
в смысле? запускаю 10k соединений и херачу запросов что есть дури для выявления максимально достижимого rps, но вот почему то он не хочет работать..

Vladislav
28.06.2018
22:30:36
лимиты увеличь

Roman
28.06.2018
22:32:20
лимиты увеличь
подробнее пожалуйста) о лимите file descriptor'ов идёт речь?

Vladislav
28.06.2018
22:32:42
ага

Roman
28.06.2018
22:33:02
можно сразу ссылку на подходящую статейку?

Vladislav
28.06.2018
22:34:52
нет под рукой, первая ссылка будет по max open files linux

Roman
28.06.2018
22:35:41
лимиты увеличь
cat /proc/sys/fs/file-max у меня выдаёт 6551728 однако уже при 3к конкурентных клиентах сервер начинает выдавать выше указанную ошибку

Admin
ERROR: S client not available

Google
Roman
28.06.2018
22:52:39
Roman
28.06.2018
22:53:53
всмсл?
Есть общесистемный лимит и то что для каждого юзера задается

per user не может быть больше file-max

Roman
28.06.2018
22:57:57
да, вот сейчас пробую: https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

да, вроде как разрешилась ситуация, мерси

Roman
29.06.2018
00:36:58
прогнал бенчмарк webwire-go: concurrent clients: 10.000 payload: 1-64 KiB requests performed: 5.919.046 timeout rate: 0.00% sent: 183.44 GiB received: 183.44 GiB throughput: 313.07 MiB/s reqs per second: 9.865 average latency: 1 millisecond i7 3930K (12 threads @ 3.8 Ghz) 64 GB DDR3 1833 учитывая, что на этой-же машине был запущен и сервер и бенчмарк. проверялся чисто I/O, т.е. получаем запрос, секунду спим и отправляет содержимое обратно в качестве ответа.

с 10к клиентами и 3 параллельными запросами с каждого достигаются до 437.61 MiB/s throughput и 13768 rps обрабатывая 8,27 миллионов запросов за 10 минут, правда latency поднимается до 1 секунды

ещё раз: результаты могут быть выше если запускать бенч и сервер на раздельных машинах

как вы лично считаете? можно ли результат назвать хорошим?

m
29.06.2018
08:34:53
Kaspar
29.06.2018
08:37:05
Или github.com/julienschmidt/httprouter

m
29.06.2018
08:44:49
Roman
29.06.2018
08:45:57
не понял проблемы.
как я понимаю, одна и та же строка хранится в обоих структурах. зачем?

m
29.06.2018
08:46:45
Это элементы массивов, в которых хранятся рейтинги в игре. клан - строка 5 рун.

Никита
29.06.2018
08:47:35
Может кто скинуть ресурс с информацией о модели памяти в го? Наподобие такого https://www.geeksforgeeks.org/memory-layout-of-c-program/

m
29.06.2018
08:47:56
рейтинг кланов генерится из рейтинга юзеров агрегированием по кланам.

Roman
29.06.2018
08:49:14
с 10к клиентами и 3 параллельными запросами с каждого достигаются до 437.61 MiB/s throughput и 13768 rps обрабатывая 8,27 миллионов запросов за 10 минут, правда latency поднимается до 1 секунды
можно с чем-то посравнивать. >606858.713738 rps для ipc между парой pypy процессов через posixmq >206krps дает fasthttp с простейшим hello world. все это в 1 поток

Google
Roman
29.06.2018
08:51:00
не понял проблемы.
можно это положить в map [int32]string и хранить там.

m
29.06.2018
08:54:05
можно это положить в map [int32]string и хранить там.
это мэп наоборот. у меня используется topClansMap := make(map[string]ClanProperty, 0) для агрегирования и topClans := make([]ClanProperty, 0) для сортировки и последующего хранения.

Daniel
29.06.2018
09:10:03
А?!

m
29.06.2018
09:37:06
А?!
https://t.me/proGO/153731

Анастасия
29.06.2018
13:07:15


Джон
29.06.2018
13:09:36
а ты задрот пзазхзазащщш

Nikita
29.06.2018
13:10:24
была бы красивой, если бы не HR

Страница 1538 из 1674