2014-04-30 25 views
10

Używam phantom js do testowania dostępu do strony internetowej, to działa w przybliżeniu 350 razy w ciągu około pół godziny. Następnie uruchamiam webalizer na serwerze, aby przetestować dostęp do strony.PhantomJS przechowuje pamięć podręczną

Moi fantomowi js klienci znajdują się wewnątrz 1 instancji phantom js, więc w zasadzie działa w tym sensie, że gdy jeden klient otworzy stronę internetową, rozpoczyna się następny klient, wszystkie z indywidualnymi adresami IP i adresami MAC w całym tekście.

Jednak to, co znajduję w webalizerze, to to, że podczas gdy dostaję 350 trafień na serwer, otrzymuję tylko 1 hit na instancję phantomjs, którą uruchamiam na niektórych plikach css i innych. Tak więc wpadłem na pomysł, aby razem cachingować klientów.

Podjęto próbę uruchomienia --max-disk-cache-size = 0 podczas wywoływania instancji phantom js, ale nadal widzę, że działa ona tak samo.

Czy ktoś wcześniej doświadczył tego samego?

Odpowiedz

19

Uruchom page.clearMemoryCache(); przed page.open można wyczyścić pamięć podręczną.

Jest to zgodne z this issue i działa poprawnie w PhantomJS 2.0.

+0

Kwestia wspomina również, że problem może pozostać - czy to prawda? –

+2

Nie działa. Otrzymuję '[TypeError: page.clearMemoryCache nie jest funkcją]' – TetraDev

-1

Nie ma sposobu na wyczyszczenie pamięci podręcznej (pamięci lub dysku). Problem jest otwarty na github here od kilku miesięcy i nadal mam nadzieję, że zostanie on wydany w przyszłości.

Jedynym sposobem jest uruchomienie nowej instancji phantomjs bez pamięci podręcznej dysku.

PhantomJs to przeglądarka bezgłosowa, więc weź pod uwagę instancję PhantomJS jako unikalnego użytkownika. Czy otwieranie 100 razy tej samej strony w Twojej ulubionej przeglądarce spowoduje 100-krotne zwiększenie zasobów twojej strony internetowej? Nie, tak właśnie działa PhantomJS.

+3

Znalazłem poprawkę, większość kodu została w pełni zaimplementowana, jednak page.settings.clearMemoryCaches = true opcja nie była zgodna z [link] (https://github.com/ant0ine/phantomjs/commit/91cf016a1cd6e91a11a3516bb2366fd04ff235a9) aby uzyskać dostęp do kodu, działa przyjemność. Pomysł użycia tej samej instancji fantomu do sterowania wieloma klientami, zużywa mniej pamięci! – Charabon

Powiązane problemy