Zmiany we free tier w Google Cloud Platform

Tytułem wstępu: Google ma swoją chmurę, czyli Google Cloud Platform, a w ramach niej coś takiego jak free tier, czyli zasoby dostępne bez opłat[1]. Zasoby są niewielkie, dodatkowo podlegające pewnym ograniczeniom, raczej do zabawy. Ale do testów, nauki czy właśnie zabawy – idealne. Między innymi można mieć uruchomioną w ramach compute engine najsłabszą VMkę, czyli f1-micro.

Mail

Jeśli ktoś korzysta z GCP, to zapewne dostał już maila. Dla tych, co maila przeoczyli, krótkie podsumowanie. Od pierwszego sierpnia 2021 instancje e2-micro są bezpłatne (w określonej ilości czasu), natomiast od pierwszego września instancje f1-micro będą płatne. Regiony pozostają bez zmian. Instrukcja zmiany linkowana w mailu dostępna jest tu.

To różne platformy, więc ciężko porównać dokładnie, ale:
f1-micro to 0.2 VCPU i 0.6 GB RAM w cenie $0.0076 (us-central1)
e2-micro to 0.25 VCPU i 1 GB RAM w cenie $0.008376 (us-central1)
Dodatkowo w przypadku e2-micro możliwy jest burst do 2 VCPU.

Google pisze[2]:

As we improve the experience of the Free Tier, we will be introducing the E2-micro VM, which is a part of a second generation VM family.

Wydajność

W przypadku RAM zysk jest oczywisty, natomiast w przypadku CPU – niekoniecznie. Wiele zależy od tego, na jakiej platformie CPU znajduje się obecnie VMka, i na jakiej wyląduje po przeniesieniu. Tabela platform CPU dla serii N1 i E2 jest dość skomplikowana. Jednak patrząc na base frequency, przeciętnie powinno być szybciej.

I jeszcze wynik cat /proc/cpuinfo z mojej instancji f1-micro:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2299.998
cache size : 46080 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology n$
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips : 4599.99
clflush size : 64

Jak się zmigruję to uzupełnię wpis, co dostałem po migracji i jak wrażenia.

Migracja

Wczoraj zmigrowałem maszynę na e2-micro. Migracja błyskawiczna i bezproblemowa. Zgodnie z instrukcją zatrzymać instancję, wyedytować typ, zapisać zmianę, uruchomić maszynę.

Po migracji dostałem dokładnie ten sam procesor. Tyle, że teraz cat /proc/cpuinfo pokazuje dwa. Jeśli chodzi o osiągi i wydajność w praktyce, to najlepiej widać to na obrazku.

Wykorzystanie CPU na f1-micro i po migracji na e2-micro w GCP free tier
Wykorzystanie CPU na f1-micro vs e2-micro

Migracja chwilę przed 12:00, później wzrost obciążenia spowodowany porządkami, chwilę po 18:00 koniec ostatnich ręcznych prac. Jak widać, główny zysk wynika ze wzrostu mnożnika z 0.2 do 0.25 VCPU. Ponieważ przydział jest dynamiczny, procesy jednowątkowe także skorzystają na zmianie parametrów.

Podsumowując, warto migrować, bo e2-micro w stosunku do f1-micro oferuje 66% więcej RAM i 25% więcej CPU.

[1] Wymagane jest podpięcie karty debetowej, a po przekroczeniu puli darmowych zasobów jest automatycznie naliczana opłata za przekroczoną część.
[2] Nawiasem, wysłaniem tego maila Google Cloud Platform zdobyło u mnie sporo punktów sympatii. Mogli przecież np. zamieścić info o zmianie cenników free tier na blogu i billować nieuważnych, albo wysłać suchego maila o zmianach w cenniku. Wiele firm tak właśnie by postąpiło. A tu osobne, czytelne powiadomienie, z instrukcją migracji. Miło.

Kalenji Run Active Grip

Ostatnio zacząłem się zastanawiać, jak długo już biegam w nowych butach. Ustaliłem, że blisko rok minął, odkąd kupiłem Kalenji Run Active Grip. Kupiłem je zachęcony tym wpisem, w Decathlonie, za ok. 120 zł. Pora opisać wrażenia.

Wcześniej biegałem w butach z Lidla jakoś o połowę tańszych, czyli zupełny entry level. Wydawały mi się OK. Od razu dodam, że chodzi o okazjonalne bieganie na dystansie do paru km (podsumowanie biegania za 2020). Teren mieszany – trochę asfaltu, trochę gruntówki, trochę trawy lub piachu. Z czasem zaczęły trochę się zużywać. Ponieważ miały gładkie podeszwy, w trudniejszych warunkach, np. po deszczu, na błocie, potrafiłem się w nich poślizgnąć.

Przesiadkę na Kalenji Run Active Grip pamiętam dokładnie, bo za krótkie skarpetki w połączeniu z nowymi butami zaowocowały obtartymi stopami. Jednorazowy wypadek i zdecydowanie moja wina. Pamiętam też, że noga zupełnie inaczej leżała. I jeszcze w porównaniu do poprzednich butów zauważyłem znacznie lepszą amortyzację. Tamte jej po prostu nie miały.

Przyczepność bardzo dobra, jednak delikatne zdawałoby się wypustki na podeszwach robią robotę. Nadal oczywiście uważam biegnąc po mokrym, ale nie kojarzę poślizgów, nawet na błocie. Z drugiej strony wypustki są na tyle delikatne, że zupełnie nie przeszkadzają na asfalcie.

Po krótkim przyzwyczajeniu, rzędu dwa lub trzy biegi – buty są wygodne, biega się dobrze. Jeśli chodzi o trwałość, to wyraźnych oznak zużycia brak. Czyli generalnie jestem zadowolony i gdybym miał dziś kupować buty, to zdecydowanie jest to pierwszy kandydat do zakupu.

Gdyby ktoś szukał, trzeba zwrócić uwagę na nazwę, bo tak nieszczęśliwie się składa, że producent oferuje też różniące się jedynie brakiem Grip w nazwie buty, z gładką podeszwą. Niby logiczne, ale w sklepie miałem moment zawahania. Na szczęście szybkie sprawdzenie na telefonie rozwiało wątpliwości.

Bateria w laptopie

Jakoś tak zeszło ze znajomymi na rozmowę o komputerach. Dokładniej o laptopach wykupionych z pracy. No i mówię, że wszystko fajnie, ale bateria chyba będzie wymagała wymiany u mnie, bo nie trzyma jak dawniej. Oczywiście gdyby laptop był zbudowany jak kiedyś, zwyczajnie wymieniłbym ją i zapomniał o temacie. Jednak teraz zamiast osobnej baterii, którą można wpiąć z zewnątrz, są zabudowane, w środku laptopa. Czyli z prostego wypięcia starej i wpięcia nowej zrobiła się trochę bardziej skomplikowana operacja, co trochę zniechęca.

Tym bardziej, że bateria nadal trzyma tylko… krócej. W zasadzie określenie „trzyma krócej” to nadużycie, bo nie wiedziałem, ile naprawdę trzyma. Zauważyłem, że komunikat o niskim stanie naładowania pojawia się wcześniej. I miałem wrażenie, że nagle. Trochę sfera domysłów, ale po pierwsze raczej rzadko korzystam z tego sprzętu na baterii, a po drugie raczej nie śledzę wtedy stanu naładowania, bo robię coś innego.

Pomiar

W każdym razie rozmowa skłoniła mnie, żeby sprawę zbadać dokładniej. Żeby zobaczyć, ile trzyma bateria, popełniłem szybki skrypt:

#!/bin/bash
OUT='/home/rozie/battery.log'
while :
do
date >> $OUT
acpi >> $OUT
sleep 60
done

Po uruchomienu, co minutę w pliku dodawane są dwie linie. Data i stan baterii. Na przykład:

nie, 30 maj 2021, 19:49:52 CEST
Battery 0: Discharging, 95%, 09:06:51 remaining

Nie jest to idealna wersja do parsowania, ale widać co się działo i kiedy.

Odłączyłem laptopa od zasilania i czekałem. W sumie nie doczekałem się wyłączenia, bo usnąłem. No ale po to właśnie był log.

Okazało się, że laptop działał długo. Stwierdziłem, że do określenia wszystkie wystarczy tak naprawdę sam stan naładowania baterii. W końcu próbki są robione dokładnie co minutę, więc czas będzie znany.

Wynik

Przerzuciłem do CSV i zrobiłem wykres:

Wizualizacja raportowanej pojemności baterii w procentach

Jak widać potwierdziło się wszystko, co mi się wydawało. Bateria trzyma długo, bo prawie 6h. Co prawda to raczej okolice idle, ale nadal sporo, zwłaszcza jak na kilkuletni sprzęt. Widać też, że zgłaszana pojemność gwałtownie spada po ok. 3,5 h.

Czyli jest problem. Szukałem jak go rozwiązać i póki co wyczytałem tylko tyle, że system ma tu niewiele do powiedzenia. Na razie znalazłem taką radę. Rozładowałem do zera, choć miałem opory, bo coś mi się kojarzy, że to niezbyt zdrowe dla baterii. Chyba nie pomogło. Ewentualnie hibernacja coś tu ma do rzeczy.

Za to znalazłem lepsze narzędzie do pomiaru stanu baterii laptopa w czasie. Battery-stats, bo o nim mowa, jest ładnym rozwinięciem prostej idei z powyższego skryptu dostępnym w repozytoriach Debiana. Jest i porządny plik, czytelny dla człowieka, i skrypt w bashu, który z pomocą gnuplot generuje wykres.

Gdyby ktoś miał pomysł, jak sprawić, aby cały czas pokazywana była rzeczywista pojemność i pozostały czas pracy, chętnie przyjmę rady. Wymieniać nie będę. Nawet gdybym miał wyłączać laptopa po tych 3,5 h, to w zupełności mi to wystarcza.