Pewnego dnia, zupełnie niespodziewanie otrzymałem od firmy hostującej (superhost.pl) moje oba blogi bardzo niepokojącą informację o następującej treści:
Niestety od dłuższego czasu Państwa konto generuje obciążenie, które przekracza maksymalne obciążenie dozwolone dla pakietu START. W obecniej postaci nie jesteśmy w stanie hostować Państwa na takim koncie. Proszę popracować nad optymalizacją skryptów lub przejść na wyższy pakiet. Jeśli sytuacja nie ulegnie poprawie, konto zostanie zawieszone dnia 06.09.2006.
Przyznam, że byłem trochę zaskoczony, choć z drugiej strony wiedziałem, że dokonywałem przez swoje konto transferów sporej ilości danych, gdy padł firmowy serwer FTP. Szybko sprawdziłem panel kontrolny mojego konta, który jednak nie wykazywał żadnych problemów z przekraczaniem limitów w ostatnim miesiącu, ani też w poprzednich. Co gorsza, z wiadomości wynika, że moje przewinienia są „od dłuższego czasu”, a moje transfery były raczej kwestią niedawną i jednostkową. WTF? – pomyślałem. I jak mam zabrać się za optymalizację i czego, skoro nie wiem, o jakie limity chodzi.
Co ciekawsze, wiadomość jest oficjalną groźbą rozwiązania umowy, a nie podaje ani o jakie „maksymalne obiążenie” chodzi, ani też dlaczego w ogóle chcą mi to konto zamknąć. Przestudiowałem regulamin i znalazłem stosowny punkt, który rzeczywiście pozwala firmie na takie działanie. Szkoda tylko, że w oficjalnym piśmie nic się nie wspomina na ten temat, ale kto by się tam w naszym kraju trzymał jakichś przyzwoitych procedur.
Sugestia optymalizacji skryptów jest może chwalebna, ale skoro nie wiem jakie właściwości tychże skryptów mam optymalizować, to nie wiem, co właściwie mam robić. Skoro nie znam charakteru obciążenia, nie wiem na co mam zwracać uwagę. Skoro nie mam możliwości monitorowania obciążenia innego niż transfer (a ten mieścił się w 60% limitu), to jak mam stwierdzić, że moje działania przynoszą pożądany, czy jakikolwiek, skutek?
Na dodatek to jest tylko blog i to nie należący do najpopularniejszej kategorii. Owszem, rozwiający się, ale bez przesady. Na dodatek jedyna wartościowa rada, którą daje się jasno przeczytać z otrzymanej wiadomości, to możliwość zmiany pakietu na wyższy, czyli droższy. Ogólnie ujmując, wyglądało to na próbę „zachęcenia” mnie do wykupienia droższej usługi pod nieokreślonym pretekstem niemożności korzystania z obecnej.
Użyłem tych wszystkich argumentów w mojej odpowiedzi, wyrażając oburzenie na sposób, w jaki firma traktuje swoich klientów. I oczekiwałem szybkiej odpowiedzi, bo czas uciekał. Odpowiedź nadeszła chyba po 2 dniach:
Witam, problem polega na tym �e skrypt kt�ry wyknuje si� z Pana konta obci��a znacznie nasz procesor. Inni u�ytkownicy serwera maj� problem z korzystaniem z tego serwera poniewa� Pana skrypty nie sa dopsowane do takiej ilo�ci odwiedzaj�cych lub te� zawieraj� b��d. Prosz� so� dostosowa� do terminu 06.09.2006 bo nie mo�emy �wiadczy� us�ug na najwy�szym poziomie ze wzgl�du na obci��enia generowane przez wadliwe skrypty. Porblemy s� z nast�puj�cym skryptem: detalion /usr/bin/php index.php. Prosze poprawi� lub zmieni� pakiet na wy�szy.
Pozdrawiam.
Tak, oprogramawanie użyte do napisania tej odpowiedzi nie oznacza sposobu kodowania polskich znaków, więc zobaczyłem ją tak, jak widać powyżej. Profeska.
Poza tym, że odpowiedź zignorowała większość kwestii i pytań podnoszonych w mojej wiadomości, to niosła jedną cenną informację – wyjaśniło się, o jakie obciążenie i jakie limity chodzi. Moje skrytpy generowały zbyt duże obciążenie CPU, uniemożliwiając innym klientom korzystanie z serwera. Totalna dominacja!
Problem w tym, że podana ścieżka jest nic nie warta. Informuje jedynie, że za nadmierne obciążenie jest odpowiedzialny interpreter języka PHP przetwarzający stronę index.php. Ha, to ci wiadomość. Moje konto obsługuje 3 domeny, a każda z nich zawiera przynajmniej jedną stronę index.php, a tak naprawdę jest ich znacznie więcej. I która z nich jest winna? Każdy, kto choć trochę otarł się o kontrolę jakości, wie, że takie raporty są nic nie warte, bo nie przybliżają nikogo do rozwiązania problemu.
Oczywiście nie trzeba być też geniuszem, aby zorientować się, że chodzi o główny skrypt najpopularniejszej mojej domeny, więc zamiast wojować moimi celnymi argumentami, po prostu poczytałem to i owo i dokonałem pewnych zmian. Usunąłem statystyki, które z pewnością obciążały znacznie bazę i CPU. Zainstalowałem dodatkowy mechanizm cache (WP-Cache), który powinien zmiejszyć obciążenie bazy. Dodałem 2 systemy (Bad Behavior i Referrer Karma) przeciwdziałające dostępowi do bloga przez spamboty szukające możliwości podrzucenia mi spamowych pingów i trackbacków – co prawda inna wtyczka (Spam Karma 2) skutecznie je odsiewa, ale same próby dostępu już generują zbędne obciążenie. Oczywiście były to działania w ciemno, bo nie otrzymałem żadnej możliwości sprawdzenia rezultatów. Poinformowałem usługodawcę o podjętych krokach i oczekiwałem na wyrok, bo deadline był tuż, tuż. Oto on:
Witam, sytuacja wczoraj sie ustabilizowała ale będzie Pan pod obserwacją.
Uff, zdążyłem. Ale będę pod obserwacją. Niezmiernie się cieszę.
Całe to doświadczenie przekonało mnie, że muszę zmienić firmę hostingową, bo superhost.pl nie jest firmą, która potrafi świadczyć usługi na najwyższym poziomie, niezależnie, co tam sobie deklaruje. Dlaczego superhost nie jest firmą godną polecenia? Dlatego:
- Nie potrafi jasno i przejrzyście powiadomić klienta o problemie, który go dotyka – musiałem domagać się wyjaśnienia lakonicznego komunikatu, zamiast otrzymać takie informacje na wstępie. Na dodatek wyjaśnienie w niczym nie pomogłoby klientowi bez mojego doświadczenia i znajomości tematów.
- Przedstawiciele firmy nie czytają ze zrozumieniem i nie odpowiadają na kierowane do nich pytania – w szczególności nie dowiedziałem się, czy zmiana pakietu rozwiąże problem moich „wadliwych” przecież skryptów. Sugeruje to, że oferowane „rozwiązanie” problemu wcale nim nie jest.
- Stosuje niejawne metody limitowania obciążenia (w tym wypadku chodzi o obciążenie CPU) bez uprzedniego powiadomienia o tym klientów i bez udostępnienia im możliwości monitorowania takiego obciążenia. Klient dowiaduje się, że popełnia nieświadomie jakieś wykroczenie i nie wie, o co konkretnie chodzi i dlaczego tak się dzieje.
- Nie pomaga użytkownikom w likwidacji problemów – choćby przez informację o tym, co jest konkretną przyczyną problemu. Klient zostaje sam ze swoim problemem i musi go sam rozwiązać, działając w ciemno, z braku możliwości oceny skuteczności swoich działań.
- Nie ma ustawionego kodowania znaków w systemie odpowiadania na zapytania klientów, przez co otrzymane wiadomości wyglądają jak w cytacie powyżej. To też nie świadczy o profesjonalizmie firmy.
- Jako rozwiązanie problemu podaje zmianę pakietu na droższy, bez żadnego uzasadnienia, że taka zmiana jest naprawdę konieczna. Co gorsza, nie ma żadnej pewności, że zmiana pakietu zapewni likwidację kłopotu.
I nie dlatego superhost.pl nie jest w stanie świadczyć usług klientom na najwyższym poziomie, bo uruchamiam jakieś „wadliwe” skrypty, ale dlatego, że po prostu nie potrafi. Dowodzi tego obsługa mojej skromnej osoby, która nie była nawet na poziomie średnim.
Kiedyś polecałem superhost.pl każdemu. Od teraz, będę go odradzał, co niniejszym czynię. I już, dzięki moim czytelnikom, zabrałem się za sprawdzanie alternatywnych serwisów. Mam już na oku bardzo ciekawego kandydata. I odpowiadają szybko i na temat. Dam znać, kiedy się zdecyduję.