Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Страницы сайта обновляются раз в несколько минут. Как закешировать? / 15 сообщений из 15, страница 1 из 1
18.10.2006, 17:54:29
    #34064582
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Всем привет!

Написал сайт на java. Сайт информационный и практически все страницы сайта меняют свое содержимое раз в две минуты, потому что вся информация берется из базы, а в базу данные заливаются раз в две минуты. Интерактивности с пользователем практически нет (пользователь почти нигде не заполняет формы)

Проблема в том, что для отображения каждой страницы необходимо выполнить несколько десятков запросов к базе данных. В итоге каждая страница грузится секунд по десять. И это еще не предел, так как каждый день объем данных растет.

Можно ли как-то закешировать страницы, чтобы когда пользователь вводит адрес страницы, то страницы отдавались пользователю из кеша, а java обновляла кеш только раз в две минуты?

Как это сделать?

Используемые технологии на сайте: apache-tomcat-5.5.20, jetspeed-2, jdk1.5.

Всем заранее спасибо!
...
Рейтинг: 0 / 0
18.10.2006, 17:57:54
    #34064603
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Vetal...
Проблема в том, что для отображения каждой страницы необходимо выполнить несколько десятков запросов к базе данных. В итоге каждая страница грузится секунд по десять. И это еще не предел, так как каждый день объем данных растет. ...
Ключевая фраза. Это означает всего лишь то что ваше приложение не масштабируемо. Не изобретайте "кэш". Оптимизируйте приложение.
...
Рейтинг: 0 / 0
18.10.2006, 18:02:59
    #34064627
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Timm Vetal...
Проблема в том, что для отображения каждой страницы необходимо выполнить несколько десятков запросов к базе данных. В итоге каждая страница грузится секунд по десять. И это еще не предел, так как каждый день объем данных растет. ...
Ключевая фраза. Это означает всего лишь то что ваше приложение не масштабируемо. Не изобретайте "кэш". Оптимизируйте приложение.
Любая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй.

На данный момент сайт нельзя выпускать, так как скорость работы недопустима. Поэтому необходимо закешировать данные.
...
Рейтинг: 0 / 0
18.10.2006, 18:04:14
    #34064635
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
VetalНа данный момент сайт нельзя выпускать, так как скорость работы недопустима. Поэтому необходимо закешировать данные.
Имею в виду, необходимо закешировать страницы. Зачем тянуть данные из базы ежесекундно, когда это можно делать раз в две минуты? В этом и есть оптимизация.
...
Рейтинг: 0 / 0
19.10.2006, 00:00:51
    #34065243
angro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
ну например MS SQL точно кэширует данные, думаю что и все остальные БД тоже.
Поставить буфер кэша побольше.
...
Рейтинг: 0 / 0
19.10.2006, 00:19:11
    #34065259
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
VetalЛюбая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй.
Вы это в детском саду рассказывайте, может поверят.

VetalНа данный момент сайт нельзя выпускать, так как скорость работы недопустима.
Почему-то это меня не удивляет. И сразу вспоминается одна умная книга по Java, в первом же примере которой автор сначала написал код так, что нахрен убивал кэш БД, а потом долго рассказывал, какая полезная штука кэш и как его надо делать на Java.
...
Рейтинг: 0 / 0
19.10.2006, 05:37:16
    #34065336
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Что интересно грузиться 10сек? Хотя если там томик из Войны и мира, то конечно понятно :))
Я обычно складываю данные в буфер(в бин). Его можно чистить. Облегчает жизнь с асинхронными запросами.
...
Рейтинг: 0 / 0
19.10.2006, 14:35:42
    #34066808
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
angroну например MS SQL точно кэширует данные, думаю что и все остальные БД тоже.
Поставить буфер кэша побольше.
Это, конечно же, решит проблему частично.

Однако, зачем мне у базы спрашивать одни и те же данные 200 раз, одни и те же данные 200 раз гнать по сети, одни и те же данные 200 раз обрабатывать на аппликейшн сервере, одни и те же страницы 200 раз создавать и одни и те же страницы 200 раз отдать клиенту,
когда можно один раз запросить у базы данные, один раз их перегнать по сети, один раз их обработать на аппликейшн сервере, один раз создать страницу и потом уже созданную страницу 200 раз отдать из кеша клиенту.

Разница есть?

Это и есть оптимизация. Не делать 200 раз то, что можно сделать один раз.
...
Рейтинг: 0 / 0
19.10.2006, 14:42:29
    #34066841
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
softwarer VetalЛюбая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй.
Вы это в детском саду рассказывайте, может поверят.

Есть таблица1 - 200 000 записей. Есть таблица2 - 200 000 записей. Каждая запись в таблице2 сопоставляется с одной записью в таблице1. Нужно отобрать 20 записей отсортированных по полю1 из таблицы2 сджойненной с таблицой1, при том что на многие поля таблицы1 и таблицы2 накладываются фильтры по равенству (по типу таблица1.поле2=0 и т.п.)

VetalНа данный момент сайт нельзя выпускать, так как скорость работы недопустима.
Почему-то это меня не удивляет. И сразу вспоминается одна умная книга по Java, в первом же примере которой автор сначала написал код так, что нахрен убивал кэш БД, а потом долго рассказывал, какая полезная штука кэш и как его надо делать на Java.[/quot]
Конечно, кэш БД решает много проблем. При этом кэш готовых страниц сайта решит еще больше проблем...

А как можно из джавы убить кэш БД? Скажите плиз, чтобы я его тоже не убил...
...
Рейтинг: 0 / 0
19.10.2006, 15:06:40
    #34066950
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
2softwarer: Извините, не закончил свой предыдущий пост. Заканчиваю...

softwarer VetalЛюбая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй.
Вы это в детском саду рассказывайте, может поверят.
Есть таблица1 - 200 000 записей. Есть таблица2 - 2 000 000 записей. Каждая запись в таблице2 сопоставляется с одной записью в таблице1. Нужно отобрать 20 записей отсортированных по полю1 из таблицы2 сджойненной с таблицой1, при том что на многие поля таблицы1 и таблицы2 накладываются фильтры по равенству (по типу таблица1.поле2=0 и т.п.).

Расскажите мне пожалуйста, каким образом я могу разработать все таким образом, чтобы скорость выборки не замедлялась, когда в таблице1 будет 1 000 000 записей, а в таблице2 10 000 000 записей? Какие индексы тут не строй, как запросы не оптимизируй, скорость все равно будет серьезно замедляться...
...
Рейтинг: 0 / 0
19.10.2006, 15:07:10
    #34066954
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Vetal...

Брехня-а-а… (ц) к/ф Неуловимые мстители

VetalА как можно из джавы убить кэш БД? Скажите плиз, чтобы я его тоже не убил...
Уже убили.
...
Рейтинг: 0 / 0
19.10.2006, 15:09:02
    #34066967
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
LINUXERЧто интересно грузиться 10сек? Хотя если там томик из Войны и мира, то конечно понятно :))

В предыдущем письме я написал ответ на этот вопрос.

LINUXERЯ обычно складываю данные в буфер(в бин). Его можно чистить. Облегчает жизнь с асинхронными запросами.
Да, я об этом и спрашиваю. По идее, должны быть стандартные решения, оттестированные и опробованные жизнью... Зачем же мне изобретать велосипед и тратить несколько дней/недель на разработку и внедрение еще одного аналогичного решения?

Поэтому посоветуйте, пожалуйста, готовое средство для кеширования страничек.

Спасибо!
...
Рейтинг: 0 / 0
19.10.2006, 15:10:35
    #34066975
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Timm Vetal...

Брехня-а-а… (ц) к/ф Неуловимые мстители
Спасибо, очень содержательно :)


Timm VetalА как можно из джавы убить кэш БД? Скажите плиз, чтобы я его тоже не убил...
Уже убили.
Чем? Почему вы так думаете?
...
Рейтинг: 0 / 0
19.10.2006, 15:11:15
    #34066979
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Vetal
Поэтому посоветуйте, пожалуйста, готовое средство для кеширования страничек.

Спасибо!
Вам на рсдн"е уже сказали о проксировании сайта.
...
Рейтинг: 0 / 0
19.10.2006, 15:11:56
    #34066985
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страницы сайта обновляются раз в несколько минут. Как закешировать?
Vetal Timm Vetal...

Брехня-а-а… (ц) к/ф Неуловимые мстители
Спасибо, очень содержательно :)

Всегда пожалуйста.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Страницы сайта обновляются раз в несколько минут. Как закешировать? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]