Посоветуйте Акселератор для php 5.0.5

  • Автор темы Автор темы Line
  • Дата начала Дата начала
AnToXa
Так какие конкретно он выполняет оптимизации - есть информация?

Выдержки из Zend Optimizer Technical FAQ
1. What is the Zend Optimizer? What does it do?
The Zend Optimizer goes over the intermediate code generated by the standard Zend runtime
compiler and optimizes it for faster execution. In addition, the Zend Optimizer
enables PHP to load and execute files encoded by the Zend Encoder.
Типа берем байт-код и его оптимизируем. Ну и заодно готовый байт-код грузим.

6. How many optimizations does the Zend Optimizer perform altogether?
The Zend Optimizer is capable of performing around 20 different optimizations, some of which are quite complex. One of the simpler optimizations that the Zend Optimizer does s to change post-incrementing to pre-incrementing, where possible, since preincrementing
is the faster operation of the two.
Какие оптимизации применяются - да разные, некоторые из них весьма комплексные. Ну к примеру где можно меняем пост-инкремент на пре-инкремент - он аж в 2 раза быстрее!

Если все оптимизации в этом-же духе, понятно почему у меня не заметна она - типовой же скрипт

1. Обратиться к БД
2. Вывести результат

Количество данных, обрабатываемых одним скриптом - небольшое, все вычисления делает СУБД в процессе исполнения запросов. Ну и они не сложные обычно :-)
 
alexhemp
а ты хотел чтобы zend optimizer тебе ускорял запросы к базе или как?

разговор ведь был про то, что оптимизации _есть_ и они ускорят код, просто их не всегда разумно применять.
какое из этих утверждений ты хочешь оспорить?

вот уж и вправду "создать несуществующего врага и с ним потом бороться"
 
AnToXa

Я хочу сказать что использование Zend Optimizer ничего заметно не ускоряет. Если какие-то скрипты и начинают работать быстрее, то это скорее исключение.

Поэтому он выходит нужен только для запуска закодированных Zend-ом скриптов, и если таковых нет - то толку от него ноль.

А раз речь идет об акселлерации - то ставить нужно кэш байт-кода, тем более что есть развивающийся, бесплатный eAccelerator.
 
alexhemp
Я хочу сказать что использование Zend Optimizer ничего заметно не ускоряет. Если какие-то скрипты и начинают работать быстрее, то это скорее исключение.
вам уже пояснили, что "заметно" оно ускоряет вместе с ZendAccelerator, пойдем по второму кругу?
 
Автор оригинала: alexhemp
А раз речь идет об акселлерации - то ставить нужно кэш байт-кода, тем более что есть развивающийся, бесплатный eAccelerator.
Был уверен, что развитие eAccelerator'а остановилось, зашел на сайт... И оказалось, что вчера вышел eAccelerator 0.9.4 rc1. ;)
 
magic
он это кто ? вы случайно Optimizer и PerformanceSuite (Platform) не путаете ?

-~{}~ 21.11.05 16:26:

вам уже пояснили, что "заметно" оно ускоряет вместе с ZendAccelerator, пойдем по второму кругу?
мне чтото в это не верится если честно, а как проверить не знаю. хотя наврено даже знаю :) пошел тестировать ...

-~{}~ 21.11.05 16:55:

Typo3 / Zend Optimizer 2.5.12 + Platform 2.1.1

Код:
[b]zend_optimizer.optimization_level=0[/b]

Concurrency Level:      10
Time taken for tests:   9.362 seconds
Complete requests:      1000
Failed requests:        0
Broken pipe errors:     0
Total transferred:      2827000 bytes
HTML transferred:       2584000 bytes
Requests per second:    106.81 [#/sec] (mean)
Time per request:       93.62 [ms] (mean)
Time per request:       9.36 [ms] (mean, across all concurrent requests)
Transfer rate:          301.97 [Kbytes/sec] received

[b]zend_optimizer.optimization_level=15[/b]

Concurrency Level:      10
Time taken for tests:   9.949 seconds
Complete requests:      1000
Failed requests:        0
Broken pipe errors:     0
Total transferred:      2827000 bytes
HTML transferred:       2584000 bytes
Requests per second:    100.51 [#/sec] (mean)
Time per request:       99.49 [ms] (mean)
Time per request:       9.95 [ms] (mean, across all concurrent requests)
Transfer rate:          284.15 [Kbytes/sec] received

[b]without zend_optimizer.optimization_level (по умолчанию, включены все оптимизации)[/b]

Concurrency Level:      10
Time taken for tests:   9.490 seconds
Complete requests:      1000
Failed requests:        0
Broken pipe errors:     0
Total transferred:      2835481 bytes
HTML transferred:       2591752 bytes
Requests per second:    105.37 [#/sec] (mean)
Time per request:       94.90 [ms] (mean)
Time per request:       9.49 [ms] (mean, across all concurrent requests)
Transfer rate:          298.79 [Kbytes/sec] received

-~{}~ 21.11.05 16:59:

т.е разница в пределах погрешности.
 
имхо не очень корректный тест, онож код оптимизирует, все равно все тонет в базах/string ops/regex/output/etc.

на более-менее расчетной задачке надо смотреть :)
 
AnToXa
речь о том что на РЕАЛЬНЫХ комплексных приложениях толку от него ровно 0, а то что он на "сферическом коне в вакууме" aka "определенном алгоритме" что даст я и не оспариваю? только это не имеет Практического значения.

P.S. я сейчас вырубил оптимизацию (не акселерацию) на нагруженном сервере, посмотрим что покажут картинки CPU и т.п ...

-~{}~ 21.11.05 17:24:

на более-менее расчетной задачке надо смотреть
много ли таких решений на РНР делается ? :)
 
угу, мало пользы, но все же есть, даже один процент для некоторых - весомо, правда только если это подтвержденный процент :)

много ли таких решений на РНР делается ?
а они вообще делаются? :)
 
AnToXa
Дык я Вас про это и спрашивал - укажите класс задач в которых оптимайзер помогает хотя-бы заметно.

si
Шикарные тесты. :-)

У меня к сожалению eAccelerator который сам байт-код "оптмизирует", поэтому не знаю - можно ли считать мой тест объективным.
 
alexhemp
те, для которых проценты важны и которые используют Accelerator.
 
AnToXa
Конретный пример можете привести?
Я вот искал и не нашел. :-)

А то у вас масло маслянное - "каков класс задач где оптимайзер заметен" - "те для которых это важно" - это Вы с кем разговаривали?

Опять-же Optimizer получается только в комплекте с Zend Platform нужен? Но он и так вроде как является ее частью - мы же говорим про отдельную инсталляцию

eAccelerator сам делает какие-то оптимизации, так что Optimizer с ним вообще не заметен.
 
конкретный пример: приложения, где выигрыш в производительности на проценты - играет роль, т.е. позволяет заработать больше денег, быстрее найти ответ, etc.
я именно такой ответ и дал.

конкретный пример такого приложения? google ?
 
конкретный пример: приложения, где выигрыш в производительности на проценты - играет роль, т.е. позволяет заработать больше денег, быстрее найти ответ, etc.
вопрос тут в том что такого приложения никто не знает

конкретный пример такого приложения? google ?
и чего спросить спросить ? :)

P.S от меня попросили цифры и я их предоставил, теперь хотелось бы и от противной стороны лицезреть что-то материальное, а не пустые (пока надеюсь) слова.

-~{}~ 21.11.05 19:03:

P.S.S либо признание того что в реальной жизни роль ZO исключительно как лоадер закодированных скриптов, а остальные его фичи (да, они есть но толку от них нету) по сути маркетинг чистой воды :)
 
si

Вот и я от него пытаюсь добиться того-же ;-)

AnToXa
si убедительно показал что результаты оптимайзера на уровне погрешности измерения. Наверное сильнее влияет расположение файла на диске. И потом где гарантия что Optimizer не замедляет иногда процесс, ведь то что он нифига не ускоряет - очевидно по тестам si.
О опровергнуть результаты si можно только одним образом - продемонстрировать исходники имеющего реальную применимость скрипта который с оптмайзером работает быстрее хотя-бы на 10% чем без оного.

Наверное умножение больших чисел циклом из пост-инкрементов и ускориться, но толку-то - если это можно записать обычным умножением.
 
> вопрос тут в том что такого приложения никто не знает
тебе подсказать или сам догадаешься? :) правда мы оптимайзер не бенчили.

на мой вкус - это все же оптимизации, то что они могут быть не видны или быть на уроне погрешности измерений - да, вижу, и даже не могу привести ни кода ни примера проектов где оптимайзер гарантировано дает прирост, хотя класс проектов, где это весьма вероятно - есть на мой вкус.
плюс можно попробовать написать расчетную задачу какую-нибудь.

т.е. с фактами в руках "бороться" не могу, высказываю личное мнение, возможно ошибочное.
т.е. на данный момент, если я вдруг где говорил, что оптимайзер гарантировано дает прирост - пока признаюсь что неправ.

насчет маркетинга - обращайтесь в Zend Technologies, я там не работаю :)
 
Потому что нужен temp-value, чтобы сохранить предыдущее значение.
 
Код:
[b]zend_optimizer.optimization_level=0[/b]

Concurrency Level:      10
Time taken for tests:   90.947 seconds
Complete requests:      100
Failed requests:        99
Broken pipe errors:     0
Total transferred:      2479701 bytes
HTML transferred:       2438181 bytes
Requests per second:    1.10 [#/sec] (mean)
Time per request:       9094.70 [ms] (mean)
Time per request:       909.47 [ms] (mean, across all concurrent requests)
Transfer rate:          27.27 [Kbytes/sec] received

[b]zend_optimizer.optimization_level=15[/b]

Concurrency Level:      10
Time taken for tests:   86.029 seconds
Complete requests:      100
Failed requests:        0
Broken pipe errors:     0
Total transferred:      2504300 bytes
HTML transferred:       2462600 bytes
Requests per second:    1.16 [#/sec] (mean)
Time per request:       8602.90 [ms] (mean)
Time per request:       860.29 [ms] (mean, across all concurrent requests)
Transfer rate:          29.11 [Kbytes/sec] received

[b]without zend_optimizer.optimization_level[/b]

Concurrency Level:      10
Time taken for tests:   90.831 seconds
Complete requests:      100
Failed requests:        0
Broken pipe errors:     0
Total transferred:      2504300 bytes
HTML transferred:       2462600 bytes
Requests per second:    1.10 [#/sec] (mean)
Time per request:       9083.10 [ms] (mean)
Time per request:       908.31 [ms] (mean, across all concurrent requests)
Transfer rate:          27.57 [Kbytes/sec] received

Взял первую попавшуюся страницу, разница ~5%. Если пошерстить, будет больше :)
 
Где ж такие страницы попадаются... 1 секунда на создание 27 килобайт...
И почему-то в первом случае Failed requests: 99.
 
Сверху