Голосование

Вам интересен этот доклад?

Да
Нет

Автор Тема: ZFConf 2010: Zend Framework и производительность  (Прочитано 2645 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн Zh0rzh

  • Модератор
  • Герой
  • *****
  • Сообщений: 999
  • Карма: 65
Тема доклада: Zend Framework и производительность
Докладчик: Александр Махомет (создатель сообщества http://zendframework.ru)
Тезисы:

Суть доклада в том, чтобы показать как определенные методики могут повысить производительность приложения, использующего Zend Framework. Для этого будет эмулировано тестовое приложение и к нему будут применены вышеупомянутые методики. Доклад будет происходить по следующему, примерному плану:

Постановка задачи

•   Обзор тестового приложения;
•   Описание окружения на котором будет производиться тестирование производительности;
•   Инструменты, с помощью которых, будут получены результаты тестирования;
•   Параметры которые будут тестироваться, и замеры полученные до оптимизации приложения;

Методики повышения производительности (после каждого пункта планируется проводить новые замеры, последовательность может быть пересмотрена)

•   Средства не влияющие непосредственно на Zend Framework (акселераторы, настройка вебсервера и т.д.)
•   Удаление require* из кода Zend Framework
•   Объединение классов Zend Framework в один файл.
•   Автозагрузка и Zend_Loader
•   Кеширование объектов Zend_Config, Zend_Locale, Zend_Acl, Zend_Navigation, кеширование страниц и блоков, кеширование запросов к базе данных, другие варианты кеширования
•   Использование Memcache
•   Рекомендации команды разработчиков Zend Framework
•   Что предлагает Zend Server для производительных приложений

Информация на сайте конференции: Zend Framework и производительность -->

===
Голосуйте, обсуждайте, задавайте вопросы! Докладчику будет важно ваше мнение!
Не забываем предварительно регистрироваться на конференциию. Нам сейчас очень важно собрать точную информацию о количестве участников
« Последнее редактирование: Марта 01, 2010, 11:20:54 от san »
Оставляем и читаем отзывы о ZFConf 2010 Подробнее >>

Оффлайн san

  • Администратор
  • Герой
  • *****
  • Сообщений: 1706
  • Карма: 80
  • zf infected
    • Развитие личности от Александра Махомета
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #1 : Февраля 19, 2010, 15:17:46 »
Товарищи, к сожалению у меня нет возможности проводить "эксперименты" на реальном хайлоад проекте написанном на ZF, посему доклад получится несколько теоретическим. Если кто-то работает с такими проектами или хотя бы знает такие проекты или обладает какой-то интересной информацией по этой теме - отпишитесь мне пожалуйста в ЛС или сюда в тему.

Оффлайн Zh0rzh

  • Модератор
  • Герой
  • *****
  • Сообщений: 999
  • Карма: 65
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #2 : Февраля 19, 2010, 15:19:45 »
Так может помочь с эмулированием нагрузки? :)
Оставляем и читаем отзывы о ZFConf 2010 Подробнее >>

Оффлайн san

  • Администратор
  • Герой
  • *****
  • Сообщений: 1706
  • Карма: 80
  • zf infected
    • Развитие личности от Александра Махомета
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #3 : Февраля 19, 2010, 15:24:28 »
Так может помочь с эмулированием нагрузки? :)
В каком смысле? :) Нагрузку можно эмулировать ab или siege, но это все равно не даст таких результатов как на реальном проекте с реальной нагрузкой.

Оффлайн Zh0rzh

  • Модератор
  • Герой
  • *****
  • Сообщений: 999
  • Карма: 65
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #4 : Февраля 19, 2010, 15:28:16 »
А на реальном проекте с реальной нагрузкой - уже другие заморочки. Там узкое горло - это данные, где ZF играет не большую роль уже.

Нас же интересует именно ZF, поэтому методики оптимизации ZF можно вполне сравнивать по синтетической нагрузке
Оставляем и читаем отзывы о ZFConf 2010 Подробнее >>

Оффлайн san

  • Администратор
  • Герой
  • *****
  • Сообщений: 1706
  • Карма: 80
  • zf infected
    • Развитие личности от Александра Махомета
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #5 : Февраля 19, 2010, 15:34:07 »
А на реальном проекте с реальной нагрузкой - уже другие заморочки. Там узкое горло - это данные, где ZF играет не большую роль уже.

Нас же интересует именно ZF, поэтому методики оптимизации ZF можно вполне сравнивать по синтетической нагрузке
Согласен, и тем не менее посмотреть как "методики" ведут себя на реальном проекте было бы не лишним

Оффлайн lcf

  • lcf fan club
  • Герой
  • *****
  • Сообщений: 2166
  • Карма: 111
    • •LCF•
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #6 : Февраля 19, 2010, 15:56:13 »
А на реальном проекте с реальной нагрузкой - уже другие заморочки. Там узкое горло - это данные, где ZF играет не большую роль уже.

Нас же интересует именно ZF, поэтому методики оптимизации ZF можно вполне сравнивать по синтетической нагрузке
это точно.

Оффлайн IgorN

  • Team
  • Герой
  • ***
  • Сообщений: 2046
  • Карма: 45
    • Мой сайт
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #7 : Февраля 19, 2010, 16:15:24 »
А какого размера нужен проект?

Есть такой http://www.mp3mixx.com/ и http://mp3vips.com/ (как фронтэнды) и к ним http://www.mp3partners.biz/ как бэкэнд

База большая, есть таблицы с несколькими миллионами строк, насчет посещения сказать не могу.
Загрузка главной 130 миллисекунд.

Есть такой http://linkmoney.ru/ - 250 миллисекунд в базе есть таблицы на 2 миллиона строк (за 12 часов таблица так выросла :) ). Но проект только запустился, посетителей не много.
Мой сайт: http://igor-negrutsa.info/
Я знаю только то,что ничего не знаю, а многие не знают даже этого.

Оффлайн san

  • Администратор
  • Герой
  • *****
  • Сообщений: 1706
  • Карма: 80
  • zf infected
    • Развитие личности от Александра Махомета
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #8 : Февраля 19, 2010, 16:29:44 »
IgorN Чем больше тем лучше :)
Собираю различную информацию, которую смогу использовать в докладе.

Оффлайн IgorN

  • Team
  • Герой
  • ***
  • Сообщений: 2046
  • Карма: 45
    • Мой сайт
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #9 : Февраля 19, 2010, 16:58:31 »
IgorN Чем больше тем лучше :)
Собираю различную информацию, которую смогу использовать в докладе.

Ну а один из тех которые привел подходят?
Мой сайт: http://igor-negrutsa.info/
Я знаю только то,что ничего не знаю, а многие не знают даже этого.

Оффлайн san

  • Администратор
  • Герой
  • *****
  • Сообщений: 1706
  • Карма: 80
  • zf infected
    • Развитие личности от Александра Махомета
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #10 : Февраля 19, 2010, 17:04:38 »
IgorN Чем больше тем лучше :)
Собираю различную информацию, которую смогу использовать в докладе.
Ну а один из тех которые привел подходят?
Пока я просто накапливаю информацию - далее буду ее обрабатывать, так что все подходит :) Конечно хотелось бы какую то конкретику с цифрами по нагрузке, но тем не менее тоже хорошо.
« Последнее редактирование: Февраля 19, 2010, 17:09:31 от san »

Оффлайн IgorN

  • Team
  • Герой
  • ***
  • Сообщений: 2046
  • Карма: 45
    • Мой сайт
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #11 : Февраля 19, 2010, 18:14:11 »
http://linkmoney.ru/
Топовый 4-х ядерный ксеончик, 4 Гига памяти, два винта по 15000 оборотов. Убунту (9.10 ext4), eAccelerator, nginx.
ZF слит в один файл. Кэшируются метаданные и Zend_Acl, активно применяется кэширование запросов и различных блоков.
Время загрузки выше писал. Сделать нагрузочное тестирование можно легко с помощью доп. утилит.

Вот нарыл еще маленький черновик по тестам которые проводит на локальной машине (данные устаревшие, но думаю пригодятся).


AMD Athlon 64 X2 Dual Core
Processor 5200
+ (2700)
RAM 2 Gb

Ubuntu 9.04 last update
ext4

nginx 0.7.59
apache 2.2.11
php 5.2.6
eaccelerator

Улучшение производительности серверной части
(при включенном eaccelerator и nginx)

План:
1. Включение кэширования метаданных таблиц
2. Включение кэширования acl
3. Включение кэширование модулей
4. Включение кэширование конфига
5. Отключение логирования и профайлера запросов
6. Сливание зф в один файл
7. Поиск и устранение узких мест

Тесты 
(главная страница сайтакаждый тест выполняется по 5 раз и берется среднее:
1. Кэширования нет771.4
2. 
+Кэширование метаданных578.4
3. 
+Кэширование acl133.2
4. 
+Кэширование модулей124.6
5. 
+Кэширование конфигаприроста не существенный
6. 
+Отключение логирования и профайлера запросов122.3 (лучше не отключать)
7. +Слитый зф:


Узкие мета (xDebug):
Загрузчик10-20% - можно слить зф
Процесс диспитчеризации
20-40% - повлиять сложно

Нагрузочное тестирование
:

Утилита Siege

siege 
[url] -c25 -r25 -d1

-кол-во пользователей
-кол-во обращений
-задержка между обращениями

Transactions
:
	
	
         
625 hits кол-во обращений к серверу
Availability
:
	
	
         
100.00 % - успешность
Elapsed time
:
	
	
         
33.91 secs общая продолжительность теста
Data transferred
:
	
         
1.91 MB суммарное количество данных переданное всеми имитируемыми пользователямиОно включает в себя как тела запросовтак и их заголовки
Response time
:
	
	
         
0.72 secs среднее время ответа
Transaction rate
:
	
         
18.43 trans/sec среднее число обращений    которое сервер успел обработать за секунду
Throughput
:
	
	
             
0.06 MB/sec среднее число данных передаваемых ежесекундно от сервера к пользователям
Concurrency
:
	
	
         
13.29 кол-во одновременных подключений при которых сервер отвечает без задержек
Successful transactions
:     625 кол-во успешных запросов
Failed transactions
:
	
     
0
Longest transaction
:
	
     
1.42
Shortest transaction
:
	
     
0.07


О размере базы писал.

По первому сайту(сайтам)
Топовый 8-ми ядерный ксеончик, 8 Гиг памяти, один винт на 15000 оборотов. Убунту (9.04 ext3), eAccelerator, nginx (вся статика на нем).
ZF слит в один файл. Кэшируются метаданные и Zend_Acl, активно применяется кэширование запросов и различных блоков.
Время загрузки выше писал.
Больше к сожалению данных нет.
Мой сайт: http://igor-negrutsa.info/
Я знаю только то,что ничего не знаю, а многие не знают даже этого.

Оффлайн stfalcon

  • Team
  • Герой
  • ***
  • Сообщений: 891
  • Карма: 44
  • Добрый сокольничий ^_~
    • My name is Tanasiychuk Stepan і це мій блог
Re: ZFConf 2010: Zend Framework и производительность
« Ответ #12 : Февраля 20, 2010, 17:10:14 »
В акселераторе ещё настройки нужно смотреть. Например отключение проверки времени создания файла дает прирост 5-10% (для ЗФ, который не объединен в один файл).

из моих закладок:
http://webtechtalks.blogspot.com/2009/05/zend-framework-performance-test-with.html
http://habrahabr.ru/blogs/zend_framework/73273/

Оффлайн san

  • Администратор
  • Герой
  • *****
  • Сообщений: 1706
  • Карма: 80
  • zf infected
    • Развитие личности от Александра Махомета