eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjsp vs php › Re: jsp vs php
  • X-Received: by 10.49.110.103 with SMTP id hz7mr534980qeb.5.1368058202741; Wed, 08 May
    2013 17:10:02 -0700 (PDT)
    X-Received: by 10.49.110.103 with SMTP id hz7mr534980qeb.5.1368058202741; Wed, 08 May
    2013 17:10:02 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin1!goblin.stu.neva.ru!l3no3667535qak.0!news-out.google.com!y6ni20
    871qax.0!nntp.google.com!m7no3716729qam.0!postnews.google.com!glegroupsg2000goo
    .googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 8 May 2013 17:10:02 -0700 (PDT)
    In-Reply-To: <518ac39f$0$1222$65785112@news.neostrada.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.216.67;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.216.67
    References: <c...@g...com>
    <d...@g...com>
    <e...@g...com>
    <51874eb2$0$1250$65785112@news.neostrada.pl>
    <6...@g...com>
    <kmau09$ju5$1@speranza.aioe.org>
    <8...@g...com>
    <kmbgce$ile$1@speranza.aioe.org>
    <e...@g...com>
    <51895d09$0$1252$65785112@news.neostrada.pl>
    <f...@g...com>
    <518a01b5$0$1212$65785112@news.neostrada.pl>
    <6...@g...com>
    <518a831d$0$26699$65785112@news.neostrada.pl>
    <6...@g...com>
    <518aa18a$0$26685$65785112@news.neostrada.pl>
    <1...@g...com>
    <518aa797$0$26697$65785112@news.neostrada.pl>
    <0...@g...com>
    <518ac39f$0$1222$65785112@news.neostrada.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <d...@g...com>
    Subject: Re: jsp vs php
    From: "M.M." <m...@g...com>
    Injection-Date: Thu, 09 May 2013 00:10:02 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:203271
    [ ukryj nagłówki ]

    W dniu środa, 8 maja 2013 23:29:02 UTC+2 użytkownik R.e.m.e.K napisał:

    > Ciagle nie wiem skad bierzesz te 10 sekund. Po piewsze to zalezy od
    > komputera, jesli na Twoim lapku trwa to 10 sekund to na serwerze z
    > prawdziwego zdarzenia moze trwac 0,1 s.

    Sprawdzam na lapku i na stacjonarnym, oba kompy sa dosc nowe, ale
    na pewno nie sa to serwery z prawdziwego zdarzenia. Czasami na lapku
    dziala szybciej. Domniemam ze wynika to z ulozenia danych w tabelach.
    Jesli na lapku dane sa obok siebie, to zapytanie bedzie dzialalo
    szybciej niz nawet na serwerze z prawdziwego zdarzenia - zaraz ktos mi
    zarzuci ze pisze oczywiste rzeczy :D

    Czy da sie z 10s zejsc do 0.1s tylko dzieki:
    1) lepszej konfiguracji (np. indeksy, buforowanie w RAM)
    2) zastosowaniu lepszego sprzetu
    3) zastosowaniu wiekszej ilosci komputerow?

    AD1) powiedzmy ze indeksy juz mam dobre, a buforow RAM nie bede zwiekszal,
    bo w koncu i tak i tak zabraknie.
    AD2) nie mam pod reka dyskow SSD zeby sprawdzic.
    AD3) nie wiem jak sie zachowuje postgres uruchomiony na klastrze,
    zdaje sie ze jest taka mozliwosc, ale nigdy nie korzystalem z niej.

    > Po drugie jakie to zapytania sa?

    W pierszym lepszym zapytaniu slowo JOIN mam 11 razy. Docelowe
    rozmiary czterech najwieksych tabel z tego zapytania szacuje
    mniej/wiecej tak: 1mln, 10mln, 100mln i 1mld rekordow. Obecne
    rozmiary 135543, 135543, 12578310, 20573317. Pozostale tabele sa raczej
    male, do 50tys rekordow, raczej zmieszcza sie w boforze RAM.
    Kazda duza tabela jest laczona joinem tylko jeden raz. Jedna
    mala table wystepuje w zapytaniu dwa razy - ale to bez znaczenia.

    W tym zapytaniu wszystkie zlaczenia sa po klucz_glowy==klucz_obcy.
    Wszystkie klucze to biginty. W klazuli where jest:
    tabel1.klucz_glowy = stala_1 AND tabela2.klucz_glowny = stala_2;

    Zapytanie nie ma sortowania, ani grupowania. Wynikiem zapytania jest
    srednio 70tys rekordow.

    Na klucze obce w duzych tabelach sa zalozone indeksy. Indeks hash byl
    minimalnie szybszy od b-tree. Indeksy na malych tabelach nic nie daly.
    Na klucze glowne postges zalozy sam indeksy.

    Nie wiem co jest jeszcze wazne... Moze to, ze wraz z rozrostem bazy,
    nie bedzie zwiekszala sie ilosc rekordow zwracanych przez te
    czasochlonne zapytania. Raczej z rozrostem bedzie rosla ilosc zapytan
    jakie mozna zadac, a otrzyma sie podobna ilosc danych.


    > Pokaz przyklad, bo jesli to zwykly select wyciagajacy kilka rekordow z
    > jednym czy dwoma joinami to nie powinien trwac 10 sekund w normalnych
    > warunkach.
    Nam nadzieje ze powyzszy opis wystarczy :)


    > Kilka lat temu zrobilem w PHP pewien serwis (powiedzmy, ze
    > paraspolecznosciowy). Strona dziala do dzis, nie jest mocno obciazona, ale
    > ma obecnie w najwiekszej tabeli prawie milion rekordow. Podczas generowania
    > jednej z podstron sa z niej odczytywane rekordy w liczbie od jednego do
    > kilkudziesieciu, zapytanie to ma tez jednego joina. Strona na jedno
    > odswiezenie wykonuje kilka zapytan i generuje caly kod w np. "0.0307 s" -
    > skopiowalem to teraz ze strony - bylo tam kilka zapytan SQL w tym jedno z
    > tej sporej tabeli. Baza MySQL. Hosting home.pl, wirtualka.
    Tez robilem podobne rzeczy w oparciu o bazy danych, sam nie wiem ile tego
    bylo. Moze z 50 serwisow w PHP i drugie tyle programow/programikow w C++.
    W niektorych tabele sa znacznie wieksze niz 1mln rekordow. Nie pamietam
    ile czasu trwaja zapytania. Moze w tej chwili nie pamietam jakiegos
    upierdliwego przypadku, ale raczej nigdy operacje dyskowe nie byly
    waznym problemem. Tez nigdy nie zrobilem strony www dla ktorej "10 tys
    uzytkownikow to nic".


    > Nie bylbym pewien czy niemozliwe, teoretycznie bym to potrafil sobie
    > wyobrazic. Ale nie mam takich doswiadczen, gdyz nie pracuje z duzymi bazami.
    Pewnie sie skonczy tak, ze gdzies wykupie jakas chmure do testow,
    zainstaluje baze i pomierze czasy. Tez nie wiem jakie operacje bazodanowe w
    jakim stopniu sie zrownoleglaja. Szukac w necie i czytac az sie boje,
    trduno odroznic co jest przechwalkami producentow, a co rzetelnym testem.


    > http://en.wikipedia.org/wiki/Oracle_RAC
    > http://en.wikipedia.org/wiki/Oracle_Clusterware
    > http://en.wikipedia.org/wiki/Oracle_Cluster_File_Sys
    tem
    Dzieki, popatrze, ciekawe ile kosztuja Oracle na klaster :)


    > ...przy okazji okazuje sie, ze sa specjalne systemy plikow dla baz - prawie
    > to co chciales :-)
    Czasami docieraly do mnie takie doniesienia jak specjalny system plikow pod
    baze danych, albo pod wyszukiwarke internetowa... pierwszy raz bede musial
    sprawdzic to na wlasnej skorze :)


    > Ale obawiam sie, ze koszty takich rozwiazan zmusilyby Cie
    > do sprzedania calej rodziny na 3 pokolenia w przod ;-)
    Ostatnio prawie stracilem przytomnosc, jak dowiedzialem sie, ze koszt
    jednej, w sumie niezbyt duzej, reklamy, to okolo 800tys pln :) Niesadze
    zeby serwis w ogle mogl zarobic az na taka reklame. Niemniej koszty
    sprzetu i oprogramowania moga okazac sie relatywnie niskie.


    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: