Установка сервера ИОС
Версии ИОС поставляются с разными комплектами дистрибутивов, но,
поскольку используются свободно распространяемые продукты, можно
самостоятельно выполнить установку сервера для требуемой производительности.
Вариант 1. Производительность ниже средней (до 20 пользователей)
- скопировать InstantRails-1.7-win.zip в корень диска,
например C: и разархивировать;
- произвести первый запуск InstantRails.exe из папки
C:\InstantRails (при первом запуске поступит предложение о конфигурировании
- ответить утвердительно);
- откроется панель управления платформой, которую сразу закрыть;
Рис. 1 Панель управления платформой
- скопировать папку ios (ios_na, ios_ka - в зависимости от
версии) в каталог C:\InstantRails\rails_apps;
- скопировать папки ios, eidata из папки sql (ios_nd, ios_kd -
в зависимости от версии) в каталог C:\InstantRails\mysql\data;
- на рабочем столе создать ярлык для ручного запуска системы
(сервера) C:\InstantRails\ios_product.cmd с именем Сервер ИОС;
- на рабочем столе машины с сервером создать ярлыки для
выполнения предварительных и служебных операций
http://localhost:3000/accounts/login/ с именем ИОС;
http://localhost/mysql/ с именем mySQL_admin.
Файл ios_product.cmd:
CD C:\instantRails
start instantRails.exe
PATH C:\instantRails\ruby\bin;C:\instantRails\mysql\bin;C:windows
\system32;C:windows\system32\wbem
CD C:\instantRails\rails_apps\ios
mongrel_rails start -e production
В 4 строке может быть ios, ios_na, ios_ka - в зависимости от
версии.
Вариант 2. Средняя производительность (до 100 пользователей)
Отличия в установке от варианта 1:
- установить сервер apache из дистрибутива apache_2.2.11-win32-x86-no_ssl.msi с именем localhost в C:\apache22\;
- отредактировать файл конфигурации C:\Apache22\conf\httpd.conf
- на рабочем столе создать ярлык для ручного запуска системы
(сервера) C:\InstantRails\ios_clust5a.cmd с именем Сервер ИОС;
Редакция файла httpd.conf:
в строке ~46 Listen 3000
снять комментарии со строк
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
Добавить в файл httpd.conf:
ProxyPass /public/ !
<Proxy balancer://mongrel_cluster>
BalancerMember http://127.0.0.1:8001
BalancerMember http://127.0.0.1:8002
BalancerMember http://127.0.0.1:8003
BalancerMember http://127.0.0.1:8004
BalancerMember http://127.0.0.1:8005
</Proxy>
ProxyPass / balancer://mongrel_cluster/
Файл ios_clust5a.cmd:
CD C:\instantRails
start instantRails.exe
PATH C:\instantRails\ruby\bin;C:\instantRails\mysql\bin;C:windows
\system32;C:windows\system32\wbem
CD C:\instantRails\rails_apps\ios
start mongrel_rails start -p 8001 -e production
start mongrel_rails start -p 8002 -e production
start mongrel_rails start -p 8003 -e production
start mongrel_rails start -p 8004 -e production
start mongrel_rails start -p 8005 -e production
Может быть ios, ios_na, ios_ka - в зависимости от версии.
Вариант 3. Производительность выше средней
Существенное увеличение производительности можно получить при
использовании сервера на ОС Linux. Проверено на ubuntu при раздельной
установке компонентов:
ruby1.8_1.8.7.174
rails-1.2.6
mysql-5.0
mongrel-1.1.1 (backend server)
nginx_0.6.34 (frontend server-balanser)
Сравнение производительности
Тестирование проводилось с помощью ab - Apache HTTP server
benchmarking tool.
Строка запроса:
ab.exe -n 200 -c 50 "http://ip-адрес:3000/card_wrk/login?i=024166ED&n=6&w=3"
Проверка проводилась на компьютерах 2,5 Ггц., ОЗУ - 1 Мбайт., сеть - 100 Мбит/сек.
Вариант 1. 15-20 запр./сек.
Вариант 2. 35-40 запр./сек.
Вариант 3. 70-80 запр./сек.