2013-07-03 3 views
6

Opracowałem system przechowywania w chmurze, który wykorzystuje tę samą strukturę API co Amazon S3. Teraz chcę uruchomić niektóre testy wydajności na pobierając dane obiektu i metadane obiektu. W taki sposób, że mogę porównać mój system z Amazon S3, magazynem OpenStack i innymi systemami.Jak testować systemy pamięci masowej w chmurze, takie jak Amazon S3

Przyjrzałem się niektórym typowym narzędziom do testowania systemu plików, jest za dużo pracy, aby przekonwertować je na systemy Cloud Storage.

Szukam niektórych narzędzi porównawczych podobnych do SIEGE, które nie tylko mogą wykonywać żądania HTTP wydajności, ale także mają pewne funkcje symulacji obciążenia. Na przykład jedna z symulacji może przechowywać całą statyczną stronę HTML w Cloud Storage, a następnie wykonać test obciążeniowy na wiele obciążeń itp.

Czy ktoś może pomóc i zasugerować niektóre istniejące ramy lub narzędzia, które mogą być stosunkowo łatwe do dopasowania do takiej chmury scenariusz porównawczy systemu pamięci masowej?

+0

Należy pamiętać, że S3 jest systemem dynamicznym, więc wykonanie "szybkiego testu porównawczego" da ci straszne liczby. Oto artykuł o podobnym teście na ELB: http://www.rightscale.com/blog/cloud-management-best-practices/benchmarking-load-balancers-cloud – BraveNewCurrency

Odpowiedz

2

Ponieważ jesteś dostawcą systemu chmury. Jest wiele aspektów, które warto porównać.

jako dostawcy

  • availbility usługi, redundancja.
  • Przepustowość w czasie, io/s w czasie.
  • fragmentowanie rozwiązania pamięci masowej.
  • Odpowiedzialność/przywracanie/przełączanie awaryjne na awarie urządzeń elektrycznych/elektrycznych.
  • domyślna pamięć podręczna cache & przepełnienie w „masową losowego dostępu” lub „dostępu szeregowego”

Dla wszystkich thoses rzeczy istnieje Informacje dotyczące narzędzia/api/kontrole. Czasami jest ściśle związany z twoim sprzętem, czasami mniej. Ale połączenie sprzętu z oprogramowaniem skutkuje konkretnymi pomiarami i problemami z integracją. Określenie, co jest testem porównawczym lub routing "end-to-end" zapytania z "interfejsu do przechowywania objet" na dyski może być po prostu szalenie trudne. Jeśli Twoim celem jest uzyskanie benchmarku (na wyższym poziomie API), który może doprowadzić do ulepszenia twojego systemu, jedynym rozwiązaniem będzie pełna kontrola (i zrozumienie) twojego systemu chmury;

Nagios podobne narzędzia, nie są przystosowane do tego rodzaju testów. Potrzebujesz CMDB i kilka narzędzi do pobierania do pamięci masowej o dużej ilości danych. Musisz zrozumieć, że wszystkie rozwiązania testu porównawczego są danymi podstawowymi, a ponieważ chmura może być bardzo złożona, jest dużo danych. Czego nauczysz się z danych, to nie tylko niektóre dane graficzne, ale także jak zadawać pytania. Nawet otrzymanie pytań z prawami poprosi cię o pracę.

Jak już powiedziałem w mojej pierwszej krótkiej odpowiedzi używamy VMware VMmark do przeprowadzenia tego rodzaju testu, ale to tylko niewielka część. Istnieje tak duża ilość narzędzi (wystarczy, aby monitorować w czasie rzeczywistym - w tym testy porównawcze), aby jedna osoba nie znała ich wszystkich. Praca, robię niektóre programy AI (bayesowska sieć do wykrywania awarii, algorytmy ewolucyjne do repartionu ...), aby umożliwić lepsze zarządzanie tymi rzeczami.

Po prostu drażnić: Czy spodziewasz się przeprowadzić test porównawczy, instalując nowego klienta, zamieniając dwa pozostałe i uruchamiając plan awaryjny na ostatni, w tym samym czasie?

Prawidłowy wzorzec powinien obejmować tak wiele przypadków. Dzisiaj chmura musi zarządzać złożonością świata, każdym chaotycznym wydarzeniem; nic nie powinno rozpraszać usługi. Więc trudno powiedzieć, co jest benchmarkem.

(karmienie CMDB sama w sobie jest wyzwaniem)

jako klient

yep :-) Jestem też klient dostawców cloud jak każdy człowiek będzie zrobić w najbliższej przyszłości. Tylko małe tło. Openstack został początkowo wydany przez organizacje o bardzo specyficznych potrzebach (Wystarczy pomyśleć, że w części "Compute" api "openstack" nie ma nic wspólnego z przetwarzaniem udziałów/klastra, które wyglądają tak, jak konsumują). Czym więc jest normalna strona internetowa? Youtube ? Amazon? Nawet jeśli jest to tylko przykład, "cała statyczna strona HTML" nie może być użyta do porównania rozwiązania w chmurze.

W tym tygodniu pracuję również nad tłumaczeniem vCloud api w openstack (luźna luźna gra), vCloud jest dobrze zdefiniowany, z papką więcej obiektów, które otwierają się, ale nawet z tym tylko pokrywamy tak małe potrzeby aplikacji zarządzanie.

W jaki sposób klient może porównać dwa rozwiązania chmurowe? W rzeczywistości, zanim spróbuje własnego rozwiązania, nie może tego zrobić. To dlatego klienci przychodzą do nas, pytają, czego używamy i jak, nasz proces ... W końcu reklamy do pracy, ogólnie kilka miesięcy bez opłat tylko po to, aby zainstalować klienta i znaleźć to, co powinniśmy zrobić, aby zmienić konfigurację nasza chmura do jego aplikacji. Bardzo niewielu klientów wie, ile cpu/ram/disk/iops używa; niektórzy z nich kupują dedykowane zasoby (ponieważ są dedekcyjne, których nie możemy udostępnić innemu klientowi), z których nigdy nie skorzystają.

Wówczas każde narzędzie do testów porównawczych dla zwykłej strony internetowej powinno wykonać zadanie. Jeśli chcesz grać, możesz otworzyć "wewnętrzne" narzędzia, takie jak swiftstack i tempest, aby uzyskać informacje zwrotne, ale musisz określić, jak powinien wyglądać normalny sposób korzystania z witryny. Jeśli szukasz produktów związanych z openstack, powinieneś również spojrzeć na wiki. Ale jeśli chcesz, aby więcej niż A było szybsze, niż B, ustawisz stan, będzie to prawie niemożliwe jako klient.

Wydaje mi się, że wyjaśniłem, dlaczego żaden "klient" nie odpowiedział na twoje pytanie do tej pory, podczas gdy twoje pytanie ma zasadnicze znaczenie w wielu aspektach związanych z reklamą/przemysłem/ekologią.

1

Prawdopodobnie można zajrzeć do COSBench, który jest narzędziem do testowania usług chmury pamięci masowej obiektów.