Сервер на 1000 multi-curl потоков

DLag
На сайте с 15.08.2007
Offline
201
#61

Boris A Dolgov, вот когда узнаете что такое интерпретатор PHP и как он работает, тогда и и лезьте в такие темы, а пока что вы только в 4-й раз подтверждаете свой непрофессионализм.

Я не утверждаю что PHP тут хорош, вы где-то это видели?

Я говорю что ваш любимый C++ создает больше проблем чем решает.

Он был хорош 5 лет назад, когда не было ему путевой замены, сейчас все изменилось.

Кстати раз уж вам неймется: PHP не создает таких глупых ошибок, которые обыденны в С++ и являются его бичом повсеместно.

Если бы на С++ писали проекты под Web, то ниодин проект не обошли бы стороной проблемы и ошибки которые бывают в PHP.

В PHP они решаются, т.к. это язык для Web, в С++ нет, т.к. его не используют в такой ипостаси, и в совокупности С++ остается в разы проблемней.

Я повторю свой тезис: не нужно сравнивать разные языки программирования для разных целей, в этом ваша ошибка.

Руководитель датацентра UkrNames (http://ukrnames.com/)
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#62
DLag:
Boris A Dolgov, вот когда узнаете что такое интерпретатор PHP и как он работает, тогда и и лезьте в такие темы, а пока что вы только в 4-й раз подтверждаете свой непрофессионализм.

Я не утверждаю что PHP тут хорош, вы где-то это видели?
Я говорю что ваш любимый C++ создает больше проблем чем решает.
Он был хорош 5 лет назад, когда не было ему путевой замены, сейчас все изменилось.

Кстати раз уж вам неймется: PHP не создает таких глупых ошибок, которые обыденны в С++ и являются его бичом повсеместно.
Если бы на С++ писали проекты под Web, то ниодин проект не обошли бы стороной проблемы и ошибки которые бывают в PHP.
В PHP они решаются, т.к. это язык для Web, в С++ нет, т.к. его не используют в такой ипостаси, и в совокупности С++ остается в разы проблемней.

Я повторю свой тезис: не нужно сравнивать разные языки программирования для разных целей, в этом ваша ошибка.

Советую и Вам узнать что такое байт-код. Для php есть кеширователи байт-кода, но сам php никак не записывается в виде байт-кодов.

Не Вы писали?

Boris A Dolgov, именно на труязыках пишут миллионы трупрогеров проги с тысячами трубагов, половину которых потом вылавливают сотни трутестеров, а остальную половину невинные юзеры, на которых тестится вечносырой трусофт, которые верят что трупрогеры труязыки это трукруто.

С/C++ уже лет 5 как оставлен для маньяков.
Создано очень много более качественных языков, которые уделывают Си как по удобству и читаемости, так и по функционалу, не теряя при этом ничего, а давая только больше.
Скорость зависит только от компилятора и никак от языка, если вы считаете иначе, то пишите на C++ дальше, возможно вам когда-нибудь все же осенит.
Я уже упоминал про баги?

>Я повторю свой тезис: не нужно сравнивать разные языки программирования для разных целей, в этом ваша ошибка.

А этим вроде бы как Вы тут занялись. Написал, что пхп не подходит для серьезных задач, Вы начали доказывать, что это труязык.

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
DLag
На сайте с 15.08.2007
Offline
201
#63
Boris A Dolgov:
Советую и Вам узнать что такое байт-код. Для php есть кеширователи байт-кода, но сам php никак не записывается в виде байт-кодов.

Я где-то писал что PHP в байт-кодах записывается?

Boris A Dolgov:
Не Вы писали?

И где тут вы видите название PHP, или он вам мерещится уже?

Boris A Dolgov:

>Я повторю свой тезис: не нужно сравнивать разные языки программирования для разных целей, в этом ваша ошибка.
А этим вроде бы как Вы тут занялись. Написал, что пхп не подходит для серьезных задач, Вы начали доказывать, что это труязык.

Труязык это С++ по вашему мнению, писал я именно о нем, только вот к понятие "тру" я отношусь как и большинство знающих его значение - отрицательно, вам этого видимо не понять.

Из написанного вами видно что вы читаете только свои сообщения, т.к. неудосуживаетесь даже при цитировании прочитать что вам пишут.

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#64
DLag:
Я где-то писал что PHP в байт-кодах записывается?

И где тут вы видите название PHP, или он вам мерещится уже?



Труязык это С++ по вашему мнению, писал я именно о нем, только вот к понятие "тру" я отношусь как и большинство знающих его значение - отрицательно, вам этого видимо не понять.

Из написанного вами видно что вы читаете только свои сообщения, т.к. неудосуживаетесь даже при цитировании прочитать что вам пишут.

1. Вы, видимо, еще и свои сообщения читать не умеете 😮

"вы компилятор PHP вначале найдите, транслятор байт кода и компилятор - разные вещи." => то, что исполняет пхп -- транслирует байткод. Разве нет? Тогда излагайте мысли яснее и понятнее.

2. Прошу прощения, неправильно Вас понял. Думал, что Вы, как и большинство трукодеров на пхп вкладываете в приставку "тру" - "реальный", "крутой", поэтому повел обсуждение не туда. Опять же, старайтесь получше выражать свои мысли.

Но с Вами интересно спорить :)

N
На сайте с 06.05.2007
Offline
419
#65

да curl multi память любит, вот он запущенный на 1000 потоков, но 71 мб это несмешно даже:

top - 07:12:31 up  1:51,  2 users,  load average: 0.08, 0.24, 0.25
Tasks: 47 total, 2 running, 45 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 442428k total, 410976k used, 31452k free, 26112k buffers
Swap: 240932k total, 0k used, 240932k free, 270664k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11881 root 20 0 83432 71m 4188 S 2.0 16.6 0:04.54 php
11879 www-data 20 0 10472 7108 632 S 1.3 1.6 0:01.42 nginx

как видно, загрузки практически нет, тк в location я настроил тормозилку :

location /test.html {

set $limit_rate 100;

root /var/www/nginx-default;

}

php-код парсинга тупейший :

if (preg_match("/<title>(.+?)<\/title>/",$content,$titles)){

if ($titles[1]!="Welcome to nginx!") { print"OOPS";exit;}

}

всего 10000 запросов, параллельно до 1000.

это /status от nginx во время работы теста:


Active connections: 1001
server accepts handled requests
6101 6101 6110
Reading: 0 Writing: 1001 Waiting: 0


time php example.php
10000 urls added

real 1m25.242s
user 0m0.556s
sys 0m5.244s

кто тут еще против пхп ?

Кнопка вызова админа ()
Петр Елагин
На сайте с 21.03.2007
Offline
197
#66
netwind:
да curl multi память любит, вот он запущенный на 1000 потоков,

1. Покажите код.

2. если через пхп , то на 1000 потоков . у вас будет примерно 10 проц. хлама с кодом 100

3. причем сам мулти-курл на пхп падает иногда (отсюда и код 100, кстати)

___

netwind:

if (preg_match("/<title>(.+?)<\/title>/",$content,$titles)){
if ($titles[1]!="Welcome to nginx!") { print"OOPS";exit;}
}

это даже не смешно, вы лучше отпарсите мне все ссылки (тег А) например, и память покажите.

DLag
На сайте с 15.08.2007
Offline
201
#67
Boris A Dolgov:
1. Вы, видимо, еще и свои сообщения читать не умеете 😮
"вы компилятор PHP вначале найдите, транслятор байт кода и компилятор - разные вещи." => то, что исполняет пхп -- транслирует байткод. Разве нет? Тогда излагайте мысли яснее и понятнее.
2. Прошу прощения, неправильно Вас понял. Думал, что Вы, как и большинство трукодеров на пхп вкладываете в приставку "тру" - "реальный", "крутой", поэтому повел обсуждение не туда. Опять же, старайтесь получше выражать свои мысли.
Но с Вами интересно спорить :)

Правильно, транслирует в байт-код, но вы сравниваете компилируемый С++ с транслируемым PHP, появится компилятор PHP или транслятор С++, тогда можно будет сравнивать, а пока такого нет это глупо.

Вы привели конкретно мою цитату в предыдущем сообщении.

Покажи там где я говорил о PHP что вы так завелись.

N
На сайте с 06.05.2007
Offline
419
#68

AlienZzzz, вот вы наймите меня и все покажу .

Конечно же, я использовал простейшее выражение, ведь я хотел проверить применимость curl_multi и php.

Хлама никакого нету. Я немного усложнил тест:

увеличил размер файла до 50 кб, увеличил скорость отдачи, добавил в конец файла специальный тег и сделал поиск этого тега :


if (!preg_match("/<p>end<\/p>/",$content)){
print "OOPS2\n"; exit;
}

ничего не падает, а значит докачивается без хлама. пхп съел 128 мб и упал. я изменил в php.ini параметр с 128 до 250 мб и все отработало до конца.

Слава Шевцов
На сайте с 23.07.2005
Offline
370
#69
netwind:
кто тут еще против пхп ?

Что будет, если этот код отработает 4000-5000 циклов, при этом каждая страница имеет размер по 50 кб (это 50 Мб данных на цикл)?

P.S. В вышеприведённом коде строковые функции работают намного быстрее регулярки.

Неизменность точки зрения неизменно порождает иллюзию понимания.
N
На сайте с 06.05.2007
Offline
419
#70

Слава Шевцов, раз уж вы минусами разбрасываетесь, я вам скажу что будет. для вас это будет платное экспертное исследование технологии параллельных запросов библиотеки curl в php.

Работает и 50 кб страничками. Я же чуть выше написал про усложнение теста. жрет 130мб где-то. и это расходуется на буферы, чтобы парсить в самом конце получения данных.

если заморочиться можно переписать на конечный автомат - будет совсем чуть-чуть. но такая техника намного сложнее.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий