Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Таймаут на чтение

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Viraban009
Отправлено: 01 Марта, 2011 - 13:23:30
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Север MySQL
Здравствуйте, есть проблема, при поиске иногда запрос "зависает" собирая при этом все запросы в таблице до события "too many coonections".

Можно как то ограничить время, скажем если через 15 секунд сервер не обработал запрос, прекратить его?

PS просьба не рекомендовать оптимизацию запросов, в данный момент интересует именно таймауты.

(Отредактировано автором: 02 Марта, 2011 - 12:57:36)

 
 Top
ALEN
Отправлено: 01 Марта, 2011 - 19:42:54
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Можно вообще убить работу скрипта set_time_limit
 
 Top
Viraban009
Отправлено: 02 Марта, 2011 - 12:40:54
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




ALEN пишет:
Можно вообще убить работу скрипта set_time_limit

Это уже думается как один из вариантов. Но подводный камень именно в mysql, все перерыл, но подобного нечего нет (есть только лимиты на момент коннекта).

Реально ли такое - создать отдельный процесс на подключение и на родительском отследить время? Или это уже писать на высоких языках?
 
 Top
ALEN
Отправлено: 02 Марта, 2011 - 13:10:09
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Viraban009
Почитай еще про MYSQL_OPT_CONNECT_TIMEOUT
 
 Top
Viraban009
Отправлено: 02 Марта, 2011 - 13:12:00
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Насчет set_time_limit():
Примечание: функция set_time_limit() и директива конфигурации max_execution_time влияют только на время выполнения самого скрипта.Любое время, затраченное на деятельность вне выполнения скрипта, такую как системные вызовы с помощью system(), функция sleep(), запросы к БД etc. не включается при подсчёте максимального времени работы скрипта.
 
 Top
JustUserR
Отправлено: 02 Марта, 2011 - 16:08:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viraban009 пишет:
Собирая при этом все запросы в таблице до события "too many coonections"
Возможной причиной осуществления возникновения предполагаемой ошибки SQL-сервера, является использование постоянных соединений на стороне сервера приложений, при условии обеспечения создания выделенного процесса обработки пользовательского запроса в соответствии с оригинальной спецификацией CGI-интерфейса


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viraban009
Отправлено: 02 Марта, 2011 - 16:13:29
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




ALEN пишет:
Почитай еще про MYSQL_OPT_CONNECT_TIMEOUT


Это таймаут на установление соединения.
 
 Top
Viraban009
Отправлено: 03 Марта, 2011 - 01:34:35
Post Id


Гость


Покинул форум
Сообщений всего: 83
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




JustUserR
Не понял мысль. Постоянных соединение mysql_pconnect() нет.
Вообще выглядит так что при использование поиска LIKE, сервер долго выполняет поиск в той таблице, которая сильно востребована. Иногда это быстро 0,5 сек, иногда до минуты и более. Я так понимаю проблема "дележки" кэша. Но странно для меня то, что при использование поиска LIKE, блокирует таблица на чтение (в MyISAM), и происходит эффект сбора коннектов.
 
 Top
EuGen Администратор
Отправлено: 04 Марта, 2011 - 10:00:39
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




cron -> SHOW FULL PROCESSLIST -> смотрим на те запросы, время исполнения которых слишком велико (колонка time в результате выборки) -> KILL запроса (id получен на предыдущем шаге)
Повторять с нужной периодичностью в cron


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB