Предпочтение для встраивания текстового водяного знака

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

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

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

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

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

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


person EdH    schedule 05.12.2011    source источник


Ответы (2)


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

person F21    schedule 05.12.2011
comment
Место на диске тут не при чем. Но ваш ответ о кэшировании поднял еще один вопрос, который я хотел спросить в оп, так что спасибо! - person EdH; 06.12.2011

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

person EdH    schedule 11.12.2011