Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Как загрузить интернет и комп php?
Новая тема
Ответить
цитата
18/09/08 в 15:46
add
Здравствуйте.
У меня есть
- скрипт, который парсит в большом количестве
- мощный инет (240 мбит/с) и компьютер
- денвер
Вот кусок кода:
Код:
for(...)
{
...
$file_hendel=@fopen($url, "r");
$html = @fread($file_hendel, 5000);
@fclose($file_hendel);
...
}
Но интернет и компьютер скрипт не нагружает. Т.е. я хочу чтобы скрипт нагружал мой инет и компьютер на 90%. Как можно этого добиться?
цитата
18/09/08 в 15:49
ibiz
многозадачностью
цитата
18/09/08 в 15:53
add
ibiz
, это запустить скрипт много раз?
цитата
18/09/08 в 16:01
dDan
240 Мбит
цитата
18/09/08 в 16:13
add
dDan
, да и такие скорости есть! ;)
цитата
18/09/08 в 16:14
add
Так я правильно понял, что нужно просто запустить скрипт много раз?
цитата
18/09/08 в 16:23
Alexs
да а вобше такие выеши делают не на php а на perl на порядо быстрее будет работать
цитата
18/09/08 в 16:30
add
Я бы сделал на perl, если бы его знал...
Сейчас у меня вот так примерно делаются потоки:
Код:
for(...)
{
...
echo "
<iframe src='http://site.ru/potok_generator.php?potok=".$n."' width='210' height='30' scrolling='auto' frameborder='1'> </iframe>
";
...
}
Я его тестил, в ie вообще не изменяется скорость, а в ff она в начале увеличивается, но потом падает и работает очень медленно все равно...
Как можно более правильно это реализовать? Может нужен тег не iframe?
цитата
18/09/08 в 17:53
-=Faraon=-
Может в самом скрипте не предусмотренно одновременное выполнение нескольких копий поэтому что 1 что 20 делают одну и туже работу.
Попробуй запустить в командной строке N копий
Код:
z:/usr/bin/ /lalal/script.php
цитата
18/09/08 в 17:54
_s_[sov]
ibiz писал:
многозадачностью
скорее многопоточность
цитата
18/09/08 в 18:24
add
-=Faraon=-
,
z:/usr/bin/ z:/home/site.ru/www/potok_generator.php
Запустил, открылась папка z:/usr/bin/ и все
цитата
18/09/08 в 18:35
-=Faraon=-
ну уставший я мешки всю ночь грузил
z:\usr\bin\php z:\home\site.ru\www\potok_generator.php
догадаться надо только!
поправил!
Последний раз редактировалось: -=Faraon=- (
18/09/08 в 20:13
), всего редактировалось 2 раз(а)
цитата
18/09/08 в 19:18
add
Просто открылся и закрылся exe...
цитата
18/09/08 в 20:14
Pentarh
расширение пхп pcntl в помощь (хотя работает ли это на виндах?)
или curl_multi
или просто тупо руками запустить штук сто скриптов.
причем тут денвер не знаю. можно и из командной строки пускать.
цитата
18/09/08 в 20:28
-=Faraon=-
Всё там работает
слеши просто не виндовские поставил!
z:\usr\bin\php z:\home\site.ru\www\potok_generator.php
вот рабочий!
pcntl работает!
цитата
18/09/08 в 21:03
add
-=Faraon=-:
У меня загружается exe файл и закрывается сразу.
А что делает эта команда?
Pentarh:
сейчас читаю на счет curl...
цитата
18/09/08 в 21:17
-=Faraon=-
тыб уже стукнул и всё бы давно заработало.
цитата
18/09/08 в 21:24
Pentarh
Конечно писк профессионализма это неблокирующиеся сокеты и циклы select-read/select-write
без всяких там форков
открываешь штук 100 сокетов, ставишь неблокирующий режим и в цикле начинаешь их опрашивать, писать в них запрос, читать по кускам ответ.
на перле вообще пиздато такие финты делать. он для этого больше подходит.
цитата
18/09/08 в 23:49
add
спасибо
-=Faraon=-
и
Pentarh
за помощь!
Сейчас попробую несколько способов
Pentarh
а есть примеры скриптов которые с помощью сокетов работают?
pcntl не пойдет у меня win xp...
цитата
19/09/08 в 01:00
Pentarh
Мои личные примеры на перле. Вот, порылся, нашел кое что.
Я правда сам не знал, что в пхп5 мультиплекс удобней реализован.
http://www.seoblog.com.ua/2007/03/20/multiplexing-in-php/
Но это в любом случае низкоуровневая работа с сокетами. Тебе самому прийдется эмулировать HTTP-взаимодействие. На phpclasses.net можно найти готовые классы для составления HTTP-запроса (хотя хули там составлять) и парсинга ответа.
Короче это намного сложнее чем $var=file('http://domain.com/url.txt');
Новая тема
Ответить
Эта страница в полной версии