Przynajmniej trzy obszary opisywanego wcześniej standardu ISO/IEC 9126 (niezawodność, użyteczność i efektywność) odnoszą się do zagadnień wydajności systemów. Z mojego punktu widzenia i jak myślę z punktu widzenia nas – „it-meów” z kręgów ERP, zagadnienia wydajności można opisać w inny bardziej praktyczny sposób. Według mnie myśląc o wydajności, powinniśmy zwrócić uwagę na następujące zagadnienia:

  • wydajność sensoryczna – wydajność systemu odczuwalna bezpośrednio przez użytkowników mających z systemem kontakt, związana jest ona z czasem reakcji UI systemu w odpowiedzi na działania użytkownika.
  • wydajność obsługi sesji – zdolność systemu do skalowania się pod względem ilości jednoczesnych sesji użytkowników.
  • wydajność jednostkowa – zdolność do wykonania jednostkowych operacji w założonym czasie, skorelowanym ze sposobem pracy użytkowników systemu.
  • wydajność przetwarzania danych – zdolność systemu do przetwarzania określonej ilości danych w określonej jednostce czasu.
  • wydajność na zasobach współdzielonych – zdolność do przetwarzania danych na założonym poziomie wydajności, przy operacjach dotyczących zasobów współdzielonych mogących wymagać kontroli jednoczesnego dostępu.
  • odporność przeciążeniowa – sposób zachowania systemu w sytuacji wzrostu obciążenia ponad założone wartości graniczne.
  • odporność przeciążeniowa wsteczna – sposób zachowania systemu w sytuacji spadku zasobów poniżej zakładanych wartości granicznych.
  • krzywa wydajności – wykres obrazujący wpływ zmniejszania się stosunku zasobów do obciążenia na wydajność systemu w różnych obszarach wydajności.
  • zarządzanie obciążeniem – zdolność do kategoryzacji żądań pod względem priorytetów ważności i odpowiednia strategia szeregowania w przypadkach brzegowych.
  • odporność na awarie – zdolność do zachowania założonego czasu przywrócenia działania systemu po wystąpieniu awarii jednego lub wielu z zasobów.

W następnych wpisach postaram się omówić wybrane zagadnienia, a także przedstawić ogólnodostępne i te mniej oczywiste rozwiązania pozwalające zapewnić wysokie parametry wydajności i skalowalności.