В скрипте хоста изображения, как я могу измерить потребление пропускной способности изображения? - PullRequest
0 голосов
/ 06 сентября 2011

Я улучшаю скрипт хостинга изображений PHP, но я столкнулся с проблемой: клиент запросил функцию, чтобы ограничить объем используемой пропускной способности для каждого изображения до 100 МБ / день Это включает в себя миниатюры

До сих пор миниатюры обслуживались напрямую, без использования PHP (с nginx) Я попытался использовать php-скрипт вместо прямого .jpg с ОЧЕНЬ сильно кэшированным кодом (используя кэш APC для хранения используемой пропускной способности и обслуживая изображение с заголовком X-Sendfile), но сервер просто заглушает из-за очень, очень большого количества соединений

Существует ли более эффективный способ измерения пропускной способности, используемой миниатюрами, без перегрузки ЦП и ОЗУ? Как обычно решается эта проблема?

Спасибо

1 Ответ

0 голосов
/ 06 сентября 2011

Разобрать журналы доступа к серверу.Я верю в nginx, они находятся в /var/log/nginx/access.log.Вероятно, вам придется изменить разрешения, чтобы разрешить доступ, или вы можете использовать cron для регулярного копирования этого файла в доступную папку, если вам неудобно это делать.

Я полагаю, что если вы кэшировали результаты, ипроверяется только раз в час или что-то еще, тогда вы можете сделать это, используя grep -c.

Мне было бы интересно знать, если вы выберете файл, к которому вы обращались, сколько времени потребуется для его запуска:

grep -c filename.jpg /var/log/nginx.access.log

Затем вы можете просто умножить это число наразмер файла, чтобы получить пропускную способность для этого изображения.

...