Перейти к содержимому

Фотография

Вопрос по тестированию производительности


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 OldYew

OldYew

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • Город:Ukraine, Crimea, Simferopol

Отправлено 13 июня 2007 - 09:25

Бэн, ай нид хелп или тестирование производительности подкралось незаметно. :fool:

Этот вид тестирования довольно долго обходил нас стороной, хотя периодически и напоминал о своем сущетвовании. Опыта в нем у нас можно сказать нет совсем, если не считать игр с eLoad, просто чтобы посмотреть как он работает и чтения обзорных статей :crazy:

Ситуация. Есть клиент-серверное приложение (игровой портал - бильярд, карты и т.д.). Клиент реализован на Delphi и Flash. Сервер собственного написания. DB - MSSQL2005. Протокол HTTP/XML.
Заказчик хочет проверить, что приложение будет работать при одновременной работе 2000 пользователей.

Из средств атоматизации, которые мы можем использовать (не open-source) для данной задачи есть EggPlant.

Если у кого-то есть время и возможность прокомментировать данную ситуацию и помочь советами - будем очень благодарны!
  • 0

#2 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 13 июня 2007 - 12:30

http://blog.shumoos.com/archives/98
http://blog.shumoos.com/archives/76
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#3 OldYew

OldYew

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • Город:Ukraine, Crimea, Simferopol

Отправлено 13 июня 2007 - 13:46

SAlar, огромное спасибо! Классные статьи!
Иду писать ответы на перечисленные вопросы и выстраивать для себя стройную картину происходящего...

А пока такой вопрос:
- как можно провести нагрузочное тестирование для игры 8ball Pool (бильярд), Backgammon (нарды), Rummy (карты) и Snooker (тоже бильярд), которые реализованы на Flash.
Происходящие в них действия рандомны, т.е. вероятнойсть повторения записанного сценария мала. Посоветуйте с какой стороны подступиться к решению такой задачи?
  • 0

#4 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 13 июня 2007 - 14:55

Происходящие в них действия рандомны, т.е. вероятнойсть повторения записанного сценария мала. Посоветуйте с какой стороны подступиться к решению такой задачи?

Создать требуемое число сценариев и потом во время нагрузочного тестирования рандомно выбирать их требуемым количеством виртуальных пользователей.
  • 0
Дмитрий Шевченко

HP Software

#5 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 13 июня 2007 - 19:37

SAlar, огромное спасибо! Классные статьи!
Иду писать ответы на перечисленные вопросы и выстраивать для себя стройную картину происходящего...

А пока такой вопрос:
- как можно провести нагрузочное тестирование для игры 8ball Pool (бильярд), Backgammon (нарды), Rummy (карты) и Snooker (тоже бильярд), которые реализованы на Flash.
Происходящие в них действия рандомны, т.е. вероятнойсть повторения записанного сценария мала. Посоветуйте с какой стороны подступиться к решению такой задачи?

Просмотр сообщения

Модель нагрузки говорите? Я конечно могу статью написать. Но эта тема гораздо сложнее, чем все инструменты. Так что мой вам совет, попробуйте на тренинг сходить. Да, знаю, нет их нормальных. Ну, напроситесь пиво попить с кем нибудь из гуру. Green-а угостите, например. Он по-моему пиво пьет :crazy: .
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#6 vass

vass

    Опытный участник

  • Members
  • PipPipPipPip
  • 298 сообщений
  • ФИО:Василий

Отправлено 14 июня 2007 - 09:50

Происходящие в них действия рандомны, т.е. вероятнойсть повторения записанного сценария мала. Посоветуйте с какой стороны подступиться к решению такой задачи?

Создать требуемое число сценариев и потом во время нагрузочного тестирования рандомно выбирать их требуемым количеством виртуальных пользователей.

Просмотр сообщения

+1. А на сервере в каждой сессии задавать один и тот же RandSeed - чтобы рандом был одинаковый.
  • 0

#7 OldYew

OldYew

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • Город:Ukraine, Crimea, Simferopol

Отправлено 14 июня 2007 - 14:59

Всем спасибо за интересные советы. Про пиво очень понравилось. Как буду в Москве, обязательно кого-нибудь угощу пивом :friends: А пока на пиво могу только в Крым позвать...

После некоторого уточнения с разработчиками выяснилась следующая картина.
Логика одной из игр (Rummy) полностью реализована на сервере и основную нагрузку может давать именно эта игра.

Логика же остальных игр полностью реализована на клиенте во флэше, а на сервере только сравниваются состояния (state), которые передаются с 2х клиентов для синхронизации.

Было решено, что для Rummy будут написаны боты, которые будут открывать игру, выполнять несколько начальных действий (которые весгда одинаковы) и закрывать игру. И запущены в необходимом количестве, чтобы можно было посмотреть и оценить, что при этом происходит на сервере.

Для остальных же игр было решено использовать пустые состояния и наплодить их в требуемом количестве и опять таки смотреть как себя поведет сервер.

И естественно, ко всему выше перечисленному, будет мониторится работа базы данных, во время большого количество пользователей, одновременно находящихся "в игре".

Это вкратце то, на чем остановились...
Если есть какие-нибудь комментарии - будем рады услышать!

Да и реализацией всего этого счастья будут заниматься разработчики :) Опять мимо, хотя уже почти попало...
  • 0

#8 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 14 июня 2007 - 18:28

Вы пошли в правильном направлении. Похоже получится.

PS. Рекомендую учесть пики активности, см. задачку от яндекса. Решения этой задачи нигде нет (насколько я знаю), но можно поиграться в форуме.

PSS. Пивом можно угостить и меня :friends:
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных