Предпочтение вставлять текстовый водяной знак - PullRequest
0 голосов
/ 06 декабря 2011

Нам нужно добавить текстовый водяной знак на изображение, используя что-то вроде imagegettftext.В нашем случае будет около 30 стандартных «базовых» изображений и десятки тысяч текстовых водяных знаков, которые понадобятся для нанесения водяного знака на каждое базовое изображение.

Текст водяного знака конечный, но большой (назовем его всего 100 КБ),Они представляют номера деталей / SKU.

Таким образом, вопрос в том, будет ли нам лучше с точки зрения производительности предварительно создавать все файлы и просто позволить коду php найти соответствующий файл в файловой системе (мы использовали бы общее соглашение об именах, например: baseImage_SKU.png), или нам было бы лучше просто динамически генерировать изображения на лету, чем искать в файловой системе.

Третий вариант - проверитьесли образ существует на диске, и если он не создан, и сохраните его для будущего использования с хорошо известным именем

Эти изображения будут использоваться на веб-страницах php, и в среднем при пиковой нагрузке будут составлять менее 5 запросов в секунду.Сервер будет выделенным стеком LAMP, созданным для этого приложения (мы можем настраивать оборудование по мере необходимости).

Общая логика говорит, что ЦП не выполнит дисковый ввод-вывод, но я бы хотел знать, что думают другиеили если кто-то сделал что-то подобное.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2011

Мы провели некоторое (базовое) тестирование перфом. Предварительная генерация файлов была лучшим вариантом для нас, и, поскольку они занимают небольшое (по несколько k каждый) место на диске, проблем не возникало. Вероятно, мы оптимизируем, используя папки для лучшей сортировки, когда у нас будет больше изображений, но кроме этого никакие другие оптимизации не требуются.

0 голосов
/ 06 декабря 2011

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

...