Оптимизация нагрузки timthumb.php

Плюсануть
Поделиться
Класснуть

Осторожно! Данный пост содержит не мало ненависти к безобидному скрипту и разработчику.

Оптимизация нагрузки timthumb.php

Уже несколько дней усердно сражаюсь с нагрузкой на одном блоге. Движок, как это не удивительно, WordPress, который славится своей прожорливостью. По поводу оптимизации я ещё напишу парочку постов, но этот будет про оптимизацию timthumb.php

В кратце - timthumb.php говно. Как то из за этого скрипта было взломано множество блогов, в которых использовался данный скрипт.

Так же это неоптимизированное говно. Данный скрипт режет картинки до нужного размера, удобно делать небольшие превью к постам. Но блять, у этого чуда нет кеша. Плохо это тем, что каждый раз генерируется новая картинка. Посещаемость блога 10000? Значит минимум 10000 раз будет вызываться скрипт, который к тому же довольно неповоротливый.

Вернее у timthumb.php есть кеш, но он используется только для генерации картинки. Каждый сраный раз, когда юзер обновляет страницу.

Приведу более подробный пример. На главной странице выводится 10 постов, у каждого превью. Посещаемость сайта 3000 уникальных посетителей. Каждый просматривает ~3 страницы, но допустим половина из них смотрит только внутренние, где превью не генерируется.

Получаем 10*(3000*1,5)=45000. Сорок пять, блять, тысяч запросов. И это простенький пример.

Ну, думаю, убедил убрать данный плагин со своего сайта, распечатать его и сжечь нахуй. И проклянуть автора. Теперь расскажу про няшную альтернативу timthumb.php.

После долгого гугления нашёл замечательный плагин Kama Thumbnail. Блять, он прекрасен. И кеш есть, и нормальный путь до изображения, и настройки адекватные. Но обо всём по порядку.

По поводу пути до картинки. Тут без слов, сразу примеры. Вот путь до изображения от timthumb.php, который был у меня на сайте:

http://site.ru/wp-content/themes/CoolTheme/timthumb.php?src=http://site.ru/wp-content/uploads/2012/03/pic.jpg&w=200&h=160&zc=1&q=90

Ахуеть же! А вот путь плагина Kama Thumbnail:

http://site.ru/thumb/fd754e249_200x160.png

Красота! Модно, стильно и гламурно!

Настройки так же хороши. В timthumb.php я уже не помню как настраивал исключения, когда в посте нет картинки, и другие тонкости. В Kama Thumbnail в самом файле указывается заглушка и путь, где хранить кеш.

Вывод превью так же хорош. Я уже забыл как всё делалось в timthumb.php, но гемороя было не мало. В Kama Thumbnail же всё просто. Пример ниже.

Установка Kama Thumbnail

Кидаем файл kama_thumbnail.php в папку темы. Затем в functions.php прописываем такую строчку:

include('kama_thumbnail.php');

И там, где нужно выводить превью, примерно такой код:

echo kama_thumb_src ('w=100 &h=80 &q=75');

Всё можно гибко кастомизировать (размер, вариант вывода ссылки и прочее). Но такой вариант мне показался самым оптимальным.

Собственно все функции плагина и ссылка на его скачивание доступны на странице плагина: wp-kama.ru/id_142/kama-thumbnail.html.

Автор не забывает обновлять плагин, это радует.

Нечего делать? Посмотрите Демотиваторы, позалипайте.

Последнее изменение записи: 28.12.2015 | Рубрика: Работа | Метки: ,
Плюсануть
Поделиться
Класснуть