Python. быстрый http клиент ? - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD64386.0864
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 14.02.2011, 14:14   #1
gre4a
Member
 
Регистрация: 12.03.2009
Сообщений: 35
Бабло: $9080
По умолчанию Python. быстрый http клиент ?

Нужен пример кода на питоне, который по максимум грузит интернет канал запросами http. Т.е. пример работы http - асинхронный, многопоточный и тп. всё лучшее на что способен питон.
Кто может черканите пример, или хотя бы модули какие посмотреть ?
__________________
любые скрипты для биза , быстро качественно не дорого http://gofuckbiz.com/showthread.php?t=16638
gre4a вне форума  
Старый 14.02.2011, 15:09   #2
medar
кодер-энтузиаст
 
Аватар для medar
 
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,381
Бабло: $447150
По умолчанию

а обычный мультикурл через php (либа rolling-curl), например, не канает ?
medar вне форума  
Старый 14.02.2011, 16:13   #3
freeman
фетишист
 
Аватар для freeman
 
Регистрация: 28.12.2009
Сообщений: 148
Бабло: $25620
По умолчанию

https://github.com/facebook/tornado/.../httpclient.py
http://habrahabr.ru/blogs/personal/61960/
freeman вне форума  
Старый 14.02.2011, 16:29   #4
gre4a
Member
 
Регистрация: 12.03.2009
Сообщений: 35
Бабло: $9080
ТС -->
автор темы ТС По умолчанию

должен признать я впечатлён php (питон ещё не протестировал).
rolling-curl по производительности не уступает перлу. перл выигрывает в несколько раз только при использовании кeep-alive. (как его заиспользовать в rolling-curl не нашёл.)
__________________
любые скрипты для биза , быстро качественно не дорого http://gofuckbiz.com/showthread.php?t=16638
gre4a вне форума  
Старый 14.02.2011, 16:36   #5
medar
кодер-энтузиаст
 
Аватар для medar
 
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,381
Бабло: $447150
По умолчанию

Цитата:
Сообщение от gre4a Посмотреть сообщение
должен признать я впечатлён php
Ну там php не особо причём, там всю асинхронную многопоточную работу делает сишный модуль curl (как и в питоне), php просто принимает от него результаты.

А для keep-alive надо, по идее, просто добавить header к http-запросу "Connection: Keep-Alive"
Т.е. при добавлении урла в пачку запросов в $headers помещаешь array("Connection"=>"Keep-Alive")

Последний раз редактировалось medar; 14.02.2011 в 16:45.
medar вне форума  
Старый 14.02.2011, 17:13   #6
gre4a
Member
 
Регистрация: 12.03.2009
Сообщений: 35
Бабло: $9080
ТС -->
автор темы ТС По умолчанию

medar, не работает.
Одного заголовка мало, надо что бы сама либа сохраняла коннект и использовала его для следующего реквеста, вместо того что бы опять резолвить имя в dns и соединятся заново с сайтом.
__________________
любые скрипты для биза , быстро качественно не дорого http://gofuckbiz.com/showthread.php?t=16638
gre4a вне форума  
Старый 14.02.2011, 18:55   #7
gre4a
Member
 
Регистрация: 12.03.2009
Сообщений: 35
Бабло: $9080
ТС -->
автор темы ТС По умолчанию

либо питон вдрызг разрывает perl и php . либо там что то не работает. для теста юзал http://habrahabr.ru/blogs/personal/61960/.
при 100 потоках в 2 раза быстрее чем перл и в 2.5 чем пхп, но на увеличение потоков питон никак не реагирует (загрузка цп повышается но время работы скрипта остаётся прежним).
в перле и пхп с этим всё в порядке, кол-во потоков прямо пропорциональны загрузки цп и времени работы теста.
__________________
любые скрипты для биза , быстро качественно не дорого http://gofuckbiz.com/showthread.php?t=16638
gre4a вне форума  
Старый 14.02.2011, 19:40   #8
xanxy
Senior Member
 
Регистрация: 18.08.2010
Сообщений: 360
Бабло: $66120
По умолчанию

Цитата:
Сообщение от gre4a Посмотреть сообщение
либо питон вдрызг разрывает perl и php . либо там что то не работает. для теста юзал http://habrahabr.ru/blogs/personal/61960/.
при 100 потоках в 2 раза быстрее чем перл и в 2.5 чем пхп, но на увеличение потоков питон никак не реагирует (загрузка цп повышается но время работы скрипта остаётся прежним).
в перле и пхп с этим всё в порядке, кол-во потоков прямо пропорциональны загрузки цп и времени работы теста.
По моему ты зря заморачиваешься. Перл пхп и питон в любом случае все упирается в сшную либу, а та юзает epoll.
Да и в большинстве случаев все упирается в количество и качество проксей.
Я бы остановился на перле. У перла большое количество модулей, анонимные функции, компилится в какой то свой байт код.
xanxy вне форума  
Старый 14.02.2011, 21:33   #9
gre4a
Member
 
Регистрация: 12.03.2009
Сообщений: 35
Бабло: $9080
ТС -->
автор темы ТС По умолчанию

очень странно получается. я понимаю что в основном производительность даёт сишная либа. я для уверенности потестировал libcurl и на перле (WWW::curl::Multi), результат не укладывается в картину мира. Она оказалась медленнее альтернативной реализации на перле и вдобавок грузит цп на 100%
__________________
любые скрипты для биза , быстро качественно не дорого http://gofuckbiz.com/showthread.php?t=16638
gre4a вне форума  
Старый 14.02.2011, 22:02   #10
freeman
фетишист
 
Аватар для freeman
 
Регистрация: 28.12.2009
Сообщений: 148
Бабло: $25620
По умолчанию

А у тебя точно libcurl с флагом c-ares собран?
freeman вне форума