Powiedziało się "A", trzeba powiedzieć "B" - do dokumentacji projektu Rummager dodałem opis serwisu „RumSrv” (Rummager Service) - to "endpoint" wykorzystywany przez procesy typu Worker (opisane już wcześniej). Serwis przekłada wywołania SOAP na odpowiednie zapytania/instrukcje SQL, wykonuje SQL-e i zwraca ewentualne wyniki - po drodze brak kolejek czy jakiś mechanizmów buforujących. Aktualne brak również mechanizmu autoryzacji realizowanej przez sam serwis, jeżeli autoryzacja jest kluczowa to pozostają możliwości związane z różnymi mechanizmami zaimplementowanymi w protokołach takich jak SSL czy HTTP/HTTPS. Rozmieszczenie plików dostępowych (soap.php i reports.php, zobacz: github: rummager-service) w dwóch różnych katalogach (public i public_reports) nie jest tutaj przypadkowe, celem jest umożliwienie zabezpieczenia katalogu z głównym plikiem dostępowym (wykorzystywanym przez procesy typu Worker) - soap.php. Plik reports.php nie wydaje się być tak newralgiczny i jego zabezpieczenie raczej jest opcjonalne. Po dodaniu autoryzacji do serwisu zawartość katalogów public i public_reports zostanie "zmerdżowana" (być może również same pliki, choć to już mniej prawdopodobne, zostaną scalone w jeden). Zapraszam na stronę opisu!
I jeszcze krótkie podsumowanie - mija pierwszy rok w miarę stabilnej pracy serwisu, wykres "Rummager – ilość przeskanowanych hostów" (powinienem jeszcze dodać „per miesiąc”) pokazuje aktualne „osiągi” systemu. Na niebiesko (Serie1) widać statystyki instancji "hostowanej", na pomarańczowo (Serie2) instancji wykorzystującej VPS - jak widać, w tej konkurencji, standardowy hosting wypada zdecydowanie gorzej. Na początku korzystałem głównie z hostingu, maksymalna ilość zeskanowanych hostów przy wykorzystaniu tego typu usługi przypada na czerwiec – 16mln – wtedy korzystałem z pakietu kosztującego ponad 700zł rocznie u jednego z największych usługodawców w Polsce. Spadek liczby hostów skanowanych per miesiąc obserwowany od października (przy wykorzystaniu „hostingu”) wynika ze zmiany pakietu na tańszy – wąskim gardłem okazało się tu 50 GB transferu miesięcznie. Bariera 16 mln wynikała z ograniczeń tego typu usługi (w tym konkretnym przypadku z maksymalnej ilości możliwych równoległych połączeń), ale każdy usługodawca hostingu w jakiś sposób ogranicza dostęp do zasobów serwera (w przypadku innego usługodawcy może to być np maksymalny czas przetwarzania zapytania SQL) - tak czy inaczej, usługi typu Rummager wydają się nie nadawać na "standardowy" hosting. Dlatego postanowiłem wypróbować usługę typu VPS – wyniki przeszły moje najśmielsze oczekiwania (przypominam - kolor pomarańczowy na wykresie to VPS!). Przedstawiona statystyka dotyczy serwerka raczej lichego – 1 CPU, 512MB RAM, i jedyna "mocna" strona: SSD – koszt… 5$/miesiąc (digitalocean.com/pricing), czyli liczmy 240zł na rok! Wzrost wydajności OGROMNY! W listopadzie liczba zeskanowanych hostów, dla instancji systemu wykorzystującej VPS, wyniosła ponad 47 mln! Strach się bać co będzie, jak zacznę wykorzystywać VPS w konfiguracji 2xCPU, 3GB RAM, SSD – 25zł/miesiąc, czyli 300zł / rok (tym razem polski dostawca - mintshost.pl/vps) - usługa już wykupiona, trzeba tylko zainstalować/skonfigurować serwis. Wykorzystując nowy VPS mam nadzieję na przynajmniej 4 mln hostów per dzień (co powinno dać jakieś 120 mln / m-c)! To już dość blisko zakładanych przeze mnie na początku 11 mln / dzień (wg moich wstępnych obliczeń taka "prędkość" pozwoli na przeskanowanie całego wykorzystywanego publicznie zakresu ipv4 w jeden rok) - zobaczymy, dam znać jak to działa!