Nie wchodzę w szczegóły dotyczące specyfikacji, ponieważ wiem, że nie ma na to prawdziwej odpowiedzi. Ale dzisiaj przeprowadzam testy obciążenia z ab
poleceniem w apache.
I dotarłem do liczby 70 żądań na sekundę (1000 żądań z 100 równoczesnymi użytkownikami), na stronie ładującej się z 4 różnych tabel DB i wykonującej pewne operacje na danych. To dość ciężka strona.
Serwer nie jest na razie wykorzystywany do niczego innego, a obciążenie na nim spoczywa tylko na mnie, ponieważ jest w fazie rozwoju. Ale aplikacja będzie używana codziennie przez wielu użytkowników.
Ale czy to wystarczy? A może powinienem się nawet martwić (tak długo, jak długo przekroczy X żądań na sekundę)
Myślę, że nie powinienem się martwić, ale chciałbym kilka wskazówek na ten temat.
źródło
W przeszłości używałem 2 narzędzi do monitorowania wydajności moich serwerów Apache.
Jednym z nich jest munin , który wyświetla różne rzeczy, w tym liczbę instancji apache, liczbę połączeń, dostępną pamięć, użycie procesora itp. - i pomaga mi określić, kiedy zbliżam się do strefy niebezpiecznej i dlaczego.
Drugi to po prostu strona statusu serwera Apache ( http: // twój_serwer / status serwera? Odświeżanie = 10 ), która pozwala mi zobaczyć stan każdego połączenia, a także liczbę wolnych połączeń dostępnych w danym momencie.
źródło
Sugeruję, abyś się martwił tylko, jeśli uważasz, że Twoja aplikacja będzie bardzo zajęta, gdy spadnie na ziemię. Czy dana strona prawdopodobnie zostanie tak mocno trafiona? Trudniej? Mniej? Jeśli nie masz pojęcia, podejrzewam, że wcześniej nie będzie to problemem. Jeśli jest to twoja najwolniejsza strona, poznasz jedno miejsce, jeśli będziesz musiał później zoptymalizować system.
Istnieje również wiele rzeczy, które możesz zrobić, aby dostroić większość serwerów internetowych i silników baz danych, aby wycisnąć większą wydajność.
źródło
W komentarzu stwierdzasz, że Twój serwer może obsłużyć 2 900 żądań na sekundę na pustej stronie. Wskazuje to dość mocno, że nie jest to sam serwer WWW - to przetwarzanie.
Jeśli używasz PHP, rozważ pamięć podręczną opcode, taką jak APC . Jeśli DB jest wąskim gardłem, memcached również ci pomoże.
źródło
Po uruchomieniu witryny możesz również zajrzeć na mod_top 1, który da ci w czasie rzeczywistym podgląd aktualnego obciążenia Apache. Nie zainstalowałem go sam, ale z pewnością wydaje się, że ma więcej informacji i lepszy rozkład obciążenia niż standardowy status serwera Apache.
źródło