|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Доброе время суток Есть такой задача На одном скрипте последовательно выполняется несколько запросов и сформулируются результаты Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Можно как то параллельно выполнят эти запросы ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 09:44 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Можно попробовать fork() + коннекты от разных пользователей. Конечно, если используемые в двух других запросах таблицы не будут по какой-то причине заблокированы первым запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 11:43 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
vkle, а зачем от разных пользователей? Еще pthread можно использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 12:58 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
SBS Soft, Точно нельзя объединить все запросы в один, скажем, через union, если даже бы пришлось нарастить из-за этого количество колонок? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 13:09 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Hettvkle, а зачем от разных пользователей?Может и ошибаюсь, до сих пор считал, что мускуль последовательно выполняет запросы одного пользователя. Т.е. в каждый момент времени лишь один запрос активен. Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 20:04 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
vkleHettvkle, а зачем от разных пользователей?Может и ошибаюсь, до сих пор считал, что мускуль последовательно выполняет запросы одного пользователя. Т.е. в каждый момент времени лишь один запрос активен. Не? Точно нет. Как правило одно приложение работает из под одного пользователя, у нас некоторые аналитические запросы часами "висят". Иначе бы они все лочили. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 20:39 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Hettу нас некоторые аналитические запросы часами "висят". Иначе бы они все лочили.Вероятно, этот момент есть смысл обсудить или уточнить отдельно. У меня были до недавнего времени долгоиграйки. И, именно из-за того, что они "всё лочили", пришлось перетащить запросы соответствующего модуля на исполнение от отдельного мускуль-пользователя. Возможно, имеет значение движок таблиц, структура запросов, что-то ещё. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2018, 21:18 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Я имел виду что, $sql1 выполнялся на процессоре #1, $sql2 на процессоре #2, $sql3 на процессоре #3 Можно так организовать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 06:33 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
mysql сам не разберется на каких процессорах ему выполнять? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 09:37 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
SBS SoftЯ имел виду что, $sql1 выполнялся на процессоре #1, $sql2 на процессоре #2, $sql3 на процессоре #3Для гарантированного такого разделения придется ставить три отдельных железячных сервера под MySQL. Можно однопроцессорных. Ну и три коннекта, соответственно. Каждый запрос отправлять на свой сервер. А на одном сервере мускуль и ОС без Вас будут решать, где какой запрос исполнять. Вам оно зачем надо? Попробуйте подробно описать исходную задачу, а не свой метод её решения. Ну и поясните, чем не устраивает последовательное выполнение запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 10:01 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
тссс... только не говорите тсу, что запрос может повыполнятся и на первом и на втором и даже на всех ядрах ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 11:21 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Он не о ядрах говорил, он об отдельных процессорах говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:09 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Осталось уточнить понятие "процессор", в лицензиях майкрософта и оракла под процессором подразумевается ядро. Если речь идет о действительно разных сокетах, то каким образом numa машина будет работать вторым процессором с памятью, адресованным для первого? (она работать то конечно будет, только вам это надо?) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2018, 12:13 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
vkle.... Попробуйте подробно описать исходную задачу, а не свой метод её решения. Ну и поясните, чем не устраивает последовательное выполнение запросов. Для формирования главной страницы web приложении выполняется несколько запросов последовательно По точнее на главном странице формируется несколько диаграмм по результатам запросов img И это требует где то 25-30 секунд (иногда по больше) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 10:20 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
Вам не нравится, что запросы один-за-другим выполняются слишком долго, так понимаю. Тогда другой вопрос, про объемы исходных данных для выборки. Из каких источников делается выборка - из исходников в сотни тысяч или миллионы строк или из агрегированных, содержащих более-менее подготовленные статистические данные значительно меньших объемов? На практике первый способ обычно ни к чему хорошему (кроме хороших тормозов) не ведет. В этом смысле гораздо выгоднее сделать одну или несколько дополнительных таблиц на каждую монструозную в контексте запрашиваемых данных. Как их заполнять данными - это уже отдельная песня. Ну а если исходные данные для выборки агрегированы и имеют вменяемые объемы, а тормоза, тем не менее, имеют место, тогда есть смысл обратить внимание на индексы таблиц и планы запросов. PS: Картинка по ссылке не открывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 12:50 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
SBS SoftПо точнее на главном странице формируется несколько диаграмм по результатам запросовЧто такое "диаграмма" в данном контексте? Если это отдельные изображения, то они уже запрашиваются параллельно. Если это одно изображение, которое можно разделить на независимые части, то нужно разделить и они будут запрашиваться параллельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 12:55 |
|
Параллельное выполнение запросов
|
|||
---|---|---|---|
#18+
miksoftЕсли это отдельные изображения, то они уже запрашиваются параллельно.Пожалуй, стоит добавить немного. В этом варианте, если в серверных скриптах используется пхпшная сессия, то она должна закрыта, как минимум, на время исполнения долгоиграющей части скрипта. Иначе механизм сессий PHP выстроит запросы от веб-клиента в очередь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2018, 19:53 |
|
|
start [/forum/topic.php?fid=23&msg=39643573&tid=1460278]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 472ms |
0 / 0 |