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

Презентация:



Advertisements
Похожие презентации
О кэшировании. Никогда ничего не кэшируйте Оцените, что надо кэшировать, а что - нет.
Advertisements

Index.art 75% пользователей уйдут с сайта после 10 секунд ожидания Максимально приемлемое время ожидания – не более 4 секунд Размер страниц постоянно растет…
Выборка записей из БД по составным условиям. Задание 1 Ответ: 6 записей.
Интернет доступ к Web-ресурсам географически распределённой системы мониторинга ближнего и дальнего космоса. Черненков В.Н., Витковский В.В., Калинина.
Что нового в PHP 5.3Что нового в PHP 5.3Почему PHP 5.3? PHP 5.2 существует уже 1.5 года. В нем найдено несколько серьезных ошибок, которые не могут быть.
Большой Drupal Клера Виленская. Производительность на одном сервере 99 пользователей: 80% аутентифицированных 30% добавляют контент зарегистрировано 1000.
Тестирование безопасности или Security and Access Control Testing.
Архитектура новой почты Рамблера Андрей Шетухин. Rambler Mail сегодня 240 тысяч новых регистраций в день 66 миллионов пользователей 20 миллионов живых.
Что нового в PHP 5.3 Дмитрий Стогов.
Доклад «ORM: благо или зло?» Автор Горшков Сергей Вадимович.
Hibernate cashe. Part 4 Для студентов старших курсов университетов Ст.преподаватель Дудник О.А.
Frontik сервер-агрегатор на python. Зачем frontik? I.
Разгони свой сайт Лекция 1: Особенности клиентской оптимизации Мациевский Николай 1 / 23 webo.in.
Использование MySQL в сервисе дневников LiveInternet.ru Практика, практика, практика Гурьянов Андрей, программист Новиков Лев, системный администратор.
Open InfoSec Days Томск, 2011 Глава 1. Атаки на веб-приложения и методы защиты Занятие 2. Cross-site request forgery.
ПРОТОКОЛЫ HTTP. HTTP - HyperText Transfer Protocol Протокол уровня приложений Текущая версия HTTP/1.1.
От стартапа до highload: Эволюция веб-проекта, или Как победить нагрузку Антон Терехов Ведущий инженер - программист отдела фотосервисов ООО "Медиа Мир"
Занятие Language Reflection Language Reflection – способность объектов к рефлексии, то есть умение давать информацию об исключительно языковых свойствах.
Memcached Приемы реализации высоконагруженных систем.
Web, кэширование и memcached Андрей Смирнов (НетСтрим)
Транксрипт:

Ускорение проекта на 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

Андрей Суббота