Widziałem wiele usług wirtualizacji (Azure) i produktów (vmware, kvm, hyperv) we / wy i blokad systemu przy dużym obciążeniu we / wy.
Moje pytania to:
- Czy kiedykolwiek jest rozsądne korzystanie z rozwiązania zwirtualizowanego podczas wykonywania dużych obciążeń we / wy?
- Jakie są najlepsze praktyki dotyczące tego rodzaju rzeczy?
- Co powoduje te problemy, czy istnieją dobrze znane wąskie gardła w systemie, czy tylko kwestia nadmiernej rywalizacji?
virtualization
performance-tuning
io
polowanie na bryana
źródło
źródło
Odpowiedzi:
Tak, naprawdę rozsądny, w rzeczywistości dla większości organizacji wirtualny jest teraz domyślny, a robienie rzeczy na fizycznych urządzeniach jest bardzo wyjątkiem. Mamy ponad 100 000 maszyn wirtualnych wszystkich formularzy, a wiele z nich ma ponad 40 000 operacji IOPS bez żadnych problemów.
Kluczową kwestią nie jest to, czy jest zwirtualizowane, czy nie - dobrze rozumie twoje potrzeby we / wy i dopasowuje zasoby pamięci wirtualnej. To takie proste, jeśli wiesz, czego potrzebujesz / chcesz i masz budżet, aby dopasować to do swoich systemów pamięci masowej, wtedy warstwa wirtualizacji naprawdę odgrywa niewielką lub żadną rolę - chyba, że NAPRAWDĘ popychasz rzeczy oczywiście (mówię o dziesiątkach / sto milionów IOP).
Brak zrozumienia lub próba zrobienia zbyt wiele przy zbyt małych zasobach pamięci masowej - to zwykle powoduje problemy ludzi.
źródło
Czy serwer bazy danych regularnie pobiera losowe operacje we / wy 1 GB / sekundę? Mam tutaj.
Lub wirtualny serwer plików dostarczający do 600 Mb / s do klastra HPC. Ten ucieka 8 dedykowanych Velicoraptorów w Raid 10.
Zapewnij dużo IO. Myślę, że ta maszyna wirtualna SQL ma około 8 lub 10 dedykowanych dysków SSD.
Ludzie nie wykonujący podstawowej matematyki. Jeśli podsystem IO nie jest w stanie obsłużyć obciążenia, nie zrobi tego również w trybie wirtualizacji. Potrzebujesz dużo IO - a następnie zapewnij dedykowany podsystem pamięci masowej o odpowiedniej wielkości.
źródło
Oprócz podstawowej matematyki i koncepcji, że nadal potrzebujesz tych samych IO, co niezwirtualizowanych, istnieje także QOS / priorytetyzacja. Większość platform wirtualizacyjnych oferuje co najmniej podstawowe wsparcie w tym zakresie, bardzo pomoże, aby zapobiec niepoprawnemu działaniu maszyny wirtualnej deweloperów, blokującemu DB produktu.
źródło