Суть в том, что бизнес на потоке.
У небольшого хостера, у которого на vps пара десятков (сотен?) клиентов, такого никогда не увидеть — он дорожит каждым клиентом.
У большого хостера, с тысячами таких клиентов, Вы не имеете никакого значения — сегодня уходит один, завтра приходят 2. Им просто не надо пытаться угодить отдельному клиенту.
Ситуация применима не только к VPS, но и к shared-хостингу.
Если задача такая — то я вообще не понимаю, где тут проблема.
Считайте не после скачки, а до: пускай пользователю дается не прямая ссылка на файл, а ссылка на php-скрипт, пишущий заветную строку в базу и отдающий X-Accel-Redirect.
1. Не понял. Что упало? Этот скрипт надо запускать по крону раз в Н времени. Падать при обработке она не должна. Если упал сам сервер — вариант с пайпом этого недостатка отнюдь не лишен.
2. Если у Вас логи генерируются быстрее, чем их можно парсить, надо задумываться над масштабированием на кластер/кластер больше/другую архитектуру.
2. Решение — абстрактное понятие. Его нельзя скопировать и использовать.
3.1. Пайпы мало создать, их еще использовать надо.
3.2. Все относительно (с) не я.
1. Реализация на файлах не потребует агрегатора вообще, достаточно раз в Н времени запускать скрипт парсинга и делать truncate/ftruncate/переименовывать файл. По поводу lighthttpd не могу, честно говоря, ничего сказать, так как в основном используют nginx, который умеет по сигналу переоткрывать логи. Думаю, при грамотном использовании truncate, с лайтом проблем не возникнет, если он открывает логи с O_APPEND. А если нет — можно будет переписать и сделать так, чтобы открывал :)
2. Странно, ниже Вы писали, что Ваше решение как раз не готовое и его не надо копипастить в продакшн.
3.1. Про пайпы при создании каждого процесса, пожалуйста, поподробнее.
3.2. С простотой первого еще можно согласиться, но никак не с простотой второго. В то время, как вся система работы с файлами будет на 2 строчки длиннее первого скрипта.
Если так страшны дисковые операции, что мешает смонтировать tmpfs и писать в лог как в файл?
Неужели, за 30 секунд у Вас скопится столько логов, что это забьет всю память? А пропарсить файл легче, чем городить систему из пайпов и двух пхпшных программ.
Да, если ноутбук работает на продуктах компании Microsoft внешний кулер ему действительно необходим :)
Хорошо что они понимают это и предлагают готовое решение.
Будут рассматриваться особенности POSIX'a, сисколлы и прочее? Это было бы интересно.
Сегодня сделал кеширование thumb'ов в галерее (скрипт упорно делает их на лету) через proxy_cache — полет нормальный.
У небольшого хостера, у которого на vps пара десятков (сотен?) клиентов, такого никогда не увидеть — он дорожит каждым клиентом.
У большого хостера, с тысячами таких клиентов, Вы не имеете никакого значения — сегодня уходит один, завтра приходят 2. Им просто не надо пытаться угодить отдельному клиенту.
Ситуация применима не только к VPS, но и к shared-хостингу.
Считайте не после скачки, а до: пускай пользователю дается не прямая ссылка на файл, а ссылка на php-скрипт, пишущий заветную строку в базу и отдающий X-Accel-Redirect.
И, все-таки, любопытно, назовите задачу, требующую такого странного логгирования.
2. Если у Вас логи генерируются быстрее, чем их можно парсить, надо задумываться над масштабированием на кластер/кластер больше/другую архитектуру.
3.1. Пайпы мало создать, их еще использовать надо.
3.2. Все относительно (с) не я.
1,4: Вот Вам решение.
2. Странно, ниже Вы писали, что Ваше решение как раз не готовое и его не надо копипастить в продакшн.
3.1. Про пайпы при создании каждого процесса, пожалуйста, поподробнее.
3.2. С простотой первого еще можно согласиться, но никак не с простотой второго. В то время, как вся система работы с файлами будет на 2 строчки длиннее первого скрипта.
Неужели, за 30 секунд у Вас скопится столько логов, что это забьет всю память? А пропарсить файл легче, чем городить систему из пайпов и двух пхпшных программ.
Хорошо что они понимают это и предлагают готовое решение.