у меня тестовый бот на PoCoClientHTTP в 1000 сессий CPU загоняет в 99.9%, причем не висит :)<br>но это если KeepAlive не зависнет (часто бывает при работе с Google-поисковиком после 2х часов работы уходит в 99.9 и ничего не происходит)<br>
<br><div class="gmail_quote">11 мая 2008 г. 12:37 пользователь Dmitriy T. &lt;<a href="mailto:403rus@gmail.com">403rus@gmail.com</a>&gt; написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



  
  

<div bgcolor="#ffffff" text="#000000">
Позволю предположить что проблемы могут быть если создатели
вдохновлялись обычной LWP . Потому что LWP это пожалуй наиболее&nbsp;
отвратно сделанная библиотека среди популярных из тех что я видел.
Другое дело что для простых задач эти проблемы могут быть
несущественные(что вобщем и есть с LWP - тупо скачать страницу с
помощью неё можно без проблем, что вобщем и надо 99,99% пользователей,
косяк с хедерами который никто не мог исправить годами(ожет уже
исправили - не знаю), неправильным POST&#39;ом в определённых ситуациях их
не волнуют, так как они с этим просто не сталкиваются).<br>
<br>
Второе: посмотрел по диагонали исходник - если я правильно понял то
сделан LWP::Parallel на селекте, что вобщем нормально если количество
одновременно открытых коннектов не более 1000 (цифра по памяти - может
плюс минус километр оказаться, да и зависит например от операционки).
Если нужно больше коннектов, то надо точно смотреть в сторону C/C++ с
epoll/kqueue. Правда 1000 коннектов (да даже 100-200 если качать с
тормозных сайтов) на хорошем канале я думаю сожрут 100% CPU(одного ядра
если их много) если в LWP::Parallel по этому поводу не
заморачивались... Ну или смотреть как тут советовали на всякие перловые
nonblocking костыли - я в своё время пересмотрел парочку и плюнул, так
как оказалось проще на c++ написать чем бороться с утечками и граблями
в чужих библиотеках. Но может для твоих задач их вполне хватит и грабли
пройдут мимо. К тому же с тех пор их появилось много - может есть уже
нормальное что-нибудь...<br>
<br>
Вобщем посмотри при работе как у тебя жрётся CPU и хватает ли канала.
Если CPU жрётся меньше 15-20% и канала достаточно - то значит чего-то
криво в LWP::Parallel. Если в никсах то можешь ещё извне посмотреть где
затык - профайлером или трейсером каким...<div><div></div><div class="Wj3C7c"><br>
<br>
Михаил Монашёв wrote:
<blockquote type="cite">
  <pre>Здравствуйте, Дмитрий.

А кроме резолвера в нём какие ещё могут быть проблемы? Потому как в
моём случае хостов всего пяток.

DT&gt; Насколько я помню LWP(который обычный - с Parallel не работал, но думаю
DT&gt; там так же) резолвит хосты без учёта таймаута, отсюда такое и 
DT&gt; получается. К тому же если в LWP::Parallel синхронный резолвер и 
DT&gt; нагрузки очень большие, то предлагаю искать сразу другой инструментарий
DT&gt; (возможно лучше вообще на C/C++).

DT&gt; Ещё помню как-то когда писал web-парсер(не помню уже на чём) сдуру
DT&gt; выставил обрабатывать бесконечное число редиректов - а там некоторые
DT&gt; страницы редиректили сами на себя, получилось весело...

  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <pre>LWP::Parallel рабочий модуль?

Таймаут  задаю  секунду. Запихиваю ему 1000 урлов. Через секунду, да и
через  минуту  тоже,  он  всё  ещё  чего-то  там  ждёт,  и не все урлы
обработаны.
      </pre>
    </blockquote>
  </blockquote>
  <pre>--

С уважением,
Михаил Монашёв, SoftSearch.ru
<a href="mailto:postmaster@softsearch.ru" target="_blank">mailto:postmaster@softsearch.ru</a>
ICQ# 166233339
<a href="http://michael.mindmix.ru/" target="_blank">http://michael.mindmix.ru/</a>
Без бэкапа по жизни.

--
Moscow.pm mailing list
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a>
<a href="http://mail.pm.org/mailman/listinfo/moscow-pm" target="_blank">http://mail.pm.org/mailman/listinfo/moscow-pm</a></pre>
</blockquote>
<br>
</div></div></div>

<br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/moscow-pm" target="_blank">http://mail.pm.org/mailman/listinfo/moscow-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>С уважением,<br> Анатолий Шарифулин.