'

Ускорение проекта на PHP на примере

Понравилась презентация – покажи это...





Слайд 0

Ускорение проекта на PHP на примере


Слайд 1

Что такое nginx и зачем он нужен, если есть apache?


Слайд 2

Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-запрос


Слайд 3

? Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-ответ HTTP-запрос HTTP-запрос


Слайд 4

LIGHTTPD NGINX Бесплатный да да Проксирование да да Быстрый на статике да да Недостатки Memory Leak ???


Слайд 5

NGINX Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-ответ HTTP-запрос HTTP-запрос


Слайд 6

FAST-CGI PHP-FPM NGINX Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-ответ HTTP-запрос HTTP-запрос


Слайд 7

Применение memcached для кэширования объектов


Слайд 8

Что умеет memcached? Почти ничего: - set - get - delete


Слайд 9

Для чего нужен memcached? - Сложные составные объекты - Счетчики - Кэши выборок


Слайд 10

Как работать с memcached? $memcache_obj = new Memcache; $memcache_obj->connect('memcache_host', 11211); public function get_byid($id){ global $memcache_obj; if( !$object = $memcached_obj->get('object_'.$id) ){ /* * Тут многокилобайтный код сбора объекта $object */ $object = 'object_'.$id; $memcached_obj->save($object, 'object_'.$id); } return $object; }


Слайд 11

Где подвох? - Данные устарвевают и теряются - Объем памяти ограничен - Это кэш! - Это не БД!


Слайд 12

Использование tpmfs для хранения некритических данных


Слайд 13

Осталось ещё свободной памяти? Не беда! #mount -t tmpfs tmpfs /mnt/disk - Директория для быстрой отдачи файлов - Для Nginx не требуется костылей if (!-f $request_filename) { rewrite ^(.*)$ /makepreview.php?$1 last; break; } - Для Apache не требуется костылей RewriteCond %{REQUEST_FILENAME} !-F RewriteRule ^(.*)$ /makepreview.php?$1 [L]


Слайд 14

Что ещё можно разместить в памяти? - Превью картинок # du -sh 160x120 200x150 65x65 75x57 3,6M 160x120 5,9K 200x150 844K 65x65 1,2M 75x57 - Кэш шаблонного движка # du -sh cache 5M cache


Слайд 15

Андрей Суббота subbota@gmail.com


×

HTML:





Ссылка: