Вышла новая версия OkayCMS 2.3.4

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #21 korshunov » 30.09.2019, 07:33

zyxer писал(а):Сейчас я вижу что появились небольшие накладные расходы на запуск системы, но они мизерные. А сами SQL-запросы особо не поменялись.

Интересно, а как Вы это видите?
Просто на глазок или анализируете серьезным образом?
Анализировали ли точно количество SQL-запросов и время их выполннния?

По моим оценкам, в текущем состоянии в версии 3.0.4 добавленные модули увеличивают времени формирования страницы минимум в 2 раза. Ошибок и нерациональностей, создающих тормоза, хватает - как в общей реализации, так и в конкретных модулях...

Вот в ранних версиях Okay был простенький инструмент, пришедший из Simpla, в конце корневого index.php стоял код

Код: Выделить всё

// Отладочная информация
if(1) {
    print "<!--\r\n";
    $time_end = microtime(true);
    $exec_time = $time_end-$time_start;
   
    if(function_exists('memory_get_peak_usage')) {
        print "memory peak usage: ".memory_get_peak_usage()." bytes\r\n"; 
    }
    print "page generation time: ".$exec_time." seconds\r\n"; 
    print "-->";
}

В версии 3 его нет. А зря - надо бы восстановить...

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #22 korshunov » 26.10.2019, 07:51

Пробую оценить экономичность новой версии 3 с модулями.
Будем сравнивать новую модульную версию 3.1.0 и обычную 2.3.4.

Главная страница:
http://localhost/OkayCMS234/
memory peak usage: 5645712 bytes
http://localhost/OkayCMS310/
memory peak usage: 10086736 bytes

Разница существеная. При прочих равных условиях версия с модульностью для формирования обычных страниц требует примерно вдвое больше памяти.

А теперь смотрю более простой пример - Ajax скрипт укладки в корзину:
http://localhost/OkayCMS234/ajax/cart.php?variant=80&amount=1
memory peak usage: 2136088 bytes
http://localhost/OkayCMS310/ajax/cart_ajax.php?ac ... d_citem&variant_id=80&amount=1
memory peak usage: 9106192 bytes

В этом случае разница вообще колоссальная - в 4-5 раз. Это при том, что ajax предназначен именно для быстрых действий.

И такую ситуацию ведущий разработчик характеризует как "небольшие" и "мизерные" накладные расходы...

И это только верхушка айсберга...

Slik
Slik
Репутация: 0
Сообщения: 27
Зарегистрирован: 15.08.2017
С нами: 6 лет 7 месяцев

Сообщение #23 Slik » 14.02.2020, 15:24

Добрый день.

Поставил версию 2.3.4 для теста.
Полностью удалил все товары, свойства товаров, категории, бренды.
Создал все заново.
Добавил товар, связал с категорией и брендом, добавляю количество и ставлю цену, на сайте отображается без цены, в админке тоже нет цены и количества.
В лог выдает следующее

Код: Выделить всё

14.02.2020 14:50:43
Error (1366) Incorrect integer value: '' for column 'id' at row 1
INSERT INTO ok_variants SET sku='', id='', name='', price='500', compare_price='900', currency_id='4', weight='', stock='11', units='', feed='0', product_id='111'
----------------------

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #24 korshunov » 25.02.2020, 07:23

Смотрю ситуацию с новой версией 3.5.0

Главная:
http://localhost/OkayCMS350/
memory peak usage: 11607432 bytes

А теперь смотрю более простой пример - Ajax скрипт укладки в корзину:
http://localhost/OkayCMS350/ajax/cart_ajax.php?ac ... d_citem&variant_id=80&amount=1
memory peak usage: 10595984 bytes

По сравнению с 3.1.0 разработчики добавили в "небольшие" и "мизерные" накладные расходы примерно 10%...

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #25 korshunov » 17.05.2020, 06:00

Смотрю ситуацию с новой версией 3.6.0

Главная:
http://localhost/OkayCMS360/
memory peak usage: 13902840 bytes

А теперь смотрю более простой пример - Ajax скрипт укладки в корзину:
http://localhost/OkayCMS360/ajax/cart_ajax.php?ac ... d_citem&variant_id=80&amount=1
memory peak usage: 11644344 bytes

По сравнению с 3.5.0 разработчики добавили в "небольшие" и "мизерные" накладные расходы
на главной - 20%
на ajax - 10%...

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #26 zyxer » 18.05.2020, 08:48

Я уже задавал вопрос, но ответа не получил. Какое потребление памяти является приемлемым? На какой цифре мы можем понять что мы приближаемся к "порогу" или сделать вывод что мы его уже давно перешли?
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #27 korshunov » 18.05.2020, 09:22

Если Вы имеете в виду свой вопрос в другой теме
viewtopic.php?p=7725#p7725
то там ответ на него дан. Повторю на всякий случай ответ:

korshunov писал(а):Если спрашиваете про "можете сказать точную цифру, сколько памяти потреблять допустимо", то даю ответ - НЕ МОГУ сказать цифру. Чтобы дать такой ответ, надо провести серьезные исследования, что требует больших затрат времени и (или) денег.
Да и сам вопрос, как Вы должны бы понимать, несколько неопределенный - в разных ситуациях результаты будут разные. И возможные ответы на него будут субъективны. Даже если затратить весьма большие финансы и добиться ответов у разных экспертов, то они будут разные - примерно как одинаковые судебные дела у разных судей решатся по разному...

Вот для меня цифра 10% абсолютно бесполезного расхода памяти при установке из коробки является НЕ допустимой. А с добавлением новых модулей она может к тому же существенно вырасти.

Если Вы такой любитель точных ответов, то старайтесь хотя бы реагировать на вопросы к Вам. Вот простой вопрос из этой темы, который Вы полностью игнорируете:

korshunov писал(а):
zyxer писал(а):Сейчас я вижу что появились небольшие накладные расходы на запуск системы, но они мизерные. А сами SQL-запросы особо не поменялись.
Интересно, а как Вы это видите?
Просто на глазок или анализируете серьезным образом?
Анализировали ли точно количество SQL-запросов и время их выполннния?

Думаю, что оценивать как "мизерные" увеличение требований к ресурсам на 10% совсем неправильно. А если сравнивать с версией 2, то имеем увеличение вообще в 2-5 раз - изменение весьма существенное.

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #28 zyxer » 18.05.2020, 10:22

Так я неоднократно на форуме акцентировал внимание что анализ и сбор метрик производим через blackfire (https://blackfire.io), также замечу что анализ периодически повторяется. Сравнивать с двойкой думаю не корректно, потому как по большому счету двойка написана в процедурном стиле (хотя там и есть new ...) но это не ООП подход. Вдаваться в дискуссию что лучше ООП или процедурка думаю выходит за рамки данного форума. Для тройки мы приняли решение писать её на ООП. Да, согласен что ООП подход сам по себе уже более ресурсозатратный по сравнению с процедуркой, но у него также не мало плюсов...

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

Почему так? Потому что медленны сайт приносит ущерб бизнесу, сайт который потребляет для отрисовки страницы 10 или 20 МБ памяти не нанесет вреда, т.к. даже самый дешевый хостинг за $3 позволяет использовать до 512Мб памяти (даже чтобы иметь запас в два раза, можно использовать до 256Мб). Другой вопрос, что слишком большое потребление памяти может снова тики негативно повлиять на время, тут уже нужно выдержать "золотую середину". Но само по себе потребление памяти "увеличилось на 2-5-10%" это не есть плохо. Это конечно и не то, чем хотелось бы похвастаться, но и не плохо. По моему мнению вы зря на этом делаете такой большой акцент.

Но еще раз, с выгрузками там было справедливое замечание, но здесь же я не вижу какой-то проблемы в самом увеличении потребления памяти на 10%.
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #29 korshunov » 18.05.2020, 14:39

zyxer писал(а):Но само по себе потребление памяти "увеличилось на 2-5-10%" это не есть плохо. Это конечно и не то, чем хотелось бы похвастаться, но и не плохо. По моему мнению вы зря на этом делаете такой большой акцент.

Если это РАЗОВОЕ увеличение, то и не сильно плохо. Но у Вас оно увеличивается на 10% почти с каждой новой подверсией. И эта тенденция весьма нехорошая.

И как итог имеем, что в версии 3 по сравнению с версией 2 имеет место увеличение более чем в 2 раза, то есть на 100%.
А по ajax-скрипту имеет место увеличение в 5 раз, то есть на 400%.
По-моему, такое никак допускать нельзя, это большие просчеты программистов.

Если новый автомобиль A1 по характеристикам лучше автомобиля A2, но потребляет бензина в два раза больше, по покупатель крепко задумается. А уж если A1 только чуть-чуть лучше А2, то шансов на рынке у нового изделия практически не будет.

zyxer писал(а):Другой вопрос, что слишком большое потребление памяти может снова тики негативно повлиять на время...

Я бы сказал, что это не другой вопрос, а именно тот же самый. И оно не только "может снова тики негативно повлиять", оно именно повлияет. А проявится именно в тот момент, когда магазин пойдет в рост и увеличится число посетителей. Это ж азбука. И для владельца магазина будет слабым утешением знать, что его магазин разработан на какой-то модной ООП, а магазин конкурента простой процедурный, но почему-то не тормозит...

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #30 zyxer » 18.05.2020, 15:19

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


Название раздела: Обновления OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Обновления OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 18 гостей