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

alexhemp

Новичок
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. Вывести результат

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

AnToXa

prodigy-одаренный ребенок
alexhemp
а ты хотел чтобы zend optimizer тебе ускорял запросы к базе или как?

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

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

alexhemp

Новичок
AnToXa

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

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

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

AnToXa

prodigy-одаренный ребенок
alexhemp
Я хочу сказать что использование Zend Optimizer ничего заметно не ускоряет. Если какие-то скрипты и начинают работать быстрее, то это скорее исключение.
вам уже пояснили, что "заметно" оно ускоряет вместе с ZendAccelerator, пойдем по второму кругу?
 

adamant

Новичок
Автор оригинала: alexhemp
А раз речь идет об акселлерации - то ставить нужно кэш байт-кода, тем более что есть развивающийся, бесплатный eAccelerator.
Был уверен, что развитие eAccelerator'а остановилось, зашел на сайт... И оказалось, что вчера вышел eAccelerator 0.9.4 rc1. ;)
 

si

Administrator
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:

т.е разница в пределах погрешности.
 

AnToXa

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

на более-менее расчетной задачке надо смотреть :)
 

si

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

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

-~{}~ 21.11.05 17:24:

на более-менее расчетной задачке надо смотреть
много ли таких решений на РНР делается ? :)
 

AnToXa

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

много ли таких решений на РНР делается ?
а они вообще делаются? :)
 

alexhemp

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

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

У меня к сожалению eAccelerator который сам байт-код "оптмизирует", поэтому не знаю - можно ли считать мой тест объективным.
 

AnToXa

prodigy-одаренный ребенок
alexhemp
те, для которых проценты важны и которые используют Accelerator.
 

alexhemp

Новичок
AnToXa
Конретный пример можете привести?
Я вот искал и не нашел. :)

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

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

eAccelerator сам делает какие-то оптимизации, так что Optimizer с ним вообще не заметен.
 

AnToXa

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

конкретный пример такого приложения? google ?
 

si

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

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

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

-~{}~ 21.11.05 19:03:

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

alexhemp

Новичок
si

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

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

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

AnToXa

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

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

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

насчет маркетинга - обращайтесь в Zend Technologies, я там не работаю :)
 

Profic

just Profic (PHP5 BetaTeam)
Потому что нужен temp-value, чтобы сохранить предыдущее значение.
 

magic

lancer
Код:
[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%. Если пошерстить, будет больше :)
 

Steamroller

Новичок
Где ж такие страницы попадаются... 1 секунда на создание 27 килобайт...
И почему-то в первом случае Failed requests: 99.
 
Сверху