Wydajność — ile zapytań obsłuży serwer

Ramka ula obsadzona pszczołami

„Czy to wystarczy" jest pytaniem o liczby. Odpowiedź daje prosty rachunek na podstawie dwóch zmierzonych wartości.

Dwie miary

Czas do pierwszego znaku odpowiedzi i liczba znaków generowanych na sekundę. Pierwsza decyduje o wrażeniu użytkownika, druga o przepustowości.

Rozdzielenie tych dwóch rzeczy jest ważne, bo prowadzą do różnych usprawnień. Odpowiedź, która zaczyna się natychmiast i płynie wolno, bywa odbierana lepiej niż szybka, ale poprzedzona długą ciszą. Przy przetwarzaniu w tle jest odwrotnie: liczy się wyłącznie tempo, bo nikt przed ekranem nie czeka.

Rachunek

Odpowiedź o długości pięciuset wyrazów przy tempie trzydziestu wyrazów na sekundę zajmuje kilkanaście sekund. Przy pracy ciągłej daje to kilkaset odpowiedzi na godzinę.

Taki rachunek warto zrobić przed zakupem, bo często kończy dyskusję. Jeśli firma potrzebuje kilkudziesięciu odpowiedzi dziennie, zapas jest ogromny i szukanie mocniejszego sprzętu nie ma sensu.

Rachunek trzeba jednak prowadzić na rzeczywistej długości odpowiedzi. Krótkie potwierdzenie i wielostronicowe streszczenie różnią się czasem o rząd wielkości, więc uśrednianie po wszystkich zadaniach daje wynik, na którym nie da się polegać. Lepiej policzyć osobno dla każdego rodzaju zadania i dopiero sumę porównać z potrzebą.

Obsługa równoległa

Nowoczesne rozwiązania obsługują kilka zapytań jednocześnie z niewielką stratą. To zwykle podnosi przepustowość bardziej niż wymiana karty.

Zysk ma jednak granicę wyznaczoną przez pamięć karty. Każde równoległe zapytanie potrzebuje własnego miejsca na kontekst, więc im dłuższe dokumenty, tym mniej zapytań zmieści się naraz. To ten sam rachunek, co przy doborze pamięci karty graficznej, tylko liczony od strony obciążenia.

Długość zapytania

Przekazywanie długiego dokumentu przy każdym pytaniu obciąża bardziej niż samo generowanie odpowiedzi. Skracanie przekazywanej treści bywa najskuteczniejszym usprawnieniem.

Najczęstszy błąd wygląda tak: do każdego pytania dokładany jest cały regulamin albo cała umowa, choć odpowiedź zależy od jednego akapitu. Wybranie właściwego fragmentu zamiast całości potrafi zmienić czas odpowiedzi bardziej niż jakakolwiek zmiana sprzętu i nie kosztuje nic poza pracą nad przygotowaniem danych.

Szczyt a średnia

Liczy się obciążenie w godzinach pracy, nie średnia dobowa. Zadania cykliczne warto przenieść na noc.

Szczyt jest zwykle przewidywalny: poranek, koniec miesiąca, dzień po dostawie. Jeśli w tym samym czasie ruszają zadania automatyczne, kolejka rośnie i wszyscy czekają. Rozsunięcie tych zadań w czasie nic nie kosztuje, a bywa skuteczniejsze niż dokładanie mocy. Gdy z modelu korzysta cały zespół, warto od razu ustalić zasady, na jakich działa dostęp wielu użytkowników.

Pomiar na własnym zadaniu

Wartości podawane w zestawieniach dotyczą krótkich zapytań. Rzeczywisty wynik przy dokumentach firmy bywa kilkukrotnie niższy.

Mierzyć trzeba więc na materiale, który będzie przetwarzany naprawdę, i przy zapytaniu najdłuższym z możliwych. Jeśli wynik nie wystarcza, przed zmianą sprzętu warto sprawdzić, co da kwantyzacja — mniejszy zapis modelu zwykle przyspiesza pracę.