Тестування навантаження: види, опис процесу
Далеко не кожен користувач сучасної комп`ютерної системи в повсякденній роботі стикається з поняттям «тестування навантаження». В основному воно знайоме веб-розробникам і всім тим, хто використовує ресурсомісткі програми. Проте іноді знання в цьому питанні можуть стати в нагоді і рядовим користувачам. Спробуємо розібратися, навіщо все це потрібно.
навантажувальний тестування: види і цілі
Перш за все, варто чітко розмежувати види таких тестів. Умовно їх можна поділити на два класи: перевірка комп`ютерного «заліза» при максимально можливої або надмірному навантаженні на кожен компонент і тестування програмного забезпечення (веб-сайтів з елементами прогнозування, окремо взятих програм і т. Д.).
Само собою зрозуміло, що тестування сайтів безпосередньо пов`язано і з перевіркою працездатності серверів, на яких розміщується інформація, а також з віртуальними веб-серверами, які створюються в процесі роботи зі спеціалізованими програмами на кшталт Denwer.
Програми для навантажувального тестування та їх завдання
Як бачимо, взаємозв`язок тут дуже сильна. І якщо говорити про «залізі», система тестування навантаження з використанням спеціальних утиліт дозволяє досить точно визначити потенційно неполадки при роботі, так би мовити, в екстремальних ситуаціях. приклад найпростіший. Сучасні комп`ютерні ігри з їх вимогами можуть запросто навантажити систему до такого стану, що вона взагалі перестане працювати. Тому, перш ніж встановлювати таке ПО на комп`ютер, можна провести серію тестів, щоб визначити, чи зможе начинка «тягнути» гру. За результатами і приймається рішення про встановлення програми. В принципі, те ж саме стосується і додатків, які передбачають проведення складних математичних розрахунків, і проектних робіт, оскільки навантаження на той же процесор або оперативну пам`ять в порівнянні зі звичайним станом системи може бути перевищена в рази.
Що ж стосується другого класу, тестування сайту і сервера може виступати як якесь універсальне засіб прогнозування їх поведінки в умовах реального функціонування. Наприклад, це може бути емуляція одночасного запиту доступу великого числа користувачів. Як відомо, за таким принципом діють DDoS-атаки, коли сервер або сайт не встигає обробляти занадто велика кількість звернень. Тестування навантаження сервера або сайту буде розглянуто докладніше трохи пізніше. А поки займемося комп`ютерним «залізом». Це стосується не тільки домашніх або робочих терміналів, але і реальних фізичних серверних систем.
тест процесора
Почнемо, мабуть, з серця будь-якого комп`ютера - центрального процесора. Не секрет, що саме неполадки в його роботі в більшості випадків призводять до найсумніших наслідків. Дуже часто це пов`язано з перегрівом. Тестування навантаження дозволяє створити йому екстремальні умови. А потім можна подивитися, як це відіб`ється на його роботі.
Само собою зрозуміло, що проведення навантажувального тестування такого типу має на увазі використання певних утиліт. Сьогодні їх можна нарахувати сотні і тисячі. Але, на думку більшості експертів, лідером в цій області є додаток Prime95, яке можна застосовувати і до процесорів, і до планок оперативної пам`яті. Але основний напрямок - саме перевірка процесорного чіпсета.
При використанні утиліти для початку рекомендується закрити всі активні програми і відключити автоматичний режим гібернації (Сну), щоб комп`ютер ненароком не відключився в процесі перевірки. Тепер потрібно змоделювати процесору найжорсткіші умови (а програма може це зробити, як ніяка інша, дійсно ставлячи чіпи в найважчі умови). Сам тест активується з меню опцій, де вибирається розділ Torture Test. Там будуть вказані види операцій, що проводяться. Найцікавішими тут представляються тести Blend (одночасна навантаження і на процесор, і на «оперативку»), а також Small FFT і Large FFT (збільшення навантаження на процесор за рахунок вивантаження оперативної пам`яті).
Як визначити, що тестування навантаження пройшло успішно? Єдиної думки тут немає, але вважається, що якщо протягом хоча б 4 годин помилок або збоїв в роботі чіпа не спостерігалося, цей компонент досить стійкий до надмірних навантажень. Але буває і таке, що збої можуть з`явитися набагато пізніше, тому, якщо у вас є неабиякий запас часу, краще збільшити період тестування до 24 годин (помилки можуть з`явитися і через півдня роботи).
Перевірка роботи оперативної пам`яті
Не менш важливим є і тестування навантаження «оперативки», яка виконує функції так званої другої скрипки. Для цього найкраще підійде додаток Memtest86 +, яке на сьогоднішній день є найкращим.
Для коректної роботи з його допомогою потрібно створити завантажувальний диск або флешку і завантажити комп`ютерний термінал саме з такого носія. Після активації тесту на його повне виконання буде потрібно досить багато часу. Можна просто залишити комп`ютер на ніч. Цього має вистачити.
Відео: Відео 15. Функціональне тестування. UI. Тестування локалізації. Тестування навантаження.
Визначення поведінки графічного адаптера
З графікою теж варто провести тест, оскільки відеоадаптери при надмірному навантаженні часто є причиною комп`ютерних збоїв. Ідеальним інструментом тут стане програма FurMark.
Ця утиліта здатна нагрівати графічний чіп набагато сильніше, ніж це зробить якась тривимірна гра з системними вимогами вище середнього рівня. Як показує практика, умови створюються такі, що відеокарта може починати давати збої вже в період від 15 до 30 хвилин після початку тестування.
Крім того, можна використовувати і спеціальні утиліти, розроблені під конкретні гри. Наприклад, дуже добре підійдуть тестові додатки типу Alien vs Predator, S.T.A.L.K.E.R. або ще щось в цьому роді. Як правило, поширюються вони абсолютно безкоштовно, а з їх допомогою можна точно встановити, як буде вести себе система після установки оригінального ігрового пакета.
Для чого потрібно тестування серверів і сайтів
Тепер кілька слів про те, що являє собою тестування сайту і веб-сервера. Про один аспект (DDoS-атаки) вже було сказано. Зараз подивимося на це питання з іншого боку.
Самі тести такого типу в деякій мірі можна віднести навіть до маркетингових інструментів по прогнозуванню поведінки користувачів. Так, наприклад, можна змоделювати ситуацію поведінки певної кількості (максимального / пікового) людей при вході на сайт, дізнатися, скільки сторінок може проглядатися, чи буде задіяна електронна пошта, наприклад, в процесі замовлення товару, як інформація може використовуватися для ідентифікації відвідувачів, дозволить чи пропускна здатність каналу надати одночасний доступ до сайту користувачам в певний момент часу, чи буде популярним підтвердження користувальницьких повноважень третьою особою (наприклад, при введенні номера банківської картки), наскільки ефективним виявиться впровадження Java-аплетів або використання захищеного з`єднання https і т. д.
Питання тесту веб-серверів (програмного забезпечення) і створюваних Інтернет-ресурсів
В принципі, майже такі ж завдання ставить перед собою і тестування навантаження сервера. Однак тут упор робиться чисто не технічний аспект. Тести дозволяють виявити, чи можуть декілька користувачів мати один і той же IP, уточнити час відгуку на що посилаються запити, дізнатися, як буде реагувати вся система на захищене або незахищене з`єднання, який буде швидкість доступу при одночасному посиланні занадто великої кількості запитів і т. Д .
Відео: Тестування. Основні поняття забезпечення якості
В даному випадку (і для сайту, і для веб-сервера) багато хто радить використовувати потужний пакет під назвою OpenSTA (System Architecture Test), який дозволяє не тільки провести перевірку, а й розбити завдання на складові для кожного окремо взятого елемента структури з використанням інструменту створення і моделювання скриптів Script Modeler. Примітно, що після створення такої моделі можна перевірити навіть з`єднання по протоколу SSL (обов`язково повинен бути запущений так званий сервер імен). Крім того, результати можна зберігати в розділі Repository Host, а тести об`єднувати в відповідні групи.
Що в підсумку?
В принципі, це дуже коротка інформація з питань навантажувального тестування, адже самих тестів, так само як і програм, що дозволяють їх проводити, можна знайти дуже багато. Скажімо так: тут представлені найбільш популярні утиліти і розглянута сама суть питання. Здається, після ознайомлення будь-який користувач хоч трохи просунеться в розумінні питань, пов`язаних з навантажувальним тестуванням.