The Single Sign on subsystem
Completing the phase of development under one of our current projects (shrouded in mystery of NDA) the stress testing was carried out.
The results pleased us. With 10 thousand registered users in the database, the SSO system allows the operation of authorizations at speeds of 280 to 315 queries per second, depending on the number of flows. With a high enough load of server (Quad Core 2,4, 4Gb RAM, Fedora Core, Sun jdk1.5, JBossAS 4.2.2, MySQL 5)this speed allows the operation of almost twice the number of authorizations than was specified in the requirements: 25 million authorizations a day.
| Number of load flows | Total number of operations | Test time, ms | The average time of response waiting, ms | Average productivity | Number of errors, % |
| 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 |
This software product allowed us to use such technologies as Spring, Spring Security and JAX-WS for the first time. Thanks to EJB3, Hibernate and the JCS technologies we were able to use the power of data caching at the server level, to conduct functionality scaling and database objects mapping virtually on the fly. JAXB allowed developers to take certain kinds of business logic away from the scope of responsibility of the database to the scope of structured xml-files, and JAX-WS allowed us to create a flexible tool for web services for the cross-login tasks and connection with the administrative system.
On the second phase of the development, the Oracle database is planned to be used and load distribution to be done according to the diagram:
Distributed DB, clasters and load distribution diagram



