“A u nas działa”, niekończąca się historia

Z niekończących się przygód, jakie prawie codziennie serwuje mi mój provider dzisiaj doszła kolejna niespodzianka: baza danych. WordPress, który niepodzielnie króluje na moim blogu korzysta z MySQL (w wersji 4) na serwerach backendowych. I oto dzisiaj ten serwer postanowił odmówić współpracy …

Zaczęło się od niewinnego “User ‘***’ has exceeded the ‘max_questions’ resource (current value: 70000)”. 70k zapytań to przy nawet 50 zapytań w czasie jednego otwarcia strony WP (wliczam tekst, linki, tagi) daje 1400 wejść bez wyświetlenia tego błędu na godzinę. Zrobiłem więc test - zdjąłem główny plik index.php i nadpisałem go “przerwą techniczną”. Zaczekałem godzinę nie dotykając bazy. W tym czasie plik, który poprzednio serwował strony WordPressowe zamieniłem na _index.php. Po ponad godzinie sprawdziłem ponownie - 70k limit - ten sam błąd. Poprosiłem pomoc techniczną Servage by coś z tym zrobili, bo ewidentnie coś śmierdzi. Sprawdzili i odpisali, że “u nas działa”. U mnie też, czasami, pierwsze otwarcie - OK, następne już błędy. Kolejne: WordPress database error: [MySQL server has gone away]. Gone? Fuck where?

Po kilku przepychankach słownych i wymianie korespondencji poszli po rozum do głowy i zaproponowali, bym utworzył nową bazę, wyeksportował starą, zaimportował do nowej, zmienił ustawienia. Efekt widzicie sami. Wszystko działa OK.
Btw
, zostałem przy wersji 4 ze względu na kodowanie. Niby 4-ka eksportowała jako UTF-8, niby wersja 5-ta importowała jako UTF-8, ale jednak widziałem krzaki jako efekt końcowy. Jeśli ktoś zna rozwiązanie, to chętnie poczytam.

Już nie liczę na to, że Servage znów się czegoś nauczy z tej lekcji. Zostałem twardym pesymistą w tej kwestii. Dla mnie jednak, jest to doskonała lekcja, jak klienci nie powinni być obsługiwani i jakich odpowiedzi unikać. Jeśli dyskutuje się z idiotami, w miarę czasu zniża się do ich poziomu …
Mimo, że co najmniej dwa razy dzisiaj i niezliczoną ilość razy wcześniej tłumaczyłem pomocy technicznej firmy Sarvage, że wiem co to cache/proxy/itp i wiem jak omijać efekty stron w pamięci, oni uparcie za każdym razem proszą mnie o sprawdzenie, czy aby przeglądarka nie korzysta z cache.

4 Responses to ““A u nas działa”, niekończąca się historia”


  1. Gravatar Icon 1 Mariusz masakra Kędziora

    A już się zastanawiałem czy Cię wrogie słuzby zdjęły z sieci?

    Ale powiem Ci, że nie ty jeden masz problem z serwerem. Mój ostatnio padł na 30h!!! Dzwonię po 4h padu do nich, a oni na to, że owszem jest problem i go rozwiązują.

    Na pytanie dlaczego nie poinformowali o problemie już odpowiedzi się nie doczekałem - i nie mówię że od razu, ale nawet po 3 dniach… Ehhh… A tak ich polecałem znajomym i sam hostowałem tam w sumie wszystko.

  2. Gravatar Icon 2 Cezary Okupski

    Oprócz kodowania UTF-8 po stronie serwera ważne jest jeszcze kodowanie połączenia z bazą. Ważna sprawa, jakiego narzędzia użyłeś do eksportu (lub np. w jaki sposób WordPress wkłada Ci dane do bazy). Częstym problemem jest, że PHP-owy moduł mysql domyślnie łączy się w ISO-8859-1, natomiast mysqli już w UTF-8. Wymuszenie połączenia UTF-8 w tym pierwszym uzyskuje się, wykonując zapytanie SET NAMES UTF8; przed innymi, które wykonuje aplikacja.

    Jeśli to, co opisałem nie jest jeszcze rozwiązaniem Twojego problemu, to może przynajmniej Cię naprowadzi. :)

  3. Gravatar Icon 3 ptashek

    O ile pamietam testowalismy z Michalem opcje SET NAMES UTF8, przy okazji innej bazy a efekt byl ten sam - krzak. Ogolnie praca z Unicode jest problematyczna jesli wszystkie elementy po drodze od A do B nie korzystaja z UTF. Problem polega glownie na translacji, ktora - w PHP szczegolnie - jest dosc slabo rozwiazana.

  4. Gravatar Icon 4 p0wer

    Niedawno miałem problemy z kodowanie na styku MySQL - MS SQL. Rozwiązaniem było “set names cp1250″ po stronie MyODBC. Przy okazji strony w PHP która ładowała dane do MySQLa wyszło mi, że MySQL przekodowuje krzaczki samoczynnie. Dlaczego konwersja ze starej na nową nie działa - trudno powiedzieć. Sprawdź jeszcze czy kodowanie na konkretnej bazie danych jest takie samo w starej i nowej bazie, to ważne żeby było to samo. Najlepiej by było gdyby wszędzie po drodze zastosować takie samo kodowanie jak na bazie w MySQL 4, w tym szczególnie na połączeniu z bazą. Alternatywnie spróbuj z MySQLa 4 wyeksportować w ISO8859-2, może wersja 4 nie radzi sobie poprawnie z Unicode…

Leave a Reply




Disclaimer

All postings are provided "AS IS" with no warranties, and confer no rights. This weblog does not represent the thoughts, intentions, plans or strategies of Microsoft or any other company or organization. Because a weblog is intended to provide a semi-permanent point-in-time snapshot, you should not consider out of date posts to reflect current thoughts and opinions.
All rights reserved. Quotations from this blog require author's written approval.
PL: Wszelkie prawa zastrzeżone. Cytaty z tego bloga wymagają pisemnego zezwolenia autora.

Add to Technorati Favorites