Witam,
Jestem słabo obeznany a wziąłem sobie na kark obsługę pewnego projektu.
Projekt prosty - www + kilka skryptów php + baza sql.
Baza jest nie duża: 2 tabele - jedna 10.000 wierszy, druga 900 wierszy.
Problem zaczął się z przekraczaniem limitów zapytań do bazy, choć zupełnie nie wiem z czego się to bierze, gdyż ogół wizyt na stronie dzinnie nie przekracza 20-30. Serwer jednak blokuje bazę wypluwając komunikat:
1226: User 'xxx' has exceeded the 'max_questions' resource (current value: 600000000)
i baza pada na jakiś czas.
Ponieważ limit zapytań ustawiony jest na konkretną bazę uworzyłem kopię bazy z myślą, żeby sprawdzać przed wykonaniem zapytania wartość 'max_questions' i przy przekroczeniu limitu nie narażać się na zwiechę bazy, ale przekierować zapytania do kopii bazy.
Jak sprawdzić wartość 'max_questions' przed wykonaniem zapytania do bazy??
$link = mysql_connect('xxxl:3306', $username, $password) or die('Nie można się połączyć: ' . mysql_error());
@mysql_select_db($database) or die("Nie udało się wybrać bazy danych");
$result=mysql_query("SELECT * FROM cmentarz WHERE id = ".$m);
Jedyne rozwiązanie jakie na szybko przyszło mi do głowy, dla zmniejszenia ilości zapytań generowanych do bazy sql, to utworzenie kilku kopii tej samej bazy. Kilka skryptów odwołujących się do bazy odwołuje się teraz do róznych baz - każdy do swojej. Teoretycznie powinno to dla 4 baz zmniejszyć ilość zapytań o 75% dla bazy, ale nie mam pojęcia który ze skryptów generuje największą ilość zapytań.
Da się to jakoś sprawdzić? Czy tylko za pomocą admina powidera??