Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: Обновление времени доступа файлов в mysql
Здравствуйте, Михаил.
Вы писали 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@xxxxxxxxxxxxx
> ICQ# 166233339
> http://michael.mindmix.ru/
> Без бэкапа по жизни.
Была такая мысль. Но уже сейчас аккесс логи набигают за час в сотни мегабайт.
А если размеры будут в гигабайтах, сможет ли парсер делать такое
количество апдейтов в базе данных за приемлемое время?
Или лучше варианта не придумать?
--
С уважением,
Денис mailto:babichev_denis@xxxxxxx
|