Надо решение для ускорение в работе в многопотоке

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113
Есть шаблон, работаю в многопотоке 1500-2000 потоков, в шаблоне есть список юзерагентов 500 мегабайт весит - беру случайную строку, а так же список ящиков - беру с удалением строку из большого списка - тоже порядка 500 мегабайт. Так вот, в многопотоке на этих двух действиях идут огромные тупняки. Что было сделано
- разбивание одного шаблона на 50 шаблонов и 50 файлов (чтобы не с одним файлом работал, а каждые 30 потоков только со своими файлами)
- перенос в бд - innodb с построчной блокировкой
- перенос в ramdisk
ну вроде еще какие-то были попытки, типа работа в шарпе чисто с файлами и т.д. - самое действенное было - перенос в ram disk, но скорость улучшилась в раза три, не более. Так вот, надо действенное решение для этой задачи. Вроде можно в отдельную либу выносить или грузить список в память, но хз на сколько это будет действенно.
Контакты тут или в личку пишите.
 

sanya

Client
Регистрация
08.09.2015
Сообщения
184
Благодарностей
49
Баллы
28
Вас спасет переход на базу данных
 
  • Спасибо
Реакции: melutsk

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113

sanya

Client
Регистрация
08.09.2015
Сообщения
184
Благодарностей
49
Баллы
28
База sql lite или mysql?
 
  • Спасибо
Реакции: melutsk

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113

sanya

Client
Регистрация
08.09.2015
Сообщения
184
Благодарностей
49
Баллы
28
Я всегда этим пользуюсь MySQL :: Download MySQL Installer
MySQL Installer 5.7.28

, но лучше ли это чем опенсервер хз...
 
  • Спасибо
Реакции: melutsk

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113

Manfred

Client
Регистрация
06.08.2019
Сообщения
37
Благодарностей
17
Баллы
8
есть список юзерагентов 500 мегабайт весит - беру случайную строку, а так же список ящиков - беру с удалением строку из большого списка - тоже порядка 500 мегабайт. Так вот, в многопотоке на этих двух действиях идут огромные тупняки.
Есть пара идей.

Если тупит работа с базой, то сразу вопросы про наличие индексов и как написаны сами запросы.

Если тупит код, то вопрос по используемым классам.
Прохожу сейчас курс по C#, так там ментор приводил пример оптимизации: На несколько порядков ускорили работу когда вместо списков стали использовать массивы.

Можешь в личку скинуть кусок этого кода? Интересно посмотреть.
 
Последнее редактирование:

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113
Есть пара идей.

Если тупит работа с базой, то сразу вопросы про наличие индексов и как написаны сами запросы.

Если тупит код, то вопрос по используемым классам.
Прохожу сейчас курс по C#, так там ментор приводил пример оптимизации: На несколько порядков ускорили работу когда вместо списков стали использовать массивы.

Можешь в личку скинуть кусок этого кода? Интересно посмотреть.
тут коды https://zennolab.com/discussion/threads/gde-mozhno-optimizirovat-rabotu-v-mnogopotoke-s-bd-i-ili-sam-mysql-server.68680/
индексы есть
 

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
регулярки в шабе есть?
 

melutsk

Client
Регистрация
03.08.2016
Сообщения
1 345
Благодарностей
1 256
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)