1 / 16

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

Ускорение проекта на PHP на примере. Что такое nginx и зачем он нужен, если есть apache?. HTTP-запрос. HTTP-ответ. Статика GIF,JPG,ICO. Динамика PHP-скрипты. HTTP-запрос. HTTP-запрос. ?. HTTP-ответ. HTTP-ответ. Статика GIF,JPG,ICO. Динамика PHP-скрипты. LIGHTTPD. NGINX.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

  11. Как работать с 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; }

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

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

  14. Осталось ещё свободной памяти?Не беда! #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]

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

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

More Related