
Vladislav
23.12.2018
11:01:46
Спасиб

Roman
23.12.2018
11:02:14

Vladislav
23.12.2018
11:05:01
Щас попробую

Aragaer
23.12.2018
11:15:30
какая же жесть сегодняшняя йолка

Google

Aragaer
23.12.2018
11:15:35
особенно если тупой как я

Tishka17
23.12.2018
11:27:08

Roman
23.12.2018
11:28:20
Не слышал про такой. Но vundle - точно не лучший вариант.

Tishka17
23.12.2018
11:44:37
> apt-vim aims to serve as a fully-automated, cross-platform plugin management tool for Vim including dependency installation, using Pathogen at its core to load plugins. Plugins and their dependencies can be installed, removed, and updated using this one tool.

Denis
23.12.2018
11:50:53

Lazoreth
23.12.2018
11:51:08
Зачем?
Микросервисы, все дела. Хочу скалироватся

Denis
23.12.2018
11:51:21
Запусти несколько воркеров

Lazoreth
23.12.2018
11:51:36
Мне надо по дефолту запускать 5-8

Denis
23.12.2018
11:51:55
Ну и запускай. Что у тебя там, кубер?

Lazoreth
23.12.2018
11:52:18
docker-compose :D

r9032504423
23.12.2018
11:54:44

Denis
23.12.2018
11:54:47
Наверняка в нем тоже можно несколько инстансов контейнера запустить

Lazoreth
23.12.2018
11:55:48
--scale
Можно. Только вот у нас запуск вручную зачастую происходит. Если кто-то забудет проскалировать - вся система ляжет изза того что 1 воркер всего

Google

r9032504423
23.12.2018
11:56:07

Denis
23.12.2018
11:56:09
Наверняка это можно в конфиг прописать

r9032504423
23.12.2018
11:56:24

Denis
23.12.2018
11:56:49
Вообще compose не для этого предназначен
https://stackoverflow.com/questions/39663096/docker-compose-creating-multiple-instances-for-the-same-image

Lazoreth
23.12.2018
11:57:17
Вообще через треды уже разобрался как запускать
for i in range(options.default_worker_pool):
service = UserService()
thread = threading.Thread(target=service.start)
thread.start()
Вот и решение

Denis
23.12.2018
11:57:50
Только это бесполезно

Lazoreth
23.12.2018
11:58:02
могу результаты тестов пруфнуть, если интересно

r9032504423
23.12.2018
11:58:14
бесполезно)))

Denis
23.12.2018
11:58:17
В чем смысл?
i/o асинк и так умеет эффективно делать


Lazoreth
23.12.2018
11:59:40
Держите пруфы
20 тредов
All virtual users finished
Summary report @ 18:50:39(+0700) 2018-12-23
Scenarios launched: 140
Scenarios completed: 140
Requests completed: 420
RPS sent: 19.25
Request latency:
min: 1.8
max: 4696.2
median: 6.5
p95: 2329.1
p99: 3666.2
Scenario counts:
0: 140 (100%)
Codes:
200: 280
400: 140
Разные лупы для процессов
All virtual users finished
Summary report @ 17:51:07(+0700) 2018-12-23
Scenarios launched: 140
Scenarios completed: 140
Requests completed: 420
RPS sent: 15.6
Request latency:
min: 3.3
max: 25869.8
median: 269.9
p95: 22574.9
p99: 25485.4
Scenario counts:
0: 140 (100%)
Codes:
200: 280
400: 20
403: 120
Соло воркер
All virtual users finished
Summary report @ 17:55:06(+0700) 2018-12-23
Scenarios launched: 140
Scenarios completed: 140
Requests completed: 420
RPS sent: 15.32
Request latency:
min: 1.5
max: 26503.3
median: 274.4
p95: 23082.7
p99: 25934.9
Scenario counts:
0: 140 (100%)
Codes:
200: 280
400: 20
403: 120
15 инстансов запущенных вручную
All virtual users finished
Summary report @ 18:35:24(+0700) 2018-12-23
Scenarios launched: 140
Scenarios completed: 140
Requests completed: 420
RPS sent: 19.26
Request latency:
min: 1.8
max: 3104.9
median: 4.5
p95: 1529.6
p99: 2855.2
Scenario counts:
0: 140 (100%)
Codes:
200: 280
400: 140


Denis
23.12.2018
12:00:46
Последний вариант быстрее всего

Lazoreth
23.12.2018
12:01:11
Да, быстрее. Можно дефолт пул выставить на 10, и спавнить инстансы по необходимости

Denis
23.12.2018
12:01:11

Lazoreth
23.12.2018
12:01:28

Denis
23.12.2018
12:01:53
Ну лол, если бд с одним клиентом умеет работать, воркеры не помогут

Google

Denis
23.12.2018
12:02:17
Субд какая?

Lazoreth
23.12.2018
12:02:26
postgresql, у нас движок sqlalchemy

Denis
23.12.2018
12:02:57
То есть вы в асинке делаете запросы к базе синхронно? Молодцы, однако

Lazoreth
23.12.2018
12:03:09
Да и плюс пихать несколько тасков в один воркер в одно время - не самая лучшая идея, проверяли уже. Если воркер умрёт аскнув несколько сообщений из очереди - клиент будет ждать
Это легаси система, щито поделать
Раньше нагрузки небыло - она справлялась. Щас нагрузка появилась - мессаджинг стал на 80rps падать
Мессаджинг переписал. Если успею ещё и бд перегоню на какой-нибудь модный aiopg

r9032504423
23.12.2018
12:04:43
пиздец...

Lazoreth
23.12.2018
12:06:53
Там достаточно большой обьём кода, мы с моделями работаем. А насколько я читал - научить алхимию работать асинхронно это дохлый номер

Denis
23.12.2018
12:07:14
Зачем там вообще асинхронный код тогда?

Lazoreth
23.12.2018
12:07:25
Задел на будущее

Denis
23.12.2018
12:07:51
Гениально

Lazoreth
23.12.2018
12:08:07
Если время будет, следующий этап будет как раз смена движка бд, а потом и веб-сервера на какой-нибудь саник

Aragaer
23.12.2018
12:16:55
так, кто решил йолку. Рассказывайте, как решали

Lazoreth
23.12.2018
12:17:34
Блин. А как вообще делается автоскалирование? Нужно писать какой-то свой визор который будет что-то вроде мониторинга тредов делать и стартовать\вырубать треды по необходимости?

Andrey
23.12.2018
12:18:33

Denis
23.12.2018
12:18:35
Это называется кубер

Aragaer
23.12.2018
12:20:00
чорд, значит я не один такой

Andrey
23.12.2018
12:20:04
Не очень спортивно, но я к концу второго часа уже не понимал, с какого конца к задаче подойти

Aragaer
23.12.2018
12:20:05
я пытался решить через графы

Google

Aragaer
23.12.2018
12:20:18
ну я вот только сейчас - то есть на седьмом часу это сделал

Andrey
23.12.2018
12:20:27
Ну кроме варианта с солвером, но у меня его под рукой не было

Aragaer
23.12.2018
12:22:08
про солвер я не понял вообще что делать

Admin
ERROR: S client not available

Aragaer
23.12.2018
12:22:29
а так - я сделал через nx граф всех пересекающихся сфер, нашел максимальную клику
а вот дальше затык, потому что даже тупо пересечение двух сфер это овердофига
нашел в клике пары, которые имеют оверлап в виде плоскости. Нашел две такие плоскости. А дальше уже мозг сварился

Andrey
23.12.2018
12:23:18

Aragaer
23.12.2018
12:23:22
по идее пересечь эти две плоскости - останется прямая и тогда потом все остальные сферы с этим можно легко пересечь
вот в моем случае я свел все к системе двух или четырех уравнений, но уже и тут не осилил
а вот бинарный поиск это круто, я не догадался

Tishka17
23.12.2018
12:28:04
Похоже, я пропускаю кучу интересного

Aragaer
23.12.2018
12:45:20
в том решении, которое я на реддите нашел, похоже ошибка в алгоритме. Незначительная, но все же 8)
пришлось разобраться, а не тупо в лоб переписывать

?? Eugene
23.12.2018
12:51:22

Yasin
23.12.2018
12:53:12
Привет всем
Кто-нибудь знает почему после загрузки csvfile в sql server, в некоторых местах цифры не сходятся с исходными данными?
import pyodbc
import csv
con=pyodbc.connect("DRIVER={SQL Server};server=localhost;database=Operations")
cur=con.cursor()
m=0
path=r"C:\Users\Yasin-PC\Desktop\Created.csv"
with open(path,'r') as f:
a = csv.reader(f, delimiter=',')
for row in a:
m+=1
if m>200000:
break
cur.execute("INSERT INTO [Operations].[dbo].[Depth] VALUES ("+row[0]+")")
con.commit()
cur.close()
con.close()

Google

Yasin
23.12.2018
12:54:25

Проксимов
23.12.2018
12:58:17

Oleg
23.12.2018
13:04:56
народ, есть ли способ пускать проект из venv под вендой из linux windows subsystem? виндовый питон замучал, чере pip часто либы с ошибками при установке, под линухом все норм
хорошо бы научить работать виндовый pycharm с venv в из под сабсистем линуха

Tishka17
23.12.2018
13:17:04
Какой интеоесный синтаксис. А что такое select top 30000 [depth]. Это типа как ордер + лимит?

Yasin
23.12.2018
13:18:07

Tishka17
23.12.2018
13:19:52
Это я вижу, да
Просто с ms sql работал мало

Yasin
23.12.2018
13:22:06
Мне рекомендовали не работать с csv и txt и xlxs файлами и перейти в ms sql!
Но, ms sql портит исходные данные почему-то

Проксимов
23.12.2018
13:22:57

Yasin
23.12.2018
13:23:29

Проксимов
23.12.2018
13:23:56
А какие должны быть?

Yasin
23.12.2018
13:26:48
В csv файл лежит 800 000 данных(от датчика)
Их когда перевожу в sql server половина данных преобразуются в какие-то скачки либо в нуль либо в 2 раза больше