HTTP effizienter nutzen mit WWW::Curl::UserAgent (Lightningtalk)
von Julian Knocke
HTTP effizienter nutzen mit WWW::Curl::UserAgent richtet sich an Alle und wird in Deutsch gehalten. Der Talk beginnt am 26.03.2014 um 17:30 Uhr und dauert Minuten. Er findet im Bühne statt.
Webseiten und REST APIs werden über das Protokoll HTTP abgewickelt. Mit
Parallelität und der Wiederverwendung bestehender TCP-Verbindungen
(KeepAlive) können große Mengen an Anfragen schneller abgearbeitet
werden. Durch eine Callback basierte Schnittstelle, wird der
Programmcode bei gleichzeitigen Anfragen optimal durchlaufen und so
Zeitverluste durch IO minimiert. Mit Vergleichen zu bestehenden User
Agents wie LWP::UserAgent, LWP::Parallel::UserAgent und
WWW::Curl::Simple können Vor- und Nachteile der Neuimplementation
beschrieben werden.
Das Modul WWW::Curl::UserAgent wurde bei XING entwickelt, dem sozialen
Netzwerk für berufliche Kontakte mit 14 Millionen Mitgliedern. Mit cURL
wird dort bereits, basierend auf dem Rubygem Typhoeus, ein REST Client
betrieben, der effizient einige hundert Millionen Requests am Tag
abarbeitet. Um diesen Durchsatz und die Stabilität ebenso zu erreichen,
wurde ein UserAgent entwickelt, welcher parallele Verbindungen mit
KeepAlive unterstützt und dafür auf die Bibliothek cURL zurückgreift.