Увеличивается время выполнения шаблона в многопотоке

yriy158

Client
Регистрация
10.08.2013
Сообщения
490
Реакции
302
Баллы
63
Здравствуйте!
Возникла проблема с использованием Базы данных
В моей теме http://zennolab.com/discussion/thre...mja-vypolnenija-shablona-v-mnogopotoke.42792/
мне посоветовали для сокращения выполнения шаблона в многопотоке перейти на базы данных.
Покурил форумы, чуток разобрался, настроил БД, таблицы, оформил кубики в зенке. Но опять же столкунлся с той же проблемой: при работе в 10+ потоков зависает процес получения инфы от БД
"Выполнение действия Db Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding."
При трассировании в 1 поток - все делается очень быстро. в 10+ - ничего не делается.
L21jd3oc6ywQgA.jpg


Запрос простой - получить с таблицы 1 рандомное значение:
select * from `TAB1` ORDER BY RAND() LIMIT 1;


Покурил форумы, вроде как такого не должно быть, работать с БД в номре можно в сотни и тысячи поток одновременно.
Что кто может подсказать?
 
max_connections установил побольше (было 120, стало 1000) - не помогло.
Как и thread_concurrency (было 10, стало 512).
 
А БД локальная или удаленная? И что происходит если работать скажем в два-три потока?
 
  • Спасибо
Реакции: yriy158
А БД локальная или удаленная? И что происходит если работать скажем в два-три потока?
БД удаленная, на ВПСке от firstvds
В два-три потока всё ок, вот уже если 10+ то начинает увеличивается время на чтения с БД вплоть до того, что ответ не приходит из-за таймаута.
 
Использование удаленной БД не самое лучшее решение для ускорения работы с данными. Я в своей работе использую БД локально из пакета OpenServer. Устанавливаю на тот же компьютер где установлена ZP. Возможно у Вас установлены ограничение на входящие соединения к БД из вне.
 
Использование удаленной БД не самое лучшее решение для ускорения работы с данными. Я в своей работе использую БД локально из пакета OpenServer. Устанавливаю на тот же компьютер где установлена ZP. Возможно у Вас установлены ограничение на входящие соединения к БД из вне.
Как все сложно(( дело в том, что есть несколько зенок, а база одна. Хотелось что бы был доступ к базе не только с ПК на которой есть база, а и с других ПК. Можно как-то это реализовать? Извиняюсь за нубский вопрос, с ББ вообще не работал раньше.
 
Можно, но надо сначала выяснить почему и на каком кол-ве входящих соединения все сыпется.
 
  • Спасибо
Реакции: yriy158
Можно, но надо сначала выяснить почему и на каком кол-ве входящих соединения все сыпется.
Установил денвер, создал БД, переделал проект под локальную БД - все гуд, затестил 100 потоков - полет супер, время на чтения с БД не увиличивается, и составляет доли секунды.
 
В этом и прелесть локального использования БД. :) Видимо на сервере стоят какие то ограничение на внешние входящие MySQL соединения. Надо смотреть его настройки.
 

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