Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3 >  
Reply to this topicStart new topic
> Forum internetowe heavy-duty, temat pracy inzynierskiej - zalozenia
ergo
post 17.12.2005, 22:56:45
Post #21





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


eh generalnie temat pracy brzmi tak jak w pierwszym poscie "forum dyskusyjne zoptymalizowane pod duza ilosc wpisow", i ma dzialac nie tylko pod jednym rodzajem baz danych... nie moj wymysl tylko promotora, daltego wlasnie kombinuje z takimi sprawami jak kazde forum w oddzielnej tabeli itp...

Cytat
Nie do konca sie chyba zrozumielismy. Optymalizacja wykorzystujaca ficzery
danej platformy to programowanie w najgorszym ze znanych mi stylow. Mam
nadzieje ze nie musze Panu tlumaczyc dlaczego.

Ma Pan opracowac mechanizmy forum heavy-duty, ktore pozwola mu dzialac bez
wzgledu na platforme. Co najwyzej potem przedstawi Pan testy wydajnosci i
reaktywnosci w zaleznosci od platformy implementacji.

totez sam sie zastanawiam co wlasciwie ja mam zrobic tongue.gif
chciaz do smiechu mi nie jest bo czasu coraz mniej a ja nie mgoe zaczac nawet :/

Ten post edytował ergo 18.12.2005, 11:50:43


--------------------
Go to the top of the page
+Quote Post
halfik
post 18.12.2005, 17:03:35
Post #22





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 17.05.2003
Skąd: Nysa

Ostrzeżenie: (10%)
X----


Cytat
z ta przesada ze mysql umiera przy 3 milionach rekordow to bym nie byl taki pewien.
Rozumiem ze tablica nie bedzie wygladac jak pas startowy szeroka, w pojedynczym rekodzie bedziesz mial okolo 30 kolumn.
Dobra konstrukcja potrafi naprawde wiele, ja aktualnie w mysqlu mam ponad 8 milionow rekordow z czego jedna tablica ma ich wlasnie okolo 3 milionow i nie moge powiedziec zeby stronka nam chodzila kiepsko, a wejsc mamy srednio okolo 80tys unikalnych.


Sh4dow a jaka wersje mysqla macie ze daje rade z 3 mln na pojedynczej tabeli?
jak mozesz wez walnij tam proste zapytanie z wherem, a pozniej ze 2 bardziej zlozone i podaj mi czasy odpowiedzi.

a wracajac do tematu. cachowanie moze sie przydac, ale trzeba cachowac pierdly. nie ma sensu cachowac tematow itd. - bo po 1) watpie zebysmy odciazyli baze - i tak co chwile bedziemy wysyac zapytania zebyc cachowac wyniki. 2) jak bedziemy caly czas zachowac zasisniemy dysk, bo zakladam ze to zwykly dysk 7200 a nie jakies monstrum typowo serwerowe - chociaz oczywiscie wszystko zalezy co oznacza termin "duza ilosc uzytkownikow".

mozna sie tez pobawiac w cache po stronie phpa i roznego rodzaju accelatory.

w sumie rownie glupimy pomyslem byloby umieszczenie kazdego forum na osbnym serwie BD. no ale tutaj trzeba by napisac jakis w miare inteligenty algorytm, ktory by z poziomu www pozwalal dodawac kolejne serwer i przenosilby tabele na tak dodany serwer. generalnie mozna rozproszyc baze. tylko beda jaja jak padnie 1 z serwerow. dlatego nie jestem specjalnym zwolennikiem czystego rozproszenia BD.

mimo wszystko ja bym kombinowal nad jakis progsem do inteligentnego i latwego zarzadzania srodowiskiem serwerow BD. polaczylm rozproszenie z replikacjami. fakt ze w sporo serwow by trzeba bylo ale trudno tongue.gif no ale to by rozwiazywalo problem. bo jesli cos za wolno chodzi - to wina bazy. dodajemy 2 serwery -> 1 przejmuje czesc tabel a drugi jest jego kopia bezpieczenstwa. i tak w kolko.

p.s
powiedz promotorowi zeby Ci dal caly kluster tongue.gif


--------------------


"Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski)
dev: gazeta.ie
Go to the top of the page
+Quote Post
ergo
post 18.12.2005, 22:44:36
Post #23





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


Cytat(halfik @ 2005-12-18 16:03:35)
p.s
powiedz promotorowi zeby Ci dal caly kluster tongue.gif

buahahah ... albo 2 od razu tongue.gif

rozmawialem dzisiaj z promotorem , i rozmowa byla bardziej konstruktywna, przede wszystkim forum ma miec ogromniasta liste postow ( czytaj nie wiem ile to jest ale duzo ;P )

i czesc rzeczy mozna trzymac w cache-u, ale dobrym pomyslem jest trzymanie oddzielnych for w oddzielnych tabelach ( ma to swoje wady oczywiscie i nie jest jakies super eleganckie, ale... ) , baza tworzy oddzielny plik dla kazdej tabeli wiec czasu wyszukania oddzielnych rekordow beda mniejsze niz by mialo skanowac jeden ogromny plik ( nie zaglebiamy sie w takie problemy jak wyszukiwarka itp ... ) na 100% przyspieszy to dzialanie .

Kolejny pomysl to rotowanie forow do jakichs tabel archiwizacyjnych zeby user na zadanie mogl uzyskac dostep do tych danych a reszta normalnie , ale nie wiem jeszcze w jaki sposob to by mialo byc rozwiazane jeszcze.

takze bardziej to beda tricki zwiazane z serwerem baz danych niz z php i optymalizacja aplikacji samej w sobie , najbardziej waskim gardlem bedzie chyba baza i na tym sie trzeba skupic.

( temat i tak jest teoretyczny scisle i nie bedzie tam testu na 10000 uzytkownikow i obciazenia 300 osob online - liczy sie ilosc wpisow w bazie )


--------------------
Go to the top of the page
+Quote Post
mike
post 18.12.2005, 22:47:49
Post #24





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Tabela dla każdego forum to poroniony pomysł, sprzeczny z zasadami optymalnego tworzenia baz danych.

Mówisz że ma wady. Oczywiści że ma wady. A jakie ma wg. Ciebie zalety?
Go to the top of the page
+Quote Post
Vengeance
post 18.12.2005, 23:19:20
Post #25





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


"czytaj nie wiem ile to jest ale duzo ;P"

Patrząc na tak popularne fora jak phpBB.com i wiele innych tego typu z ogromną ilością postów, chyba nie istnieje takie które mogło by zagrozić stabilności MySQL.

Tak więc dowiedz się dokładniej co on uwarza za "dużo", bo wg mnie to "dużo" jest nierealnie duże i niedoosiągnięcia ;p


--------------------
Go to the top of the page
+Quote Post
NuLL
post 18.12.2005, 23:28:13
Post #26





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


3 miliony rekordow w tabeli MySQL to zadne wyzwanie w mojej opinii.

Jw. tworzenie osobnych tabel dla postwo czy poszczegolnych for to poroniony pomysl.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
ergo
post 19.12.2005, 00:07:23
Post #27





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


Cytat(NuLL @ 2005-12-18 22:28:13)
3 miliony rekordow w tabeli MySQL to zadne wyzwanie w mojej opinii.

Jw. tworzenie osobnych tabel dla postwo czy poszczegolnych for to poroniony pomysl.

dlaczego poroniony pomysl ? wiem ze wyszukiwanie bedzie mocno ograniczone w dzialaniu itp... ale ten poroniony pomysl ma podstawy w funkcjonowaniu dyskow twardych:

- seek time danych na dysku z tego co mi sie wydaje powinien byc mniejszy w momencie kiedy mamy do czyniena z mniejszymi plikami niz z wiekszymi ( a kazda tabela to przeciez osobny plik ) wiec bedzie wiecej mniejszych plikow z poszczegolnymi tabelami dla kazdego forum niz jedna ogromna tabela posts dla przykladu - ale to moja teoria.

moze wy macie jakies pomysly w sposobie optymalizacji tego ? nie martwcie sie tym ze wyszukiwanie nie bedzie dzialac tak jak na popularnych forach itp. to nie jest akurat tutaj najwazniejsze.

Forum jako takie ma byc jak najlzejsze dla serwera... takie jest zalozenie - to wszystko prawdopodobnie wyjdzie dopiero w benchmarkach dlatego kazda duperele musze wziasc pod uwage

Ten post edytował ergo 19.12.2005, 00:18:00


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 19.12.2005, 00:22:43
Post #28





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Zasada XP: nie zgaduj -- zmierz.
Zrob wg. jednej z koncepcji -- potem dodaj tabele dla kazdego z forum i poprzenos tematy i sprawdz wydajnosc.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
NuLL
post 19.12.2005, 00:23:57
Post #29





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


http://www.webhostingtalk.com/

Zwykly nietuningowany vBulletin

Cytat
Total Threads: 460,437
Total Posts: 3,540,723


Proponuje nie kombinowac tylko porzadnie przemyslec strukture baze, ustawic odpowiednie indeksy a takze zadbac o mechanizm cache.

Z tego co wiem jesli baza spelnia te warunku to skrypt bedzie zasuwal nawet jak bedzie 10 mln postow. Sa odnotowane wyniki kiedy MySQL mial w tabeli 5 MILIARDOW rekordow.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
ergo
post 19.12.2005, 00:25:20
Post #30





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2005-12-18 23:22:43)
Zasada XP: nie zgaduj -- zmierz.
Zrob wg. jednej z koncepcji -- potem dodaj tabele dla kazdego z forum i poprzenos tematy i sprawdz wydajnosc.

w sumie zgadzam sie w 100% tylko ze 1 : na domowym kompie moge miec problemy z odczuwalna roznica - ale to sie zmierzy
2: ( co mnie bardziej martwi ) za pozno sie za to wziaem i boje sie ze jak popelnie zbyt duzo pomylek albo zabrne w slepe uliczki to po prostu nie zdaze sie obronic ... a to by nie bylo przyjemne...


NuLL

spojrzyj na to:

http://www.gaiaonline.com/forum/index.php

Cytat
Who is Online - In total there are 28899 users online :: 23757 Registered, 3185 Hidden and 1957 Guests

Gaia has 476,385,579 articles posted with 3,010,945 registered users.
Most users ever online was 41,319 on Tue Nov 01, 2005 5:08 pm

webhostingtalk ( ktory zreszta czesto przegladam ) to nic w porownaniu z tym - tam jest masa optymalizacji podobno zeby to dzialalo... chociaz nie wiem do konca co lanzer tam po wprowadzal

Ten post edytował ergo 19.12.2005, 00:30:19


--------------------
Go to the top of the page
+Quote Post
ghostrider
post 19.12.2005, 12:31:30
Post #31





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

Ostrzeżenie: (0%)
-----


do zmierzenia wydajnosci uzywam:
http://www.microsoft.com/downloads/details...&displaylang=en
i polecam jesli masz jakis wolnostojacy komputer w sieci.


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
halfik
post 20.12.2005, 10:17:54
Post #32





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 17.05.2003
Skąd: Nysa

Ostrzeżenie: (10%)
X----


no ale po co mierzyc? ten pomysl jest poroniony :] zeby na cos takiego wpasc i jeszcze wierzyc ze to moze byc dobry pomysl trzeba byc nie tylko doktorem, ale od razy profesorem tongue.gif

no bo i co z tego ze to troszke skroci czasy wyszukiwan, jak nam udu... (za przeproszeniem) mozliwosc skladania zlozonych zapytan. cala teoria i praktyka o modelowaniu baz danych ida w tym momencie w piz...

to chory pomysl :]
ten czas jaki sie w ten sposob zyska mozna zyskac w innych miejcach nie ponoszac az tak duzych strat w mozliwosiach.

p.s
zapytaj sie tego promotora czy on by chcial miec taka chate - tj. poko na 1 ulicy, kuchnie na innej, lazienke na kolejnej itd. tongue.gif


--------------------


"Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski)
dev: gazeta.ie
Go to the top of the page
+Quote Post
ergo
post 20.12.2005, 12:01:29
Post #33





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


Cytat(halfik @ 2005-12-20 09:17:54)
no bo i co z tego ze to troszke skroci czasy wyszukiwan, jak nam udu... (za przeproszeniem) mozliwosc skladania zlozonych zapytan. cala teoria i praktyka o modelowaniu baz danych ida w tym momencie w piz...

ten czas jaki sie w ten sposob zyska mozna zyskac w innych miejcach nie ponoszac az tak duzych strat w mozliwosiach.

masz jakies pomysly na tym zyskiwaniu w innych miejscach ? wlasnie po to jest ten temat zeby ludzie wpisywali swoje pomysly na optymalizacje.

(co do tych mozliwosci to podejrzewam ze to forum nie bedzie mialo zbyt duzych ;-) bo nie taki jest jego cel.)


--------------------
Go to the top of the page
+Quote Post
mike
post 20.12.2005, 12:08:23
Post #34





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Dobry projekt bazy danych. Czyli ładne relacje, indeksy, ...

Jednym słowem na bazie optymalnie zaprojektowanej, która zachowuje zasady normalizacji baz łatwiej się pracuje i można osiągnąć "małe czasy jej wykożystywania".

Zapytania nie będą trwały długo a odpowiednio napisane zdejmą ciężar pewnych rzeczy z php.

Jeszcze raz powiem:
Pomysł z dzieleniem tabel pod fora to pomysł poroniony i chory.

No weś na przykład wyszukaj wszystkie posty autorstwa mike_mech i przeanalizuj jak to zrobisz na "normalnej bazie" i na ... "innej" winksmiley.jpg

Gwarantuje Ci że nawet najprostsze żeczy bedą u Ciebie wtedy bardzo spomplikowane.

Rozbijając bazę na tyle tabel nie zyskasz NIC a stracisz bardzo wiele.
Go to the top of the page
+Quote Post
NuLL
post 20.12.2005, 12:15:12
Post #35





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Czesc osob piszacych w temacie zachowuje sie jak generatory problemow ktorych tak naprawde nie ma. Wymyslacie rozwiazania absurdalne ktore tak naprawde nie sa nikomu potrzebne.

Zrozumcie ze dla MySQL-a 3 czy 5 milionow rekordow to nie tak duzo.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
sobstel
post 20.12.2005, 12:33:32
Post #36





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(mike_mech @ 2005-12-20 12:08:23)
No weś na przykład wyszukaj wszystkie posty autorstwa mike_mech i przeanalizuj jak to zrobisz na "normalnej bazie" i na ... "innej" winksmiley.jpg

problem ten mozna rozwiazac korzystajac z MERGE storage engine (w przypadku MySQL) - http://dev.mysql.com/doc/refman/5.0/en/mer...age-engine.html , ale to tylko informacja, a nie dyskusja nad tym ktore rozwiazanie lepsze ;-)


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
hawk
post 20.12.2005, 12:53:07
Post #37





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

Ostrzeżenie: (0%)
-----


A nie prościej stworzyć jedną dużą tabelę i podzielić na partycje?
Go to the top of the page
+Quote Post
ergo
post 20.12.2005, 13:20:10
Post #38





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


no ok, to problem dzielenia for na poszczegolne tabele mozna odrzucic ( cociaz wyszukiwanie postow to sprawa dziecinna - nie music byc pelnej funkcjonalnosci jak np. posty z wszystkich for - musicie to zrozumiec ze ten projekt nie zaklada pelnej funkcjonalnosci forum "komercyjnego" )

prosilbym o pomoc a wlasciwie o linki do materialow odnosnie optymalnego planowania baz danych ( nie mySQL - to ma dzialac na innych bazach tez ) - ew. sugestie wlasnie rozplanowania bo na sql malo sie znam

HAWK

a jak podzielisz tabele (bo rozumiem ze chodzi ci o plik ) na partycje, na windowsie ? tongue.gif

Ten post edytował ergo 20.12.2005, 13:23:16


--------------------
Go to the top of the page
+Quote Post
NuLL
post 20.12.2005, 13:24:24
Post #39





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Cytat
ew. sugestie wlasnie rozplanowania bo na sql malo sie znam

To proponowalbym poznac sie, bierzesz sie za cos o czym nie masz pojecia. Forum heavy-duty bez za dobrej znajomosci sql - swietny pomysl.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
ergo
post 20.12.2005, 13:36:57
Post #40





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


Cytat(NuLL @ 2005-12-20 12:24:24)
To proponowalbym poznac sie, bierzesz sie za cos o czym nie masz pojecia. Forum heavy-duty bez za dobrej znajomosci sql - swietny pomysl.

bez przesady ;P sredio skomplikowane forum , bez bajerow typu templaty itp. samo w sobie bym napisal bez problemu, tylko ta kwestia " dobrego rozplanowania " bazy , mnie martwi wlasnie - jak to zrobic najoptymalniej.
Ale wracajmy do tematu :]

Ten post edytował ergo 20.12.2005, 13:37:30


--------------------
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.08.2025 - 03:08