Re[6]: Вопрос по взаимодействию Servlet и БД. Большие нагруз
От: Дельгядо Филипп Россия  
Дата: 25.08.07 20:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

ДФ>>Сравнения производительности работы с файлами и с блобами для приличных БД я никогда не видел, а так как наши тесты БД упирались явно в железо, то не понятно, с чего файловая структура должна быть существенно быстрее, а вот ее поддержка будет не проще.

C>Сравнивал — разница в десятки раз. Lighthttpd забивает стомегабитный канал статическими файлами даже не напрягаясь (уровень загрузки процессора близок к 5%-10% на каком-то P4), тут еще сказывается его асинхронная неблокирующаяся натура. Tomcat/Jetty на таких нагрузках съедает весь процессор.

Я правильно понял, что единственная причина использования файлов вместо БД — возможность использования lighthttpd для отдачи статического контента?
Т.е. если сделать, например, модуль к тому же lhttpd, который статику забирал бы из БД (а это, насколько я помню, вполне реально) — то смысла в файловой системе уже и не остается.
Просто, если подумать, мощная журналируемая, высокопроизводительная, распределенная файловая система по своей структуре мало отличается от аналогичной БД. Только БД обычно легче обслуживать и можно гибче настраивать.

И, есть ли все-таки сравнения именно файловой системы с БД, а не Tomcat с httpd? Просто очень интересно.


ДФ>>Впрочем, возможно, я действительно что-то не понимаю, проектов класс LJ делать не приходилось.

ДФ>>Да и вряд ли в данном случае речь идет о проекте с нагрузкой порядка десятков тысяч транзакций в секунду. А тысячи транзакций можно реализовать и через блобы на какой-нибудь DB2 Express C.
C>Сотни транзакций в секунду, кстати, на определенных видах приложений получить можно легче легкого даже с небольшим числом клиентов.

Гм. Я обычно считал, что если активный пользователь порождает больше транзакции в секунду — то что-то в системе не так (да и столько получается обычно при поллинге нотификаций).
1000 одновременных активных пользователей — это уже довольно много.

ДФ>>Но вот про кэш подумать стоит (про memcached, скорее всего).

C>Memcached лучше всего подходит для сколь-либо динамических данных (типа комментариев в блогах). Для статических данных он только вредить будет.
Угу. Впрочем, равномерной нагрузки почти никогда не бывает, так что причины использовать большой куш в оперативной памяти есть всегда.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.