Перейти к содержанию

Рекомендуемые сообщения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну то, что 7 версия в 2-3 раза быстрее 5.6 уже давно не новость. 
На хабре есть сравнение производительности разных версий php (есть и 7.2) на разных движках, это более интересно, чем какой-то bench.php, так как там реальные движки
https://habr.com/company/mailru/blog/350686/

А вот последняя колонка очень интересна, о том, что php 8 выйдет с поддержкой JIT компилятора я уже в другой теме писал, а тут даже тесты есть, получается с JIT php будет быстрее в 2 раза за 7.1! Это круто. Вот только выйдет php 8 года через 3.. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, sv2109 сказал:

А вот последняя колонка очень интересна, о том, что php 8 выйдет с поддержкой JIT компилятора я уже в другой теме писал, а тут даже тесты есть, получается с JIT php будет быстрее в 2 раза за 7.1! Это круто. Вот только выйдет php 8 года через 3.. 

новости 8ке уже давно есть, вроде даже на хабре была 

JIT скорее, да и не скорее, в зависимости от того как "приготовлен", это так сказать камень в огород пайтону  

 

Википедия 

Цитата

Большинство реализаций JIT имеют последовательную структуру: сначала приложение компилируется в байт-код виртуальной машины среды исполнения (AOT-компиляция), а потом JIT компилирует байт-код непосредственно в машинный код. В итоге при запуске приложения тратится лишнее время, что впоследствии компенсируется более быстрой его работой. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

с включённым OPCache

"Неочем"

Интересны тесты с выключенным opcache, учитывая как коряво он работает с opencart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

жалко что все эти перфомансы никак не повлияют на opencart (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, freelancer сказал:

жалко что все эти перфомансы никак не повлияют на opencart (

Даниэль еще не сам не определился, сегодня делает 7.2, завтра 5.6. 

Хотя 3йка сейчас должна работать на php7 без "танцев с бубнами" 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
18 минут назад, markimax сказал:

"Неочем"

Интересны тесты с выключенным opcache, учитывая как коряво он работает с opencart

Согласен..

А ну-ка назовите мне что самое тормознутое в опенкарте?
БИНГО! Запросы в базу

И чем здесь поможет 777версия не понятно.
Ну, выполнится цикл с 20 товарами за 0,005 сек, вместо привычных 0,010
И что?

Уйти от безумных передач массивов.. и это уже ускорит..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
22 минуты назад, markimax сказал:

"Неочем"

Интересны тесты с выключенным opcache, учитывая как коряво он работает с opencart

Вот про opcache + opencart соглашусь. Отключил его. Коряво до горя. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, niger сказал:

Вот про opcache + opencart соглашусь. Отключил его. Коряво до горя

А в чем именно корявость? Минусов слышал значительно меньше, чем плюсов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да хоть php8+

opencart не делает сложных вычислений Множеств Мандельброта

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы не писать пустые посты решить проверить на реальных цифрах. 
Проверял на OpenCart 2.3.0.2 на версиях php 5.6 и 7.1 Просто эти 2 версии установлены на моем рабочем ноутбуке, то есть железо то же, все то же, просто переключался между версиями php, перезапускал апач и делал вторую проверку. 
И так
5.6 

Спойлер

PHP Version 5.6.36-1+ubuntu16.04.1+deb.sury.org+1


This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient).....done


Server Software:        Apache/2.4.18
Server Hostname:        localhost
Server Port:            80

Document Path:          /opencart/2302/
Document Length:        26292 bytes

Concurrency Level:      1
Time taken for tests:   7.605 seconds
Complete requests:      50
Failed requests:        0
Total transferred:      1347550 bytes
HTML transferred:       1314600 bytes
Requests per second:    6.57 [#/sec] (mean)
Time per request:       152.100 [ms] (mean)
Time per request:       152.100 [ms] (mean, across all concurrent requests)
Transfer rate:          173.04 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   120  152  26.4    148     215
Waiting:      119  151  26.3    148     214
Total:        120  152  26.4    148     215

Percentage of the requests served within a certain time (ms)
  50%    148
  66%    161
  75%    170
  80%    177
  90%    194
  95%    204
  98%    215
  99%    215
  100%    215 (longest request)


7.1

Спойлер

PHP Version 7.1.10-1+ubuntu16.04.1+deb.sury.org+1

 

This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient).....done


Server Software:        Apache/2.4.18
Server Hostname:        localhost
Server Port:            80

Document Path:          /opencart/2302/
Document Length:        26292 bytes

Concurrency Level:      1
Time taken for tests:   5.410 seconds
Complete requests:      50
Failed requests:        0
Total transferred:      1346200 bytes
HTML transferred:       1314600 bytes
Requests per second:    9.24 [#/sec] (mean)
Time per request:       108.205 [ms] (mean)
Time per request:       108.205 [ms] (mean, across all concurrent requests)
Transfer rate:          242.99 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    82  108  22.7     97     165
Waiting:       82  108  22.7     96     164
Total:         82  108  22.7     97     165

Percentage of the requests served within a certain time (ms)
  50%     97
  66%    115
  75%    127
  80%    133
  90%    144
  95%    151
  98%    165
  99%    165
  100%    165 (longest request)

 

и коротко
 

5.6 
Complete requests:      50
делает за
Time taken for tests:   7.605 seconds
запросов в секунду
Requests per second:    6.57 [#/sec] (mean)
среднее время одного запроса
Time per request:       152.100 [ms] (mean)

 

7.1
Complete requests:      50
делает за
Time taken for tests:   5.410 seconds
запросов в секунду
Requests per second:    9.24 [#/sec] (mean)
среднее время одного запроса
Time per request:       108.205 [ms] (mean)

 

То есть на 7.1 опенкарт 2.3 работает больше чем на 40% (почти в полтора раза) быстрее, чем на 5.6 

Вот вам реальные цифры, а не домысли из потолка о том, что для опенкарт версия php вообще никак не повлияет на скорость, ведь там оказывается база.. и сложного кода нету.. и вообще все работает коряво и не так как у всех.. :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, sv2109 сказал:

Чтобы не писать пустые пусты решить проверить на реальных цифрах. 

 

 

 



Вот вам реальные цифры, а не домысли из потолка о том, что для опенкарт версия php вообще никак не повлияет на скорость, ведь там оказывается база.. и сложного кода нету.. и вообще все работает коряво и не так как у всех..  

 

А вы внимательно читали о чем там шла речь?
Речь шла не про версию php
И так понятно и видно по тестам что 7 быстрее 5 раза в полтора
Речь шла про opcache, его кривость работы и соответственно "дутые" тесты
Про 7 и так все знаем. Я давно JC запускал с профайлером, реальные результаты такие же - 7 быстрее в полтора, два раза. Даже с выключенным opcache
Где прирост? На операциях json_decode большая (коих в opencart валом (config, cache)), на работе с большими массивами и т п 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
42 минуты назад, markimax сказал:

На операциях json_decode большая (коих в opencart валом (config, cache)), на работе с большими массивами и т п 

Вот именно, но прирост именно на тестах, а на реальном проекте это прирост незначителен

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, markimax сказал:

Речь шла про opcache, его кривость работы и соответственно "дутые" тесты

 

1. Какие конкретные проблемы с опкешем? 
Я за уже больше 6 лет что работают с опенкартос ни разу не сталкивался с какими-то проблемами опкеша. Нет, я не спорю, может они и есть на каких-то конфигурациях серверов, то это явно скорее или исключения или кривость рук, тех, кто все настраивал. Да и почему это десятки других движков, которые в разы сложнее опенкарта с опкешем работают, а опенкарт вот вдруг вообще не может работать?
 

2. Специально проверил с выключенным опкешем, тот же сайт, то же железо
5.6 
запросов
Complete requests:      50
делает за
Time taken for tests:   8.567 seconds
запросов в секунду
Requests per second:    5.84 [#/sec] (mean)
среднее время одного запроса
Time per request:       171.346 [ms] (mean)

7.1
запросов
Complete requests:      50
делает за
Time taken for tests:   6.771 seconds
запросов в секунду
Requests per second:    7.38 [#/sec] (mean)
среднее время одного запроса
Time per request:       135.429 [ms] (mean) 

 

То есть даже с выключенным опкешем прирост скорости все равно около 30% между 5.6 и 7.1 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, sv2109 сказал:

 

1. Какие конкретные проблемы с опкешем? 
Я за уже больше 6 лет что работают с опенкартос ни разу не сталкивался с какими-то проблемами опкеша. Нет, я не спорю, может они и есть на каких-то конфигурациях серверов, то это явно скорее или исключения или кривость рук, тех, кто все настраивал. Да и почему это десятки других движков, которые в разы сложнее опенкарта с опкешем работают, а опенкарт вот вдруг вообще не может работать?

 

 

У других движков такие же проблемы с opcache (была статья на хабре)
opcache "условно - стабильное" расширение. И для магазинов рекомендуют выключать, если не хотите потерять заказы, или корзина пользователя "вдруг" от другого пользователя  и т п
Да зависит от настроек сервера. Но как пользователю обьяснить что хостер криворукий и не может настроить opcache
Я часто замечаю проблемы с opcache. К примеру иногда настройки сохранил, заходишь старые, а через время "новые". С корзиной иногда (замечу "иногда". понятное дело что кешируется байт код и что там в кеше "не понятно" в данный момент) проблемы, заказы пропадают и т п
Выключаешь opcache - всё отлично работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, sv2109 сказал:

прирост скорости все равно около 30% между 5.6 и 7.1 

Блин!!!!
@sv2109 и что?
 

 

7 минут назад, sv2109 сказал:

Специально проверил

Чем и что?

Я как-то делал тесты
serialize и json
с предварительным зипом и без
запись и чтение
На разных серверах, в разных окружениях
Никто не победил.
У кого-то быстрое чтение, у кого-то быстрая запись, кто-то быстро работал на малых данных, а кто-то на больших
Какая частота  записи кеша, и чтения?
Другая сторона - целостность данных
нарушение целостности в сериализованных данных приведет к крешу, в json - нет
Так что лучше использовать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, markimax сказал:

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

по-моему оно же входит в пакет от yoda который за 9999руб

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

отличный пример статистики сферического опенкарта в вакууме

но вывод безусловно вне всяких похвал!

 

1 час назад, sv2109 сказал:

То есть на 7.1 опенкарт 2.3 работает больше чем на 40% (почти в полтора раза) быстрее, чем на 5.6 

 

смотрите опенкарт на php 7.1 на 40% быстрее! 

т.е. если у моей текущей заказчицы двиг открывается 8с, то на новой версии будет 4,8c. круто!

 

или нет?

в тестах 152.100 [ms] (mean) против 108.205 [ms] разница 40 ms

 

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, nikifalex сказал:

по-моему оно же входит в пакет

Нет. Это обычное серверное расширение
Просто тот кто включает его, должен убедиться что оно стабильно работает.
Но вот стабильностью с opcache+opencart и не пахнет
Я выше перечислял возможные проблемы и это только малая их часть. Особого прироста скорости opcache не дает (5-10% это "слезы в море"). Если у васTTFB 2 секунды то если при включении opcache будет 1.8 секунды понятное дело роли это не сыграет никакой. Поэтому резонный вопрос, зачем его включать, если можно запросто нарваться на не стабильную работу и глюки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, markimax сказал:

На операциях json_decode большая (коих в opencart валом (config, cache)), на работе с большими массивами и т п 

Опять специально замерил выполнение всех вызовов json_decode на opencart 2.3 (на самом деле там их не так и много, штук 5, не считая разные модули оплаты и других модулей, которые почти не используются типа openbay) и что у меня получилось? На весь магазин все вызовы json_decode выполняются аж.. 0.00047492980957031 секунды.. или пол миллисекунды..  вот и вся чудовищная нагрузка json_decode на опенкарт.. наверное вместо нее нужно использовать какую-то другую ф-цию, которая будет нагружать сервер меньше, может 0.4 мс вместо 0.5 :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, sv2109 сказал:

Опять специально замерил выполнение всех вызовов json_decode на opencart 2.3 (на самом деле там их не так и много, штук 5

 

"штук 5" :ph34r:
А штук "100500" не хотите в реальных магазинах
Вся работа кеша opencart построена на json_decode json_encode
 

Спойлер

	public function get($key) {
		$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');

		if ($files) {
			$handle = fopen($files[0], 'r');

			flock($handle, LOCK_SH);

			$data = fread($handle, filesize($files[0]));

			flock($handle, LOCK_UN);

			fclose($handle);

			return json_decode($data, true);
		}

		return false;
	}

	public function set($key, $value) {
		$this->delete($key);

		$file = DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.' . (time() + $this->expire);

		$handle = fopen($file, 'w');

		flock($handle, LOCK_EX);

		fwrite($handle, json_encode($value));

		fflush($handle);

		flock($handle, LOCK_UN);

		fclose($handle);
	}

 

 

НА большом количестве товаров json_decode тормозит магазин еще и как
Взять хотя бы кеширование seo_pro
Для того чтобы достать из кеша большой массив данных может тратиться секунды на его декодирование!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.