sobota, września 03, 2011

GAE zmienia ceny i darmową quota'ę... a ja zmieniam kod ;-)

Google postanowiło zmienić cennik w Google App Engine. Niestety oznacza to też zmiany w wielkości darmowej quota'y.
Mnie wyliczyli, że pod nowymi cenami będę musiał płacić nawet 1 USD dziennie za www.przemelek.pl, gdzie największe obciążenie związane jest z 1 servletem, który obsługuje sprawdzanie czy nie ma nowej wersji OOo2GD :-)
Jak widać najwięcej kosztowałoby mnie coś co zowie się "Fronted Instances Hours".
Z tego co rozumiem są to godziny aktywności instancji. Jeśli aplikacja działa tak, że ciągle uruchomiona jest 1 instancja to będzie tych godzin 24 i wszystko jest OK, jeśli aplikacja działa tak, że GAE odpala nową instancję to są problemy.
Tutaj obejście jest proste, wystarczyło dodać <threadsafe>true</threadsafe> do appengine-web.xml i wszystko wygląda dobrze.

Gorzej jest z przekraczaniem ilości "Datastore Writes", wychodzi że przeciętnie mam tego 140 tysięcy sztuk dziennie, a za friko to mogę dostać tylko 50 tysięcy....
Tutaj podjąłem działania, które mam nadzieje zaowocują spadkiem liczby zapisów ;-)

Do teraz miałem tak, że każde uderzenie w servlet dla OOo2GD powodowało zapis do bazy, później co 2 minuty startowało zadanie z CRONa, które sprawdzało czy są jakieś zapisane uderzenia i na ich podstawie uaktualniało "statystyki".
Teraz od razu uderzenie w servlet uaktualnia statystyki, do tego robi to tylko wtedy gdy żądanie przyszło po GET.
Często 1 zapytanie o nową wersję OOo2GD oznacza 4 uderzenia w servlet, pierwsze jest GETem, 3 pozostałe to PROPFINDem. Do teraz wszystkie się rejestrowały i później zadanie z CRONa musiało filtrować to tak by zapisać 1 aktualizację.
Teraz powinno być lepiej, a co najlepsze powinno to eliminować dodatkowe zapisy do bazy :-) [wychodzi na to, że kasowanie też jest liczone jako zapis, co ma sens, ale kasowanie 100 rekordów to też 100 zapisów :-(].
Na razie jednak nie wiem czy, a jeśli tak, to o ile się poprawią moje statystyki ;-) Po poniedziałku powinno być wiadomo.

W najgorszym przypadku wyłączę po prostu liczenie tych statystyk, bo apkę na GAE chcę mieć nadal ;-)


Podobne postybeta
Prawdopodobieństwem w quote'e ;-)
O tym o co mam pretensje do Google ;-)
Niestraszna mi quota w Google App Engine ;-)
Spóźnialskie Google Latitude ;-)
Teoretyczny limit życia dysku SSD w Asus EEE.