Ускорение проекта на PHP на примере
Что такое nginx и зачем он нужен, если есть apache?
Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-запрос
? Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-запрос
LIGHTTPDNGINX Бесплатныйда Проксированиеда Быстрый на статикеда НедостаткиMemory Leak???
NGINX Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-запрос
FAST-CGI PHP-FPM NGINX Статика GIF,JPG,ICO Динамика PHP-скрипты HTTP-ответ HTTP-запрос
Применение memcached для кэширования объектов
Что умеет memcached? Почти ничего: - set - get - delete
Для чего нужен memcached? - Сложные составные объекты - Счетчики - Кэши выборок
Как работать с 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; }
Где подвох? - Данные устарвевают и теряются - Объем памяти ограничен - Это кэш! - Это не БД!
Использование tpmfs для хранения некритических данных
Осталось ещё свободной памяти? Не беда! #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]
Что ещё можно разместить в памяти? - Превью картинок # du -sh 160x x150 65x65 75x57 3,6M 160x120 5,9K 200x K 65x65 1,2M 75x57 - Кэш шаблонного движка # du -sh cache 5M cache
Андрей Суббота