Какое время для данного файла "не долго"?korshunov писал(а):Импорт длится примерно 2 минуты, что весьма долго для такого файла.
korshunov писал(а):После импорта сайт работает заметно медленнее даже на глазок. Показатели теперь примерно такие
memory peak usage: 19 МБ
page generation time: 0.3 seconds
то есть и используемая память и время выполнения запросов увеличились в полтора раза.
Да, говорили, но ни разу не сказали что именно вы имеете ввиду. Пока вы не скажите о каких нерациональностях вы говорите, мы их не сможем пофиксить. Сможем пофиксить только те, которые видим мы (что и делается практически в каждой версии).korshunov писал(а):Подозреваю, что такая картина есть следствие как общей нерациональности CMS в плане экономичности ресурсов, о чем на форуме уже говорилось
korshunov писал(а):так и нерациональности работы с категориями, которые в значительной части пришли из Simpla...
zyxer писал(а):Какое время для данного файла "не долго"?korshunov писал(а):Импорт длится примерно 2 минуты, что весьма долго для такого файла.
zyxer писал(а):Пока вы не скажите о каких нерациональностях вы говорите, мы их не сможем пофиксить. Сможем пофиксить только те, которые видим мы (что и делается практически в каждой версии).
korshunov писал(а):Сопоставьте масштабы - файл импорта в 0.1M дает прибавку используемой памяти в 8M. И прибавку во времени выполнения запроса 0.1 сек - это еще хуже. Думаю, это не нормально.
На данный момент нет, не исследовал досконально данный вопрос.korshunov писал(а):Можете Вы ТОЧНО определить-объяснить причину столь существенной разницы?
zyxer писал(а):если у вас есть идеи улучшения, с удовольствием выслушаю.
korshunov писал(а):я бы рекомендовал проанализировать причины текущих замедлений в работе, иначе это будет случайное тыкание, как у слепых котят.
korshunov писал(а):поставлен вопрос о замере времени исполнения SQL запросов. Ответ ведущего разработчика: по умолчанию в окае такой ф-ции нет.
Как можно что-то делать по оптимизации запросов, если не владеть текущей статистикой их выполнения?
zyxer писал(а):Под фразой "укажите на нерациональность" я имею ввиду показать приблизительно так http://prntscr.com/ueygcc, где есть нерациональный кусок кода, и его более рациональный вариант
zyxer писал(а):На данный момент нет, не исследовал досконально данный вопрос.
zyxer писал(а):korshunov писал(а):так и нерациональности работы с категориями, которые в значительной части пришли из Simpla...
И здесь тоже, поясните пожалуйста, что именно вы имеете ввиду?
korshunov писал(а):Еще один вопрос время от времени всплывает - нерациональная работа с категориями:
viewtopic.php?p=4582#p4582
поддержка заявила "но если предложите лучше - мы это рассмотрим". Тут же было предложен вариант, на который оная поддержка просто никак не среагировала. Это за почти полтора года..
В теории все у Вас идеально, а на практике - далеко не всегда даже ответа дождешься...
korshunov писал(а):соседней теме сегодня выдвигал для Вас идею общую:
korshunov писал(а):
я бы рекомендовал проанализировать причины текущих замедлений в работе, иначе это будет случайное тыкание, как у слепых котят.
И там же намек на идею более частную и более конкретную:
korshunov писал(а):
поставлен вопрос о замере времени исполнения SQL запросов. Ответ ведущего разработчика: по умолчанию в окае такой ф-ции нет.
Как можно что-то делать по оптимизации запросов, если не владеть текущей статистикой их выполнения?
korshunov писал(а):Это конечно, хорошо, когда Вам преподнесут на блюдечке с голубой каемочкой готовое решение, но обсуждаемая проблема не сводится к 5-10 строкам, она куда сложнее и масштабнее...
korshunov писал(а):Если намек не понятен, то выскажу более прямо:
Просто НЕОБХОДИМО сначала создать инструмент (а может, и не один), для замеров времени выполнения SQL-запросов, чтобы на КАЖДОЙ странице, например, при добавлении спец параметра выводились все SQL-запросы с указанием потребленного ими времени.
А вот когда у Вас будет такой инструмент, тогда уже анализировать, где тормоза - в SQL-запросах или в другом месте...
Xdebug. 75% Okay\Core\Router->runzyxer писал(а):Откуда эта цифра (как её замеряли)? И что именно вы считаете роутингом?
Но что тогда в Okay\Core\Router->run делает 96% Bramus\Router\Router->run ?zyxer писал(а):дело в том, что в это время входит и работа по созданию экземпляра контроллера, отработка всего что написано в контроллере и т.д. по сути при вызове run() отрабатывает весь этот код http://prntscr.com/uffm18, описанный в Okay\Core\Router. Эта ф-ция практически полностью сопровождает работу системы на фронте.
zyxer писал(а):И "не владеть текущей статистикой их выполнения" это придумали вы, я же писал как мы их анализируем.
korshunov писал(а):По категориям вы писали уже много раз "большие нерациональности" и подобное, проблема только в том что достаются выключенные категории на фронт или есть ещё что-то?
zyxer писал(а):можно ли красиво сделать так, чтобы на фронт доставались только активные категории
korshunov писал(а):И "не владеть текущей статистикой их выполнения" это придумали вы, я же писал как мы их анализируем.
Вот в этом и вопрос.
Кому интересные Ваши общие фразы, что Вы используете такой-то инструмент?
Я-то предлагал дать ИНСТРУМЕНТ для анализа для ПОЛЬЗОВАТЕЛЯ. Чтоб он просто на кнопочку нажал, и получил результат.
А потом импортировал много товаров, еще раз нажал, и получил другие сведения. Чтоб мог сравнить и т.д.
А Ваши келейные действия, когда Вы что-то как-то неизвестно как анализируете, держа подробности в тайне, вряд ли кому интересны.
korshunov писал(а):Не понимаю Ваших затруднений. По моему, в CMS сплошь и рядом в разных фильтрах формируются запросы по добавочным условиям. И если очень трудно добавить для фильтрации условие активности, то это скорее всего означает, что изначально что-то в системе спроектировано нерационально...
zyxer писал(а):korshunov писал(а):я же написал что использую https://blackfire.io :) даже не знаю что вам еще сказать...
Если смотреть абсолютные значения, ситуация кардинально не меняется.zyxer писал(а):вы чуть не правильно смотрите стек вызовов. Вот как все происходит на самом деле http://prntscr.com/ufga6m. Видно что index.php работал 99%, далее видим что Core\Router работал 90% затем видим что далее на каждый метод процентов все меньше и меньше. Но все время работы дочерних методов прибавляется к родительскому.
Просто почитайте доку и посмотрите на "внутренности" окая, может тогда эти вопросы отпадут. Пока не почитаете (не обязательно blackfire, можно аналог), не вижу смысла продолжать этот диалог.korshunov писал(а):Вот написали бы КОНКРЕТНО, что полезного дает "мощный и известный инструмент" по этому вопросу и может ли он как-то помочь устранить это безобразие...
Что значит "абсолютные значения"? Говорю еще раз, если вы видите что метод Okay\Core\Router::run() работает 75% времени, это не значит что роутер работал 75% времени и остальная система работала 25%. Это означает что в замер времени метода Okay\Core\Router::run() входит все, что внутри него работает от первой до последней строчки метода (что логично). Но внутри этого метода располагается создание экземпляра контроллера вызов его метода (указанного в роуте) после вызова метода контроллера этот метод же должен отработать :) на что тоже тратиться время (не малый процент времени) но всё это время также и засчитывается как время отработки метода Okay\Core\Router::run(). Я же вам показал как процент времени делиться между методами в стеке вызовов https://prnt.sc/ufga6m.Vladzimir писал(а):Если смотреть абсолютные значения, ситуация кардинально не меняется.
Роутинг съедает большую часть времени.
zyxer писал(а):Просто почитайте доку и посмотрите на "внутренности" окая, может тогда эти вопросы отпадут. Пока не почитаете (не обязательно blackfire, можно аналог), не вижу смысла продолжать этот диалог.korshunov писал(а):Вот написали бы КОНКРЕТНО, что полезного дает "мощный и известный инструмент" по этому вопросу и может ли он как-то помочь устранить это безобразие...
Вы сейчас на полном серьезе не понимаете значение слова "абсолютные значения"? Ок. Переведу - значния не в процентах, а в секундах.zyxer писал(а):korshunov писал(а):Что значит "абсолютные значения"?
Разговор похож на переливание из пустого в порожнее.Vladzimir писал(а):Вы сейчас на полном серьезе не понимаете значение слова "абсолютные значения"? Ок. Переведу - значния не в процентах, а в секундах.zyxer писал(а):
И ваши картинки из какого-то там блекчтототам, тоже подтверждают что роутинг - основной потребитель времени выполнения.
Почему в список "тормозов" не попадает мускуль? Да потому что роутинг "доминирует".
Вернуться в «Вопросы по работе с OkayCMS»
Сейчас этот раздел просматривают: 49 гостей