Автор Тема: Мультипроцессовый LWP  (Прочитано 6800 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Elenka

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://soccercleats.blogs.sapo.pt
Мультипроцессовый LWP
« : 07 Апреля 2005, 17:28:28 »
Допустим  имеется...

use LWP::UserAgent;
 
my $ua = LWP::UserAgent->new;
$ua->timeout(1);

open(URLS, "urls.txt");
while(my $read = )
{
   chop($read);
   get($read);
}
close(URLS);

sub get(){

my $response = $ua->get($_[0]);
if ($response->is_success) {
     return $response->content;
}
else {
     return 0;
}

}

В общем читаем файл с URLами и берем каждый из них.
Вопрос: как запустить это дело в несколько процессов, выделив под это определенное кол-во памяти...? То есть в одно время будет GETиться несколько урлов сразу.

Оффлайн 2NetFly

  • Модератор
  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 144
  • +0/-0
  • 0
    • Просмотр профиля
    • http://feotast.net
Мультипроцессовый LWP
« Ответ #1 : 07 Апреля 2005, 18:31:29 »
LWP::Parallel
There Is More Than One Way To Do It (c)

Оффлайн Elenka

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://soccercleats.blogs.sapo.pt
Мультипроцессовый LWP
« Ответ #2 : 07 Апреля 2005, 20:09:18 »
а чем отличается заупск по LWP::Parallel и пустить скрипт в несколько потоков?

Я просто по LWP::Parallel запускаю, допустим 10 одновременно, очень долго висит, все равно что по порядку вызывать 10 раз.

Оффлайн _apple_

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мультипроцессовый LWP
« Ответ #3 : 08 Апреля 2005, 01:11:11 »
там есть узкое место системный коннект, я вообще не понимаю, что это за параллельный процесс, который не создает свои экземпляры.

я проверял на 3.500 хостах. Перл начинает разочаровывать!

Оффлайн 2NetFly

  • Модератор
  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 144
  • +0/-0
  • 0
    • Просмотр профиля
    • http://feotast.net
Мультипроцессовый LWP
« Ответ #4 : 08 Апреля 2005, 09:34:28 »
_apple_, есть такая штука хитрая, называется select.

У меня был скрипт на перле - префорк, однонаправленный канал и sysv IPC. На 90 процессах делал 3к запросов. Если не устраивают такие скорости - пиши на Си.
There Is More Than One Way To Do It (c)

Оффлайн _apple_

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мультипроцессовый LWP
« Ответ #5 : 08 Апреля 2005, 17:53:35 »
хммм, а что за запросы? запросы запросам рознь.  Если можно покажите кусочек кода. может и хост один был?

Знаете историю про секретаршу, которая делала 3000 знаков в минуту?

Оффлайн 2NetFly

  • Модератор
  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 144
  • +0/-0
  • 0
    • Просмотр профиля
    • http://feotast.net
Мультипроцессовый LWP
« Ответ #6 : 08 Апреля 2005, 22:03:14 »
Странный какой-то вопрос. Я понимаю, если бы спросили про ширину канала, используемую ОС, количество оперативной памяти, позволяющее создать 90 процессов. А на вопрос "а что за запросы" ответ простой: "обычные get / post запросы".

Кстати, какая разница, запросы на один сервер или на разные? ;=)
There Is More Than One Way To Do It (c)

Оффлайн Slike

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мультипроцессовый LWP
« Ответ #7 : 09 Апреля 2005, 00:25:00 »
так сколько оперативы и какой канал ?
у меня на сервере 1Гиг и 100мбит, хватит ?

Оффлайн Slike

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мультипроцессовый LWP
« Ответ #8 : 09 Апреля 2005, 00:26:45 »
ну и можно на примерчик глянуть ?

спасибо ;)

Оффлайн 2NetFly

  • Модератор
  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 144
  • +0/-0
  • 0
    • Просмотр профиля
    • http://feotast.net
Мультипроцессовый LWP
« Ответ #9 : 09 Апреля 2005, 09:26:54 »
Читаем про prefork, каналы и sysV IPC =)
There Is More Than One Way To Do It (c)

Оффлайн Lastiik

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Мультипроцессовый LWP
« Ответ #10 : 28 Апреля 2005, 01:15:38 »
какой сервер под эти цели посоветуете?
-канал
-рам

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28