Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
|
Мелкий пишет:Какая взаимосвязь между количеством линков (общеупотребительный смысл - количество открытых соединений) и вложенностью циклов? не
соединение возвращает mysql_connect(), и оно теоретически будет 1
вопрос именно в количестве открытых рессурсов(дескриптор) возвращаемых mysql_query() при запросе на выборку
так вот вопрос в том сколько одновременно используемых дескрипторов можно поддерживать?
(Добавление)
небольшое тестирование:
на локальной машине, при 1 пользаке под виндой)
вот код
PHP:
скопировать код в буфер обмена
$idList = array(38247 , 38248 , 38249 , 38250 ); for($i=0; $i<1500;$i++){ // запрос из таблицы goods, полей id, title; по списку id $itrList[] = CDB ::rowsIterator('goods', $listReqId, array('id', 'title')); } echo "<pre>"; foreach($itrList[50] as $data){ }
в деструкторе итератора стоит вывод для мониторинга выполнения
так вот результ: первые 1483 дескриптора открваются относительно быстро, остальные с тормозами, но так же открываются, и взятый случайным образом дескриптор так же отработал, а вот закрываются дескрипторы медленно, скрипт работает только 60 сек, и закрыться успели только первые 56 штук, точнее инфа об этом попала в вывод.
(Добавление)
в общем ничего не изменил, кроме места вызова диструктора, еще при выполнении
код выполняется +- 1 секунду, при 2 одновременных запросах к серверу (2 страницы в браузере)
(Добавление)
увеличил до 10 000
время создания и последующее закрытие активных дескрипторов колеблится от 10 до 15 секунд, при 5 запросах(страницах браузера)
дык где же эти разумные пределы?
|