Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: stworzenie sztucznego obciazenia
Forum PHP.pl > Forum > Bazy danych > MySQL
adamx
Witam,
w jaki sposob dokonac sztucznego obciazenia bazy danych. Chodzi o to abym mogl zobaczyc jak zareguje(jak dlugo bedize wykonywane zapytanie) serv przy np. 1000 UQ uzytkownikach
osiris
Na pewno nie zrobisz tego uzywajac jezyka skryptowego bo potrzebujesz stworzyc wiele watkow (wykonywac operacje rownolegle).
Wymyslilem na szybko trzy sposoby:
1) najprostszy: (C/C++ i zewnetrzny program)
napisac prosciutki program w C/C++ ktory tworzy np. 1000 watkow , a kazdy z nich uruchamia wget z adresem strony internetowej w ktorej chcesz sprawdzic obciazenie. Ten test bylby oczywiscie najmniej wiarygodny, bo gdy jeden watek wykonalby juz swoje zapytania to reszta zapytan bylaby cacheowana
2) srednio trudny: (C/C++ i PHP)
napisac prosciutki program w C/C++ ktory tworzy np. 1000 watkow, a kazdy uruchamia skrypt PHP wykonujacy np. 20 losowo wybranych zapytan do bazy danych z wczesniej zdefiniowanej listy. Raczej nie polecalbym tego sposobu gdyz nie wiem czy przypadkiem uruchomienie 1000 parserow PHP nie spowodowaloby wyczerpania zasobow na Twoim kompie (samobojczy atak DoS smile.gif)
3) najtrudniejszy: (sam C/C++)
napisac program w C/C++ ktory tworzy np. 1000 watkow, kazdy z watkow laczy sie z baza danych i wykonuje np. 20 losowo wybranych zapytan z wczesniej zdefiniowanej listy

Oczywiscie w 2 i 3 przypadku kazdo zapytanie przynajmniej po czesci powinno byc zmienne (rozne wartosci w klauzuli WHERE, rozna liczba kolumn w klauzuli SELECT, rozne wartosci sortowania, rozne wartosci przy klauzuli LIMIT).

Wszystke te testy najlepiej uruchamiac na hoscie na ktorym masz swoja stronke www lub na hoscie z bardzo szybkim laczem.
wijet
Zamiast pisać program w c/c++ możesz użyć apache bench do wywoływania jakiegoś skryptu robiącego losowe zapytania do bazy.
Apache bench potrafi wykonywać jednocześnie kilka requestów.
konys
Jeśli chcesz przetestować cały site lub jego fragment możesz użyć MS Web Application Stress Tool, który ma całkiem spore możliwości. (więcej na temat programu znajdziesz na tej stronie)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.