Колеги, возникла следующая трабла.
Есть связка tomcat+СУБД
Есть задача отображать посетителям сайта бинарный контент (картинки,музака, видео и тп) и текстовый
Сейчас это реализовано следующим образом
1)jsp-ка, которая:
— посылает GET запрос на ContentServlet (типа дай мне картинки с 100-ой по 500-ю )
— выдирает из request'а данные и отображает пользователю
2) сервлет ContentServlet:
— принимает Get запросы
— дергает метод объекта от спец. класса DAO (объект лежит в сеcсии), типа dao.getPics(100,500)
— кладет полученные данные в request и делает форвард на jsp
3) метод класса DAO:
List getPics(long from, long to){
-получает пул из некого синглтона
-берет из пула Connection
-делает select к СУБД
-закрывает Connection
}
В итоге по цепочке клиент<->tomcat<->субд постоянно летает большой объем данных, все усугубляеться большим кол-вом трафа.
Кто что может посоветовать? Где здесь узкое место? Если начать кэшировать данные то снизиться нагрузка на СУБД и возрастет на tomcat.
А может все такие кэшировать? (oscache и еще как, там вроде какие jsp тэги даже есть) Или глобально что-то надо менять в архитектуре?