Skocz do zawartości

[MySQL] Pytanie na temat optymalizacji połączeń baz danych


pseudoseowiec

Rekomendowane odpowiedzi

Od czasu do czasu pojawia się na serwerze komunikat, iż jest aktywnych zbyt wiele połączeń do bazy danych.

Mam strony na serwerze współdzielonym, a tam są limity połączeń do baz danych.

Czy problem zmniejszy się jeżeli stworze kilka baz danych i na jednej stronie będę się łączył jednocześnie do tabel które są na oddzielnych bazach danych?

Czy może stworzyć jedną bazę i nawiązać tylko jedno połączenie (do jednej bazy danych), ale kilku tabel.

Macie jakieś wskazówki do optymalizacji połączeń ?

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, zastosować cachowanie danych...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Tylko, czy prawidłowo, bo dużo osób robi cachowanie samych wyników zapytania z pominięciem samego zapytania :soczek:

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Na tym konkretnym serwerze możesz przekraczać limit... a na innym będzie działało całkowicie normalnie.

Bo na przykład serwer jest przeciążony, albo ktoś od czasu do czasu wysyła "cięższe" kwerendy. Ja bym spróbował przenieść bazę na inny serwer, albo przynajmniej podłączyć pod klasę do obsługi bazy jakiś prosty skrypt który mierzy czas zapytań... bo jeśli nie masz skopanej bazy (brak indeksów, fragmentacja, źle napisane joiny) to na shared tak na prawdę bardzo niewiele od ciebie zależy :soczek:

Bez adresu strony i nazwy hostingu i tak praktycznie nic użytecznego nie można powiedzieć :D

Odnośnik do komentarza
Udostępnij na innych stronach

Limit połączeń - zobacz, czy nie łączysz się niepotrzebnie do bazy danych - np. częstym błędem jest łączenie do MySQL niezależnie od tego, czy w ogóle dane są z niego pobierane. Zrób sobie lazy load, czyli ładuj dane wtedy, kiedy ich potrzebujesz, resztę czytaj z cache. Przy dobrze napisanym cache i danych, które nie wymagają randomizacji i bardzo szybkich aktualizacji problem powinien ustąpić.

Możesz też skorzystać z SQLite, do większości małych zastosowań jest IMHO wygodniejszy, np. stawiając zaplecze kopiujesz jeden plik, bez bawienia się przez PhpMyAdminy, hasła, connecty itd.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności