|
|
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Написал сайт на java. Сайт информационный и практически все страницы сайта меняют свое содержимое раз в две минуты, потому что вся информация берется из базы, а в базу данные заливаются раз в две минуты. Интерактивности с пользователем практически нет (пользователь почти нигде не заполняет формы) Проблема в том, что для отображения каждой страницы необходимо выполнить несколько десятков запросов к базе данных. В итоге каждая страница грузится секунд по десять. И это еще не предел, так как каждый день объем данных растет. Можно ли как-то закешировать страницы, чтобы когда пользователь вводит адрес страницы, то страницы отдавались пользователю из кеша, а java обновляла кеш только раз в две минуты? Как это сделать? Используемые технологии на сайте: apache-tomcat-5.5.20, jetspeed-2, jdk1.5. Всем заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 17:54:29 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Vetal... Проблема в том, что для отображения каждой страницы необходимо выполнить несколько десятков запросов к базе данных. В итоге каждая страница грузится секунд по десять. И это еще не предел, так как каждый день объем данных растет. ... Ключевая фраза. Это означает всего лишь то что ваше приложение не масштабируемо. Не изобретайте "кэш". Оптимизируйте приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 17:57:54 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Timm Vetal... Проблема в том, что для отображения каждой страницы необходимо выполнить несколько десятков запросов к базе данных. В итоге каждая страница грузится секунд по десять. И это еще не предел, так как каждый день объем данных растет. ... Ключевая фраза. Это означает всего лишь то что ваше приложение не масштабируемо. Не изобретайте "кэш". Оптимизируйте приложение. Любая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй. На данный момент сайт нельзя выпускать, так как скорость работы недопустима. Поэтому необходимо закешировать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 18:02:59 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
VetalНа данный момент сайт нельзя выпускать, так как скорость работы недопустима. Поэтому необходимо закешировать данные. Имею в виду, необходимо закешировать страницы. Зачем тянуть данные из базы ежесекундно, когда это можно делать раз в две минуты? В этом и есть оптимизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 18:04:14 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
ну например MS SQL точно кэширует данные, думаю что и все остальные БД тоже. Поставить буфер кэша побольше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 00:00:51 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
VetalЛюбая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй. Вы это в детском саду рассказывайте, может поверят. VetalНа данный момент сайт нельзя выпускать, так как скорость работы недопустима. Почему-то это меня не удивляет. И сразу вспоминается одна умная книга по Java, в первом же примере которой автор сначала написал код так, что нахрен убивал кэш БД, а потом долго рассказывал, какая полезная штука кэш и как его надо делать на Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 00:19:11 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Что интересно грузиться 10сек? Хотя если там томик из Войны и мира, то конечно понятно :)) Я обычно складываю данные в буфер(в бин). Его можно чистить. Облегчает жизнь с асинхронными запросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 05:37:16 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
angroну например MS SQL точно кэширует данные, думаю что и все остальные БД тоже. Поставить буфер кэша побольше. Это, конечно же, решит проблему частично. Однако, зачем мне у базы спрашивать одни и те же данные 200 раз, одни и те же данные 200 раз гнать по сети, одни и те же данные 200 раз обрабатывать на аппликейшн сервере, одни и те же страницы 200 раз создавать и одни и те же страницы 200 раз отдать клиенту, когда можно один раз запросить у базы данные, один раз их перегнать по сети, один раз их обработать на аппликейшн сервере, один раз создать страницу и потом уже созданную страницу 200 раз отдать из кеша клиенту. Разница есть? Это и есть оптимизация. Не делать 200 раз то, что можно сделать один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 14:35:42 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
softwarer VetalЛюбая система тем медленнее работает, чем больше в ней данных, как тут не оптимизируй. Вы это в детском саду рассказывайте, может поверят. Есть таблица1 - 200 000 записей. Есть таблица2 - 200 000 записей. Каждая запись в таблице2 сопоставляется с одной записью в таблице1. Нужно отобрать 20 записей отсортированных по полю1 из таблицы2 сджойненной с таблицой1, при том что на многие поля таблицы1 и таблицы2 накладываются фильтры по равенству (по типу таблица1.поле2=0 и т.п.) VetalНа данный момент сайт нельзя выпускать, так как скорость работы недопустима. Почему-то это меня не удивляет. И сразу вспоминается одна умная книга по Java, в первом же примере которой автор сначала написал код так, что нахрен убивал кэш БД, а потом долго рассказывал, какая полезная штука кэш и как его надо делать на Java.[/quot] Конечно, кэш БД решает много проблем. При этом кэш готовых страниц сайта решит еще больше проблем... А как можно из джавы убить кэш БД? Скажите плиз, чтобы я его тоже не убил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 14:42:29 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
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 записей? Какие индексы тут не строй, как запросы не оптимизируй, скорость все равно будет серьезно замедляться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 15:06:40 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Vetal... Брехня-а-а… (ц) к/ф Неуловимые мстители VetalА как можно из джавы убить кэш БД? Скажите плиз, чтобы я его тоже не убил... Уже убили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 15:07:10 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
LINUXERЧто интересно грузиться 10сек? Хотя если там томик из Войны и мира, то конечно понятно :)) В предыдущем письме я написал ответ на этот вопрос. LINUXERЯ обычно складываю данные в буфер(в бин). Его можно чистить. Облегчает жизнь с асинхронными запросами. Да, я об этом и спрашиваю. По идее, должны быть стандартные решения, оттестированные и опробованные жизнью... Зачем же мне изобретать велосипед и тратить несколько дней/недель на разработку и внедрение еще одного аналогичного решения? Поэтому посоветуйте, пожалуйста, готовое средство для кеширования страничек. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 15:09:02 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Timm Vetal... Брехня-а-а… (ц) к/ф Неуловимые мстители Спасибо, очень содержательно :) Timm VetalА как можно из джавы убить кэш БД? Скажите плиз, чтобы я его тоже не убил... Уже убили. Чем? Почему вы так думаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 15:10:35 |
|
||
|
Страницы сайта обновляются раз в несколько минут. Как закешировать?
|
|||
|---|---|---|---|
|
#18+
Vetal Поэтому посоветуйте, пожалуйста, готовое средство для кеширования страничек. Спасибо! Вам на рсдн"е уже сказали о проксировании сайта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2006, 15:11:15 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34066985&tid=2147767]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
177ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 450ms |

| 0 / 0 |
