Jako architekt korporacyjny zajmowałem się tym problemem prawie codziennie. Skalowanie w pionie czy w poziomie?
Jakie są twoje potrzeby
Czy potrzebujesz obsługi większej liczby użytkowników? Czy potrzebujesz poprawić szybkość usługi? Potrzebujesz obu? Czy potrzebujesz wysokiej dostępności 99,9999 lub czy użytkownicy mogą przestać?
Aby rozpocząć, musisz przechwycić wskaźniki wydajności w bieżącym systemie. Liczba aktywnych użytkowników, obciążenie pamięci RAM i procesora, dyskowe operacje we / wy - dowiedz się, gdzie są wąskie gardła.
Możliwe rozwiązania oparte na problemach: Zacznij od optymalizacji bieżących zasobów. Jeśli aplikacja jest sterowana przez bazę danych, zoptymalizuj bazę danych za pomocą zapytań i pamięci podręcznych wątków, indeksów itp. Jeśli współużytkujesz serwer z innymi aplikacjami, przejdź na serwer dedykowany. (Spójrz na wirtualizację mniej aktywnych / krytycznych aplikacji, aby zwolnić dedykowane zasoby).
obecne maszyny mają pełną pojemność, pamięć RAM i procesor są mocno obciążone, dyski we / wy o dużej pojemności - oblicz koszt dodania pamięci RAM, czy możesz przejść na szybsze dyski we / wy (RAID, SATA zamiast ATA)?
Jeśli potrzebujesz wysokiej dostępności, prawdopodobnie i tak musisz dodać sprzęt i wyrównać obciążenie.
Czy taniej jest dodawać aktualizacje sprzętu lub dodawać nowe serwery? Który pasuje do celów dalekiego zasięgu i wzrostu?
Kiedy najlepszy dział IT wydaje pieniądze? Czy masz już środki, czy chcesz przenieść wydatki na kolejny kwartał / rok? Jeśli problemem są fundusze, zoptymalizuj je teraz lub wypróbuj uwolnienie sprzętu z innych aplikacji, aby dodać tymczasowe rozwiązanie równoważące obciążenie.
Nie bój się odkrywać licznych rozwiązań. Dostawcy mogą chcieć kupić zrównoważone obciążenie, koncentrujące się na pamięci masowej SAN rozwiązanie, w którym nowy serwer z iSCSI RAID 10 na pokładzie będzie działał za 10 procent kosztów.
Jeśli Twój procesor jest nadal mocno obciążony po optymalizacji, musisz dodać / wymienić sprzęt. Jeśli dyskowe operacje wejścia / wyjścia są wąskim gardłem i nie można zaktualizować technologii pamięci, należy wymienić sprzęt lub dodać pamięć sieciową / podłączone urządzenia pamięci masowej.
Przechwytywanie wskaźników wydajności. Zoptymalizuj, ulepsz i ponownie przechwyć dane. Dokumentuj wzrosty / spadki wydajności, abyś mógł przekazać raport, który dokumentuje ile wydałeś i jaki wzrost wydajności przyniósł. Są to rodzaje możliwych historii sukcesu, które sprawiają, że administratorzy stają się architektami, architekci menedżerami projektów, a menedżerowie wyższego szczebla - jeśli są odpowiednio wykonane.