Производительность Java и PHP XML-RPC Web-служб поиска в данных СУБД MYSQL (начало)

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

В этой связи в настоящее время для сетей Internet интенсивно развивается новый тип распределенных приложений — Web-службы.

Web-службы предоставляют Web-услуги в рамках слабосвязанных приложений, используя для этого язык разметки XML и, как правило, протокол НТТР.

Особую роль в сети Internet играют программы доступа к данным, хранящимся на ее Web-узлах. При этом запросы на поиск наиболее важный тип операций информационного Web-узла. Это делает актуальной задачу получения информации поиска от Web-служб с максимальной оперативностью, что, как правило, зависит от того, каким способом они программно реализуются.

К инструментам решения подобной задачи относятся программы определения производительности работы Web-служб — Apache JMeter, LoadRunner, soapUI и др.. Однако эти программы или коммерческие, или имеют достаточно сложный интерфейс и занимают большой объем оперативной памяти компьютера. Поэтому наряду с задачей выбора оптимального программного обеспечения, реализующего Web-службу для оперативного доступа к информации, актуальной является и задача выбора или разработки программы-тестера Web-службы.

Для программного обеспечения Web-служб широко используют продукты Java и РНР-технологии. Java и РНР Web-службы во время работы, для обмена информацией с клиентами могут использовать XML-RPC-протокол и SOAP-протокол. Считается, что XML-RPC-протокол проще, чем SOAP, однако, в отличие от SOAP, его средств недостаточно для вызова процедур Web-служб со специфическими типами аргументов.

Java Web-службы обычно создают на основе сервера Apache Tomcat, являющегося продуктом Java-технологии, а РНР используется сервер Apache. Как известно, сервер Apache является одним из распространенных Web-серверов, а в распространенных СУБД относятся MySQL. Также эти программы имеют высокую производительность.

При этом разработчики Web-служб, как правило, придерживаются общепринятых традиций в выборе сервера и СУБД Web-узла.

Актуальна задача анализа производительности Java и PHP XML-RPC Web-служб поиска в данных СУБД MySQL для определения оптимального программного обеспечения Web-службы, работающий с данными СУБД.

Для решения поставленной задачи разработано два варианта Internet-приложений, которые имели одинаковую клиентскую часть, и функционально подобные Web-службы, разработаны с использованием Java и PHP. Эти приложения выполняли, используя минимальный объем программных средств, два алгоритма. Первый из них состоял из такой последовательности действий:

1. В клиентском приложении зафиксировать время начала работы распределенного приложения.

2. Выполнить п. 3-8 определенное количество раз (значение количества определяет пользователь).

3. Сформировать запрос Web-службы со случайным параметром поиска в данных СУБД.

4. Отправить с клиентского приложения запрос.

5. В программной реализации Web-службы получить параметр поиска по запросу клиента.

6. Осуществить выполнения SQL-запроса поиска в данных СУБД параметра п. 4.

7. Отправить результат поиска клиенту.

8. В клиентском приложении получить ответ Web-службы.

9. Зафиксировать время.

10. Определить полное время работы распределенного приложения и сохранить его значение.

Второй алгоритм представлял собой сокращенную версию первого (без выполнения п. 4-8).

Также были подготовлены объекты исследования — 8 таблиц (tb1-tb8) базы данных (БД) СУБД MySQL. Эти таблицы имели одну структуру полей (два поля — ключевое и данных), но разный объем хранимой информации V, в которой осуществлялся поиск (от 125 килобайт до 1,0 Мбайт, шаг — 125 КБайт).

Кроме того, с целью анализа производительности Web-служб мы создали компактную программу-тестер RPCTochno, что имела простой интерфейс. Он состоял из пяти полей ввода трех кнопок и двух таблиц. Программа-тестер была написана на языке Java с использованием программного продукта Apache XML-RPC (xmlrpc-1.1.jar). Этот набор классов и интерфейсов обеспечивал создание Java XML-RPC Web-служб. Также он позволял программе RPCTochno, используя одни и те же программные средства и код, обращаться и к Java, и в PHP XML-RPC Web-служб.

В то время программное обеспечение, используемое в данной работе, представляло собой последние достижения РНР и Java-технологии (на момент написания статьи). Оно содержало: пакет PHP 5.2.11, сервер Apache Tomcat 6.0.20, набор Java-классов и утилит jdk 1.6.16, Java-драйвер доступа к СУБД connector-java-5.1.10-bin.jar.

Для исследований также использовался сервер Apache-2.2.14 и СУБД MySQL-5.1.39. Приложения работали под управлением операционной системы Windows XP (CPU — 2,7 ГГц, RAM — 1,0 ГБайт).

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.