-
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
Następne wpisy z tego wątku
- 09.05.13 02:32 M.M.
- 09.05.13 08:44 Tomasz Sowa
- 09.05.13 08:58 Tomek Kańka
- 09.05.13 09:01 Ghost
- 09.05.13 09:04 M.M.
- 09.05.13 09:20 M.M.
- 09.05.13 09:28 R.e.m.e.K
- 09.05.13 09:56 firr kenobi
- 09.05.13 09:56 M.M.
- 09.05.13 10:08 M.M.
- 09.05.13 10:15 M.M.
- 09.05.13 10:21 Stachu 'Dozzie' K.
- 09.05.13 10:30 Ghost
- 09.05.13 10:31 R.e.m.e.K
- 09.05.13 11:28 M.M.
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-13 Zasięg Tesli przy szybszej jeździe
- 2025-01-13 Gdańsk => Application Security Engineer <=
- 2025-01-13 Białystok => System Architect (Java background) <=
- 2025-01-13 Warszawa => Konsultant ds. sprzedaży <=
- 2025-01-13 Warszawa => Key Account Manager <=
- 2025-01-13 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-13 Rzeszów => International Freight Forwarder <=
- 2025-01-13 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-13 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-13 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-01-13 Wydajność klimy w obecnych temperaturach
- 2025-01-13 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-01-13 Kraków => UX Designer <=
- 2025-01-13 Katowice => Key Account Manager (ERP) <=
- 2025-01-13 Mińsk Mazowiecki => Spedytor Międzynarodowy <=