Подсистема Single Sign on
Завершая первый этап разработки в рамках одного из наших текущих проектов, покрытых тайной NDA, мы провели нагрузочное тестирование.
Результаты порадовали: при 10 тысячах зарегистрированных пользователей в базе система SSO позволяет вести операцию авторизации со скоростью от 280 до 315 запросов в секунду в зависимости от количества потоков. Эта скорость при достаточно высокой загрузке сервера (Quad Core 2,4, 4Gb RAM, Fedora Core, Sun jdk1.5, JBossAS 4.2.2, MySQL 5) позволяет проводить почти в 2 раза операций авторизации больше, чем было предусмотрено в техническом задании: 25 миллионов авторизаций в день.
| Количество потоков нагрузки | Общее количество операций | Зачетное время, мс | Среднее время ожидания ответа, мс | Средняя производительность | Количество ошибок, % |
| 800 | 80000 | 283470 | 1435 | 282.4 | 0.18 |
| 700 | 70000 | 250724 | 1609 | 279.4 | 0.11 |
| 600 | 30000 | 97859 | 1165 | 307.1 | 0.01 |
| 500 | 25000 | 79624 | 884 | 314.7 | 0 |
Созданный программный продукт позволил нам впервые использовать технологии Spring, SpringSecurity и JAX-WS. Благодаря технологиям EJB3, Hibernate и JCS мы смогли использовать всю мощь кеширования данных на уровне сервера, провести масштабирование функционала и мэппинг объектов баз данных практически налету. JAXB позволил разработчикам вынести отдельные виды бизнес-логики из сферы ответственности базы данных в сферу структурированных xml-файлов, а JAX-WS — создать гибкий инструмент веб-сервисов для задач кросс-логина и связи с административной системой.
На втором этапе разработки планируется использование базы данных Oracle и распределения нагрузки согласно схеме:
Схема распределённой БД, кластеров и распределения нагрузки




