Jak przeprowadzić test porównawczy instalacji WordPress? [Zamknięte]


14

Próbuję zebrać trochę danych z testów porównawczych, aby określić, jak dobrze moje optymalizacje do WordPressa są fair. Znalazłem tę stronę w Poradnikach o dużym ruchu, ale nie zawiera żadnych danych. Czy są jakieś narzędzia, które testują WordPress? Nie tylko to, jak dobrze radzi sobie z ruchem, ale takie rzeczy, jak buforowanie targów, gdy wykonujesz X postów godzinę i X komentarzy na minutę, a także inne normalne przypadki użycia WordPress.

Dla przypomnienia, uruchomiłem Siege i Blitz.io przeciwko instalacjom, ale to tylko jak dobrze twoja strona może buforować i obsługiwać / rozpowszechniać żądania. Jeśli to jedyny jedyny pomiar, który można konsekwentnie wytwarzać (może jedynym wymaganiem jest wymóg / s), to w porządku. Jeśli istnieją inne narzędzia, które mogą pokazać, ile wymagań / s może zostać utrzymanych przy różnym użyciu (konieczność ponownego generowania pamięci podręcznej co 10 minut będzie miało duży wpływ, jeśli zostanie podana podczas odświeżania lub wyczyści pamięć podręczną, a następnie odśwież pamięć podręczną).


Chociaż w ogólnej formie nie jest to pytanie specyficzne dla WordPressa, uważam, że część dotycząca wydajności publikowania / komentowania jest zarówno konkretna, jak i interesująca.
Rarst

@Rarst Rozszerzyłem ten temat, ponieważ wiem, jak przeprowadzić testy porównawcze oprogramowania serwera
Marco Ceppi

Zapotrzebowania na sekundę służą jako doskonała podstawowa statystyka do testowania ogólnej wydajności witryny. Chciałbym również spojrzeć na wydajność pamięci podręcznej (liczba trafień a braków), szybkość strony ( developers.google.com/speed/pagespeed ) i różne statystyki przepustowości z bazy danych, sieci i innych usług, z których możesz korzystać (np. Memcached).
xentek

1
Powinieneś także mierzyć i zmniejszać opóźnienia: igvita.com/2012/07/19/…
xentek

Odpowiedzi:


7

Oblężenie .

Przetestuj zarówno rzeczywisty post / stronę (która teoretycznie uderzyłaby w pamięć podręczną strony, APC, lakier itp. Dla każdego żądania po pierwszym żądaniu), jak i na 404 (np. Losowo generowane ciągi), które wymagałyby zapytań do bazy danych na każdym trafienie.

Kilka pomocnych flag:

  • -b test porównawczy (nie czekaj między żądaniami)
  • -c N gdzie N to liczba równoczesnych żądań
  • -t Ngdzie N to czas (np. 30S) na uruchomienie testu

Jeśli jest to pomocne, ten skrypt wygeneruje losowe ciągi (404), które można wykorzystać do wygenerowania żądań do postów / stron, które wygenerują 404.


2

Powinieneś również sprawdzić P3 http://wordpress.org/extend/plugins/p3-profiler/

Nie wykonuje testów wydajności intensywnie obciążających ruch, ale pomoże ci pokazać, gdzie WordPress spędza czas na tworzeniu strony.


Naprawdę kocham tę wtyczkę. Analizuje wszystkie zainstalowane wtyczki i daje przegląd wykorzystania pamięci, czasu wykonania itp. Musi mieć do analizy wtyczek.
Anh Tran,

2

Jeśli lubisz oblężenie, pokochasz Pszczoły z karabinami maszynowymi

Pszczoły z karabinami maszynowymi rozłożą 1-N obrazów EC2, a następnie przeprowadzą atak podobny do oblężenia z wielu serwerów, lepiej symulując ruch internetowy. Wymaga konta Amazon EC2 i używa Pythona.


1
Samotny link jest uważany za kiepską odpowiedź, ponieważ sam w sobie jest bez znaczenia, a zasoby docelowe nie są gwarantowane w przyszłości. Spróbuj dołączyć przynajmniej podsumowanie informacji, do których prowadzisz link.
Rarst

2

Możesz także spróbować skorzystać z usługi zewnętrznej, takiej jak Load Impact: http://loadimpact.com/

Wiele razy korzystaliśmy z ich bezpłatnej usługi do testowania obciążenia WordPress.

Jednak po stronie wtyczek istnieje wiele wtyczek, które wykonują różne typy raportowania na temat zużycia pamięci i procesora itp. (W odniesieniu do obciążenia strony), i chciałbym, aby była bardziej uniwersalna, która oferowała jakiś znaczący rodzaj metryka.


+1 dla loadimpact. Użyłem go i mam z tym pozytywne doświadczenia. Nie jest to jednak narzędzie „wszystko w jednym”. Nie wykonuje też wszystkich scenariuszy porównawczych wymienionych w pytaniu (autorstwa Marco). Jest to jedno z narzędzi, które można łączyć z innymi, aby uruchamiać testy porównawcze.
Pothi Kalimuthu,

0

Prostym sposobem, jeśli używasz Apache, jest po prostu użycie kompilacji w apachebench (powinna znajdować się w apache/binfolderze).

Zasadniczo chcesz mierzyć żądania / współbieżność z różnymi ustawieniami, wyłącz pamięć podręczną i uruchom niektóre testy, a następnie włącz APC, zoptymalizuj i porównaj dane.

To nie jest tak naprawdę pytanie związane z WordPress.

ps. Zaloguj swoje wyniki do pliku w formacie gnuplot (-g), aby je wykreślić, nie rób tego też na hoście na żywo, nie informując ich o tym.


0

Testowanie bazowej wydajności WP za pomocą Siege / Apachebench jest dość proste, jednak zasadniczo testuje każdą używaną wtyczkę buforującą lub (bardziej prawdopodobne) jak dobrze twój serwer jest dostrojony.

Możesz zacząć konstruować bardziej realistyczne testy za pomocą narzędzia takiego jak Selenium, które pozwala na tworzenie skryptów, tworzenie nowych postów i komentarzy, używanych w połączeniu z dość długim testem ApacheBench / Siege.

Ponadto, w zależności od charakteru witryny, zalogowani użytkownicy mogą stanowić znaczną część Twojego ruchu. Zazwyczaj zalogowani użytkownicy nie są buforowani przez buforowanie wtyczek (lub jeśli dostaną się do pamięci podręcznej, otrzymują zestaw stron w pamięci podręcznej na użytkownika), co oznacza, że ​​bezpośrednio trafili na WP i bazę danych. Ponownie, Selenium (lub podobny) może być użyty do symulacji zalogowanego ruchu, chociaż prawdopodobnie będziesz musiał użyć selenium-grid do symulacji dużej liczby zalogowanych użytkowników (sam tego nie próbowałem, ale zawsze wydłużenie listy rzeczy do wypróbowania)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.