howto

Portret użytkownika bluszcz

Piszemy własny serwer proxy w pythonie - cześć 1

Pisząc sceniaruszy testów obciążeniowych serwisów www często punktem wyjścia jest przygotowanie "tranzakcji" (używając tsungowej nomenklatury"), czyli listy plików dociąganych wraz z głównym dokumentem xhtml/html.

Na szczęście nowoczesne frameworki (między innymi Grinder, Tsung) dostarczają własne proxy umożliwiające przygotowanie takowej listy, często od razu w formacie używanym poprzez to narzędzie.

Co jednak zrobić w przypadku, kiedy potrzebujemy taką listę przygotować we własnym formacie, lub odrobinę zmodyfikowanym?

Wyjść mamy kilka, pierwszym najprostszym jest zainstalowanie dowolnego serwera proxy, między innymi squid lub tinyproxy. Squida nie polecam do tego celu - jest zdecydowanie zbyt potężny. Tinyproxy jest wygodny, małe i szybkie. Obydwa narzędzia przygotują piękną listę w formacie NCSA common log, który możemy łatwo sparsować...

Bardzo interesującym rozwiązaniem jest natomiast napisanie własnego proxy, dzięki czemu zyskamy:

  • nieocenioną wiedzę na temat protokołu HTTP :)
  • możliwość dowolnego formatowania requestów
  • możliwość dodania dowolnej funkcjonalności - na przykład liczenie objętości ściąganych plików za jednym żądaniem dokumentu html
  • i tak dalej...

Poniżej wklejam kawałek kodu, którego docstringi mówią wszystko - obsługuje on na początek jedynie metodę GET, łamie kilka standardów odnośnie protokołu HTTP - ale wszystko będzie w następnych częściach. Jako języka użyłem pythona - wydaje się on idealny, o zaletach nie będę się rozpisywał - poniższych kawałek kodu po odjęciu komentarzy zajmuje kilkanaście linijek i można go napisać w 30 minut...

Portret użytkownika bluszcz

Dziesięć szalenie użytecznych tipsów odnośnie Django

Jeśli jesteś programistą Django - zarówno stawiającym pierwsze kroki, jak i wyjadaczem z kilkuletnim stażem - serwis NETTUS przygotował coś dla Ciebie, dziesięć użytecznych porad.

Portret użytkownika bluszcz

Ściągawka z Django 1.0 oraz web2py

Dla fanów pythonowocyh frameworków webowych, dwie ściągawki:

Portret użytkownika bluszcz

JQuery - zupełne podstawy

Na serwisie DotNetSlackers pojawiły się trzy części mini artykułu z serii JQuery, the very very basics opisujące podstawy korzystania z biblioteki jQuery.

Portret użytkownika bluszcz

Kolejne 20 reguł jak przyśpieszyć serwis www

Na serwisie Developer Yahoo ukazały się slajdy z prezentacji Stoyan Stefanova na temat optymalizacji serwisów www. Do starych 14 reguł promowanych poprzez Yahoo doszło 20 nowych.

Jakich?

Portret użytkownika filiprem

Replikacja w PostgreSQL za pomocą Slony-I

Postgres, potężniejszy z dwóch popularnych w świecie open source silników bazodanowych, nie cieszy się dobrą sławą jeśli chodzi o prostotę instalacji i konfiguracji.

W tym artykule chciałbym rozwiać te obawy, przynajmniej jeśli chodzi o replikację baz danych.

Portret użytkownika bluszcz

Tsung - przykład rozproszonego testowania serwera Nginx

W tym artykule opiszę jak prawidłowo zainstalowa, skonfigurować i uruchomić Tsunga celem przetestowania wydajności serwera Nginx.

Moje środowisko testowe składa się z trzech maszyn połączonych siecią bezprzewodową:

Portret użytkownika bluszcz

O gustach się nie dyskutuje - część pierwsza

Prawdopodobnie większość czytelników zna serwis Last.Fm, gdzie jedną z funkcjonalności jest możliwość porównania swojegu gustu muzycznego z innym użytkownikiem (w polskiej wersji językowej nazwane zostało to "Gustometr").

W tym artykule opiszę jak uzyskać zbliżoną funkcjonalność.

Portret użytkownika bluszcz

Drupal 6.0 i nginx - konfiguracja i optymalizacja

Na samym wstępie zaznaczę, że jestem początkującym użytkownikiem drupala. Nie znam również PHP - swoją przygodę z tym językiem programowania skończyłem na wersji bodajże 4.0. Z racji tego faktu, za bardzo nie chciałem dotykać opcji konfiguracyjnych drupala, których do końca nie rozumiem - za to stwierdziłem, że pobawię się na warstwie serwera www. To króciutkie howto pokazuje również jak skonfigurować Drupal 6.0 tak, aby działał z nginx, małym i super szybkim serwerem www (jego zaletą wobec lighttp są chociażby uproszczone rewrite...).

Portret użytkownika bluszcz

Spraw, aby Twój serwis działał 10 razy szybciej

Mike Peters na swoim blogu stara się odpowiedzieć na pytanie, co zrobić aby przyśpieszyć serwis dziesięciokrotnie.

Wpis zaczyna się od wyliczenia typowych wąskich gardeł:

  • bazodanowane operacje zapisu
  • bazodanowane operacje odczytu
  • skrypty wykonywane po stronie serwera
  • skrypty po stronie klienta (JS)
  • duża ilość (często ciężkich) plików statycznych (js, obrazki, css) dociąganych
Bookmark and Share
Subskrybuje zawartość