Вопрос по взаимодействию Servlet и БД. Большие нагрузки
От: javaque  
Дата: 25.08.07 10:33
Оценка:
Колеги, возникла следующая трабла.
Есть связка 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 тэги даже есть) Или глобально что-то надо менять в архитектуре?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.