Zobacz wyniki ankiety: Moj ulubiony serwer WWW to

Głosujących
15. Nie możesz głosować w tej sondzie
  • Apache

    14 93.33%
  • IIS

    0 0%
  • Sun-ONE-Web-Server

    0 0%
  • lighttpd

    0 0%
  • Zeus

    0 0%
  • nginx

    0 0%
  • IdeaWebServer

    0 0%
  • AOLserver

    0 0%
  • thttpd

    0 0%
  • ... inny ...

    1 6.67%
Strona 2 z 2 PierwszyPierwszy 12
Pokaż wyniki 11 do 16 z 16

Temat: Jaki jest Twoj ulubiony serwer WWW?

  1. #11
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Owszem... napisac wlasny serwer to nie problem ale problem zaczyna sie jak masz obsluzyc nim kilkaset rownoczesnych polaczen. Czy Twoj serwer w pythonie obsluzy np 50 rownoczesnie otwartych polaczen czy po zaakceptowaniu pierwszego (niech np bedzie wykonywal jakies obliczenia albo czekal 20 sekund na odpowiedz z bazy danych) zatka sie do czasu zakonczenia obslugi polaczenia?

    Ja na razie mieszcze sie jeszcze w 200 polaczeniach/sek ale to juz jest nieco malo bo w ciagu ostatniego miesiaca skoczylismy z 20 do 120 na sekunde. Stad wlasnie pomysl zmiany serwera aby wycisnac max polaczen z serwerow.

    Cala sztuczka w tym, ze prowadzac dosc obciazone serwery dostajesz w dupe z 2 stron - od uzytkownikow (kazda przegladarka otwiera srednio od 4 do 12 polaczen do serwera i na kazdym trzyma keep-alive) oraz od strony engine'u - np baza danych, ktora jest tak duza, ze czas przetworzenia zapytania w niej to 4-5 sekund. Co wtedy?!
    Kazde polaczenie od klienta to pewna ilosc RAM ktora zajmuje proces obslugujacy dane polaczenie. Teraz ten proces czeka 5 sekund na baze a nowe polaczenia przychodza w tempie 50 nowych w ciagu kazdej kolejnej sekundy! Praktycznie wiec obslugujesz raptem kilka zapytan do bazy majac 250 userow ktorzy blokuja 1000 polaczen do serwera (4 na usera) i zaczyna sie zima... zakladajac ze sredni proces apache'a z dodatkami (np PHP + biblioteki ktore zaladowalo) ma niech bedzie 15MB (to i tak malutki), teraz masz 1000 polaczen - 15GB RAM?

    Rozwiazanie jakie przychodzi mi do glowy - ustawic serwer multiplexujacy albo wielowatkowy obslugujacy polaczenia asynchronicznie i odpalic tyle procesow backend'u aby sie wyrabiac mieszczac w limicie czasu i RAMu. Ciezka sprawa...

    Przyklad:
    Apache 2.x wielowatkowy (mpm-worker) z PHP dzialajacym jako FastCGI (aby bylo bezpiecznie na watkach) zajmuje u mnie 231.5MB RAM, na razie procesy sa 2 konkretne i 2 mniejsze po 10MB ale ten serwer to tylko testowa maszyna... wiec zalozmy po 230MB na proces apacza... do tego procesy PHP dzialajace jako FastCGI - 20MB kazdy... ile teraz tego odpalisz na serwerze zanim zdechnie? 5 procesow apache'a da juz ponad 1GB RAM, 10 procesow PHP daje nastepne 200MB wiec lekkim strzalem 1.5GB RAM na sam serwer WWW, do tego jakas baza danych (lepiej aby byla na osobnym serwerze)... masakra! Cale szczescie ze RAM leci w dol

    OFF-TOPIC:
    Najkrotszy kompletny serwer jaki widzialem w Perlu miesci sie w standardowej sygnaturce do maila (max 4 linie po 60 znakow kazda) i wyswietla spowrotem swoj kod kazdemu klientowi. Nie uzywa on zadnych modulow poza IO::Socket - gada z gniazdami na najnizszym poziomie (a moglby uzywac Net::Server::HTTP lub dowolnego innego - jest ich masa).
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  2. #12
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Apache jest ciężki, ale kolejne połączenia są już w miare lekkie. Jakie zapytanie do bazy trwa 5min?

  3. #13
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    5 sekund nie 5 minut choc dobic do 10 minut nawet to nie problem - wiem co mowie!

    Co trwa 5 sekund? Prosty przyklad - korzystasz z dosc ciezko zapracowanej bazy, ktora obsluguje setki jesli nie tysiace transakcji na sekunde. Prosty warunkowy insert moze trwac nawet dluzej...
    Co trwa 10 minut? Zrobienie raportu z duuuzej bazy Oracle w ktorej jedna tabela ma 40GB a aby zrobic raport robisz join na 4 tabelach... do tego caly czas baza ma inserty. Niektore takie raporty odpalamy wiec z cron'a bo na http masz juz timeout
    Dla jasnosci - system ma ponad 2mln userow i okolo 210mln transakcji (i baza ciagle rosnie), wiec jest co robic!

    Jeszcze inny przyklad - nie wiem ile potrwa, ale... odpalenie ze skryptu odpowiednika 'grep <hash> md5-rainbow.txt' - bedzie zalezec wprost od wielkosci pliku i przepustowosci magistrali.
    Ostatnio edytowane przez TQM : 10-30-2007 - 19:19
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  4. #14
    Zarejestrowany
    Jul 2006
    Skąd
    Łódź
    Postów
    249

    Domyślnie

    Wybralem apache ale mam tez IIS, uzywalem lighttpd i tez nie narzekalem
    Pozdrawiam

  5. #15

    Domyślnie

    topic troche stary, ale kilka centow wrzuce

    Samo apache nie jest znow bardzo duze; inna sprawa jak sie dodaje moduły
    dla przykladu mod_php, pozniej KAZDY uruchomiony proces ładuje interperter, a ten swoje biblioteki
    wiec nawet jak proces ma załadowac obrazki to interpreter php tez startuje i musi te swoje biblioteki tez gdzies zaladowac - dup

    mod_php mozemy zastapic fastCGI, ktory na starcie ładuje interpretera do pamieci i tam pozostaje przez caly czas, a uzywany jest tylko do plikow php, wie c tutaj znaczna przewaga fastCGI

    podobnie fastCGI ma kilka ulepszen przy load balancingu

    na tym przykladzie widac, ze trzeba dosyc dokladnie skonfigurowac swojego apacha, i skompilowac php tylko z wymaganymi bibliotekami

    dodatkowo kompresja htmla (gzhandler w php) + cache koniecznie (APC)

    konifiguracja Apache, php, fastCGI + APC bedzie najlepsza
    dla lepszego efektu mozesz przegladnac skrypty na serwerach, wszystko przeniesc na php5, dodac buforowania itd.

    edit. lighthttpd, php, fastCGI + APC bedzie szybsze ale nie mialem okazji wytestowac dokladnie w takiej konfiguracji
    Ostatnio edytowane przez thinkbot : 12-31-2007 - 19:01

  6. #16
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Moje wnioski sa identyczne... wolalbym lighttpd ale... niestety nie ma mozliwosci budowania tak zaawansowanych konfiguracji jak apache. Moje wymagania sa dosc specyficzne - mod_rewrite, FastCGI dla skryptow Perlowych, czasami php w FastCGI. W Lighttpd brakuje mi takiej elastycznosci jaka daje mi mod_rewrite. Reszte udalo mi sie spokojnie przeniesc...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Strona 2 z 2 PierwszyPierwszy 12

Podobne wątki

  1. ip + serwer = włamanie
    By seba8912 in forum /dev/null
    Odpowiedzi: 3
    Autor: 08-14-2007, 14:30
  2. Odpowiedzi: 2
    Autor: 07-25-2007, 18:46
  3. Jak wgrać mape...kod jest wszystko jest a nie działa
    By olixon in forum Systemy radiokomunikacyjne
    Odpowiedzi: 3
    Autor: 07-11-2007, 06:52
  4. jaki najlepszy darmowy serwer www?
    By ironwall in forum HTML/DHTML/XHTML
    Odpowiedzi: 1
    Autor: 02-08-2007, 14:04

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj