Re[2]: Обновление времени доступа файлов в mysql

Денис babichev_denis at mail.ru
Thu Jun 18 17:49:10 MSD 2009


Здравствуйте, Михаил.

Вы писали 18 июня 2009 г., 17:23:52:

> Здравствуйте, Денис.

> Не  надо  хранить  файлы  в  mysql.  Отдавайте  их  с  диска.  А время
> обновляйте в базе спомощью парсинга аксес-лога nginx-а.

> В  вашем  варианте  fastcgi  приложение  Вы  можете  хоть на асемблере
> написать. Узким местом будет mysql, а не fastcgi приложение.

Д>> Есть задача сделать обновление времени доступа к статике в базе mysql.
Д>> Хочу написать на С fastcgi приложение, которое будет в отдельном
Д>> потоке выполнять sql команду, что то вроде:
Д>> UPDATE files SET lastVisit=UNIX_TIMESTAMP() WHERE id=?
Д>> и немедленно отдавать файл nginx. Что бы в случае большой
Д>> нагрузки на sql сервер статика отдавалась мгновенно. id будет браться
Д>> из имени файла, но это дело десятое.
Д>> Конфигурация получится что то вроде:
Д>> location /files/ {
Д>>     fastcgi_pass localhost:9000;
Д>> }

Д>> Вопросы следующие.
Д>> 1. Можно ли в эту секцию добавить директиву "expires 1d". Чтобы статика
Д>> кэшировалась на клиентах и была нагрузка поменьше.
Д>> 2. Как сделать, чтобы в случае отказа fastcgi сервера файлы брались из
Д>> локальной директории, ну например: /home/www/files.
Д>> 3. Решал ли кто-нибудь подобную задачу другими методами?



  

> --

> С уважением,
> Михаил Монашёв, SoftSearch.ru
> mailto:postmaster at softsearch.ru
> ICQ# 166233339
> http://michael.mindmix.ru/
> Без бэкапа по жизни.

Была такая мысль. Но уже сейчас аккесс логи набигают за час в сотни мегабайт.
А если размеры будут в гигабайтах, сможет ли парсер делать такое
количество апдейтов в базе данных за приемлемое время?
Или лучше варианта не придумать?

-- 
С уважением,
 Денис                          mailto:babichev_denis at mail.ru






More information about the nginx-ru mailing list