![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam się czy jest możliwość sprawdzenia optymalnej (lub maksymalnej) ilości baz danych na serwerze (serwer przeznaczony jedynie na bazy danych)? Jeżeli jest taka możliwość proszę o wskazówki... Oczywiście zależnie od konfiguracji serwera (procesor, pamięć etc.).
Każda baza to maksymalnie 15 tabel, głównie informacje takie jak imię, nazwisko, adres. Przewidywana ilość zapytań dla każdej bazy to 1/5 minut - czyli nie wiele. Planuję ograniczyć liczbę baz do 500set na serwer co da około 100 zapytań na minutę - czyli raczej dobrze (zależy mi na wydajności). Ale to są znaki zapytania... Z góry dziękuję za każdą konstruktywną odpowiedź. Nie ważne jaka baza danych, sam myślę o MySql, ale postgre też nie jest mi obce (IMG:style_emoticons/default/wink.gif) (ms odpada - mam uraz (IMG:style_emoticons/default/wink.gif) przez sqlsrv) Ten post edytował ixpack 24.05.2011, 11:31:15 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 30 Dołączył: 5.05.2007 Skąd: Mannheim Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jezeli chcesz powielic ilosc tych samych baz do 500 to nic bardziej blednego zrobic nie mozna ( albo i mozna (IMG:style_emoticons/default/biggrin.gif) ). Niezaleznie od tego czy masz jedna czy 500 pracuja one na jednym serwerze. Wiec mysql bedzie w kwestii zapytan dokladnie tak samo obciazony. Wazne przy serwerze Baz Danych sa : 1. ilosc i szybkosc procesorow, co pozwala na jednoczesne startowanie wiekszej ilosci watkow 2. Dostepna ilosc pamieci RAM, ktora pozawala na cachowanie wynikow przez mechanizm mysql 3. Szybki dysk, ktory nie zameczy sie przy duzej ilosci dostepu do danych na nim zapisanych. Ostatnim rozwiazeniem, zastosowanym w mojej firmie jest wykorzystanie do mysql pamieci SSD zamiast dostepu do dysku. 4. Poprawne ustawinia w pliku konfiguracyjnym , ktore powinny byc po strestestch dodstosowane indywidualnie do potrzeb. Mialem przyjemnosc uczestniczenia w szkoleniu prowadzonym przez praconikow z MYSQL i uslyszalem u zrodla, ze dwuprocesorowa myszyna spokojnie wytrzymuje od 500-1000 zapytan na sekunde. Ale : Po piersze drugie trzecie i czwarte to optymalizacja zapytan (IMG:style_emoticons/default/exclamation.gif) !!!!!!!!!! Po piate indexy tam gdzie sa potrzebne Po szoste dopasowanie typow kolumn do typow przchowywanych w nich danych ( Kolumna nie musi by INTEGER jezeli zakres liczb bedzie np 100 ) Po siodme sortowanie, grupowanie indeksowanych wartosci najlepiej numerycznych. Po osme ograniczenie warunku OR na rzecz UNION. Po dziewiate starac sie przniesc SUBQUERY z warstwy danych do warstwy logiki ( niekoniecznie SELECT * FROM cos WHERE id IN ( SELECT id FROM cos innego WHERE cos ) , a raczej SELECT * FROM cos WHERE id IN ( 2, 5, 6, 48 ) , gdzie id generujemy w logicznej czesci aplikacji ) Po dziesiate typy Tabel. Jezeli spodzeiwamy sie w jakiejs tabeli setki zmian na sekunde ( updatow ), np przy ogromnym trafiku tabele przechowujace dane sesyjne sa updajtowane na biezaco stosujmy INNODB a nie MYISAM, poniewaz MYISAM blokuje dostep dla innego watku do momentu zakonczenia operacji co moze wygenerowac piramide oczekujacych watkow a w efekcie " TO MANY CONNECTIONS (IMG:style_emoticons/default/biggrin.gif) " Mozna tak wymieniac jeszcze bardzo dlugo Dla informacji dodam ze nasze Serwery DB to dwie maszyny 16 procesorowe z pamiecia 24GB polaczone w konfiguracji Master-Master ( tak tak - nie Master-Slave ). Skonfigurowany sprzet wytrzymuje bez najmniejszych problemow ok 8-12 milinow odlon stron dziennie. Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 14:17 |