13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 357
|
|
1 | |
Много запросов - общий рабочий ресурс10.02.2020, 12:36. Показов 595. Ответов 6
Метки нет (Все метки)
Привет, форум.
Имеется у меня контроллер. Хочу обрабатывать поступающие в него запросы последовательно друг за другом, т.к. параллельно не всегда хватает ресурсов (конкретно, таймаутит БД) Для этого появилась идея, создать некую переменную-лист из очереди поступивших запросов. При поступлении запроса, в список добавляется новые данные из запроса, при выполнении действий запроса, он удаляется из списка и очередь переходит на выполнение следующего. Однако, возникает проблема. Если просто сделать переменную общедоступной и постоянно к ней обращаться, велика вероятность death-lock. Вопрос. Как можно грамотно реализовать очередь?
0
|
10.02.2020, 12:36 | |
Ответы с готовыми решениями:
6
Общий ресурс Общий сетевой ресурс Как правильно настроить общий ресурс. Общий ресурс для нескольких форм |
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
10.02.2020, 14:32 | 2 |
Следующий вопрос. На поркуа?
Если база данных ложится от запросов, то тут 2 варианта: такие запросы или такая база данных. Какая очередь? Это тоже самое, что дать бойцу грабли вместо автомата и послать в бой. Сейчас даже обычный домашний компьютер потянет сервис, если не надо отдавать кучу медиа-контента
0
|
1517 / 908 / 328
Регистрация: 17.05.2015
Сообщений: 3,430
|
|
10.02.2020, 17:05 | 3 |
Оптимизируйте работу с бд.
-Пересмотрите запросы -Все рассчетные значения закешируйте -Денормализируйте бд в тех местах, где это нужно Создавать очередь в контроллере - это бред
0
|
13 / 15 / 5
Регистрация: 01.05.2013
Сообщений: 357
|
|
11.02.2020, 02:21 [ТС] | 4 |
yurickas, Рядовой, дело в том что у меня реализовано API для стороннего сервиса. И часто бывает что приходит штук 100 запросов подряд. Сам бэк выдерживает, а вот бд уже нет. Для этого и нужна очередь.
+ вообще хочу понять как делать органичение.
0
|
1150 / 858 / 263
Регистрация: 30.04.2009
Сообщений: 3,598
|
|
11.02.2020, 03:56 | 5 |
Это не решение проблемы. Вместо таймаута БД получите переполнение пула открытых http подключений.
Тут разве что асинхронные запросы c очередью обработки подойдут, но это потребует изменений у клиентов вашего API. Либо возвращать код 503, а клиент пусть повторяет запрос.
0
|
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
|
|
11.02.2020, 06:34 | 6 |
100 запросов в БД это ниачом вообще. Там она на калькуляторе запущена чтоли?
0
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
12.02.2020, 00:23 | 7 |
"Много запросов" - для кого ?
Если для SQL-сервера, то что за сервер, что за "база", каковы запросы ? Можно и одним запросом положить такой сервер как ORACLE, если умеючи Если для Вашего Web-приложения, то "фтопку" такое приложение.
0
|
12.02.2020, 00:23 | |
12.02.2020, 00:23 | |
Помогаю со студенческими работами здесь
7
Cisco Packet Tracer - общий ресурс для всех VLAN PHP + MYSQL = много запросов Слишком много HTTP запросов! Если на сервер идет много запросов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |