Чем протестировать нагрузку, если протокол клиент-сервер не стандартны
#1
Отправлено 05 марта 2008 - 12:10
есть ПО клиент-серверной архитектуры, транспортный протокол TCP/IP, протокол "общения" (запросов-ответов) клиентов с сервером - оригинальной разработки. База данных на сервере - также оригинальной разработки.
Существует ли ПО, с помощью которого можно протестировать нагрузку на такой сервер?
По известным мне средствам и по их описанию, в основном производится тестирование web-серверов, по протоколу HTTP, и тестовое ПО выступает в роли "прокси-сервера" (TestComplete, к примеру)... В описании других средств для тестирования нагрузки также не смогла найти ничего подобного self-made protocol testing.
Помогите, пожалуйста.
#2
Отправлено 05 марта 2008 - 13:05
#3
Отправлено 05 марта 2008 - 15:01
Спасибо, посмотрела. После беглого просмотра руководства пользователя вызывает сомнение:Посмотрите как вариант Jmeter
" Apache JMeter is a 100% pure Java desktop application designed to load test client/server software (such as a web application ). It may be used to test performance both on static and dynamic resources such as static files, Java Servlets, CGI scripts, Java objects, databases , FTP servers , and more."
Однако наше ПО написано на Delphi, и у нас совсем не web application... Может, то, что нам нужно, скрывается под многообещающим "and more"?
Еще чуть дальше:
"JMeter samplers include:
* FTP Request
* HTTP Request
* JDBC Request
* Java object request
* LDAP Request
* SOAP/XML-RPC Request
* WebService (SOAP) Request
"
и все... Далее, судя по описанию, предлагается "ручками" писать запросы и компоновать их в очереди - если я правильно поняла. Может ли JMeter "запеленговать" запросы-ответы и записать их?
Расскажите, пожалуйста, на чем основан Ваш выбор (совет)?
#4
Отправлено 05 марта 2008 - 15:45
Запись не представляется возможной, и все придется делать руками.
И еще одна мысль исходя из вашей ситуации - возможно, в вашем случае будет проще и удобней написать самим нагрузочные тесты которые будут делать то что вы хотите ?
Думаю стоит задать такой вопрос вашим разработчикам.
#5
Отправлено 05 марта 2008 - 16:06
#6
Отправлено 05 марта 2008 - 17:17
Если его хотят проводить "для интереса" тогда вам никто не поможет, в ином случае грамотное преподнесение сути проблеммы руководству поможет решить вопрос.
#7
Отправлено 06 марта 2008 - 02:10
Ключевая фраза в вашем описании - "оригинальной разработки". Любая оригинальность такого рода (в просторечии называемая самопалом) аукается тем, что стандартное/промышленное ПО не работает с такими системами. Что приводит в итоге к потере кучи времени и денег либо на кастомизированные интеграции, либо на опять же самостоятельную разработку того, что требуется. В вашей ситуации искать какой-то уже готовый тул, который будет записывать ваш "оригинальный" протокол на application level (а не на уровне TCP/IP), сродни поиску черной кошки в темной комнате.есть ПО клиент-серверной архитектуры, транспортный протокол TCP/IP, протокол "общения" (запросов-ответов) клиентов с сервером - оригинальной разработки. База данных на сервере - также оригинальной разработки.
Существует ли ПО, с помощью которого можно протестировать нагрузку на такой сервер?
Более или менее реальными для вас мне представляются 2 варианта:
1. Привлечение разработчиков, знакомых с протоколом "общения", на предмет просвещения вас относительно API этого протокола, чтобы вы могли программно генерировать запросы и понимать ответы с сервера.
2. Использование какого-либо тула функционального тестирования для создания GUI скриптов с последующим проведением нагрузочного тестирования с помощью этих скриптов. Путь сильно геморроидальный со всеми присущими недостатками проведения нагрузочного тестирования через GUI (scalability, reliablity, ограничение на количество скриптов запускаемых одновременно на одной машине), но "на честном слове и на одном крыле" долететь до финиша в принципе можно. Если, конечно, у вас не стоит задача гнать тест на сотни/тысячи пользователей.
#8
Отправлено 06 марта 2008 - 09:02
Atomic_A, спасибо. Мне важно было получить квалифицированный ответ "со стороны", чтобы дать понять руководству, что наша беспомощность в данном вопросе - это не просто желание уйти от ответа.в ином случае грамотное преподнесение сути проблеммы руководству поможет решить вопрос.
#9
Отправлено 06 марта 2008 - 09:50
Спасибо, Дмитрий, за исчерпывающий ответ. По второму пути мы попробовали идти, и об эти самые недостатки сильно споткнулись: на скриптах все было вроде бы хорошо, а во время опытной эксплуатации с реальными пользователями на сервере появились утечки памяти. И что такое делают эти реальные пользователи, чего не делали наши скрипты - понять сложно, потому как операций масса. Варианты поиска утечек есть, но, как говорится, время поджимает. Вот и пошли эмоции со строны разработчиков, что мы плохо и "не тем" тестировали.2. Использование какого-либо тула функционального тестирования для создания GUI скриптов с последующим проведением нагрузочного тестирования с помощью этих скриптов. Путь сильно геморроидальный со всеми присущими недостатками проведения нагрузочного тестирования через GUI (scalability, reliablity, ограничение на количество скриптов запускаемых одновременно на одной машине), но "на честном слове и на одном крыле" долететь до финиша в принципе можно. Если, конечно, у вас не стоит задача гнать тест на сотни/тысячи пользователей.
А что касается "самопала" - так это было осознанно выбранное решение, как элемент защиты системы и экономии средств. Время показало, что очень неплохой самопал :-)
#10
Отправлено 07 марта 2008 - 00:59
Действительно неплохой, особенно для разработчиков - поди попробуй протестировать егоА что касается "самопала" - так это было осознанно выбранное решение, как элемент защиты системы и экономии средств. Время показало, что очень неплохой самопал :-)
#11
Отправлено 25 апреля 2008 - 08:07
Добрый день,
есть ПО клиент-серверной архитектуры, транспортный протокол TCP/IP, протокол "общения" (запросов-ответов) клиентов с сервером - оригинальной разработки. База данных на сервере - также оригинальной разработки.
Существует ли ПО, с помощью которого можно протестировать нагрузку на такой сервер?
По известным мне средствам и по их описанию, в основном производится тестирование web-серверов, по протоколу HTTP, и тестовое ПО выступает в роли "прокси-сервера" (TestComplete, к примеру)... В описании других средств для тестирования нагрузки также не смогла найти ничего подобного self-made protocol testing.
Помогите, пожалуйста.
как вариант, можно записать поток обмена типичных операций с помощью ethereal (сейчас wireshark стал), и делать с полученными "шаблонами" транзакций что угодно... параметризовать только грамотно потребуется ну и естественно понять как обмен работает...
сам периодически прибегаю к такому методу даже для стандартного HTTP который по каким либо причинам некорректно обрабатывается в LoadRunner...
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных