?

Log in

No account? Create an account
 
 
Максим Крамаренко
Когда-то давно (2001-2004 годы) TrackStudio все данных хранила в БД, для выборок использовала сложные SQL-запросы и практически ничего не хранила в памяти. Эти версии могли в полной мере использовать потенциал многоядерных CPU, но массовых многоядерных CPU тогда не существовало, а даже двухядерные сервера были весьма дорогими.

К 2003-2004 годам мы уперлись в производительность СУБД, для поддержки иерархии задач и нашей модели прав доступа требовалось буквально "бомбардировать" СУБД SQL запросами, СУБД не справлялись. Подробнее об этом я уже писал.

Тогда эту проблему решили путем создания внутренних кешей весьма сложной структуры буквально для всего, доступ к этим кешам обложили глобальными блокировками. На тот момент это было хорошее решение:
- многопроцессорных серверов все равно было мало, причем "много" часто означало два.
- использование локальных кешей позволило значительно улучшить производительность.
Читать дальше...Свернуть )