В случае такой посещаемости разумнее картинки сжимать либо при закачке, либо вообще по ночам или когда нагрузка спадает, и вообще всегда отдавать как статику. Плюс что-то мне подсказывает, что большинство миниатюр хотя бы раз, но отсмотрены будут, поэтому «ненужные» изображения вряд ли будут.
Что касается PHP — я подразумевал, что картинка (оригинал) может быть изменена и поэтому есть необходимость обновлять миниатюры. А в таком случае уже все равно, как вызывается скрипт.
Если же картинки закачиваются одноразово — то Ваш вариант вполне хорош, особенно с использованием nginx.
Зачем 404я? Огород Вы городите, если честно… Почему аналогичный скрипт, даже с кешированием на диске, нельзя сделать через обычный script.php?src=, как уже говорилось выше.
Что касается кеша и сборщика мусора — здесь должно быть два аспекта, как минимум:
1) Удаление всего, что старше, допустим, месяца
2) Установка миниатюре даты создания оригинальной картинки (через touch() например) — а в скрипте эти даты сравнивать и т.о. вычислять актуальность
Еще немаловажно старательно рассматривать параметры вызова, ибо вызвав 100 раз уменьшалку с разными размерами со 100 машин будет достаточно, чтобы любой шаред хостинг заблокировали. Так что к двум пунктам можно дописать еще один — суммарное кол-во миниатюр, и их размер.
Если пойти еще дальше — можно при наличии бОльших «кратных» размеров отдавать их, не сжимая на сервере. Браузер сам сожмет картинку 200 пикселей в 100 или 50 практически без потерь в качестве.
Да это понятно, я установленный ISPManager только для управления юзерами и бд пользую. Виртхосты все руками через конфиги. Я имел ввиду какая переменная отвечает за эти соединения…
Лучше аргументировать ) сколько хоститесь, бывали ли проблемы… У нас просто клиентских сайтов штук 20 в работе и 5-6 постоянно живущих своих… геморройно туда-сюда ездить, поэтому хочется обоснованно выбрать один раз и хотя бы на некоторое время остановиться.
А они предоставляют тестовый период или что-то вроде? Или может можно как-то с Вами договориться залить для теста например пустой Yii с демками, сравнить производительность… У нас VDS пустая, не увешанная лишним софтом, но, правда, при этом толком и не настроенная — жутко тормозит. Я еще не успел разобраться в чем причина — руки не доходят, но хочется хоть примерно знать, что выдают другие схожие сервера…
В web-разработке аксиом не бывает. Для разных задач следует применять разные способы решения.
Что касается PHP — я подразумевал, что картинка (оригинал) может быть изменена и поэтому есть необходимость обновлять миниатюры. А в таком случае уже все равно, как вызывается скрипт.
Если же картинки закачиваются одноразово — то Ваш вариант вполне хорош, особенно с использованием nginx.
Вы думаете, ошибка 404 не вызовет нагрузки, если там все равно стартует РНР скрипт ;)?
Что касается кеша и сборщика мусора — здесь должно быть два аспекта, как минимум:
1) Удаление всего, что старше, допустим, месяца
2) Установка миниатюре даты создания оригинальной картинки (через touch() например) — а в скрипте эти даты сравнивать и т.о. вычислять актуальность
Еще немаловажно старательно рассматривать параметры вызова, ибо вызвав 100 раз уменьшалку с разными размерами со 100 машин будет достаточно, чтобы любой шаред хостинг заблокировали. Так что к двум пунктам можно дописать еще один — суммарное кол-во миниатюр, и их размер.
Если пойти еще дальше — можно при наличии бОльших «кратных» размеров отдавать их, не сжимая на сервере. Браузер сам сожмет картинку 200 пикселей в 100 или 50 практически без потерь в качестве.
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
По-моему тут все ок…