0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 567 Просмотров
*

xoxlec

  • Новичок
  • 4
  • 0 / 0
Всем привет,
не первый год создаю сайты на CMS Joomla, но сейчас я действительно растерян и не нашел решения подобных проблем  в интернете. Решил создать данную тему, может кто-нибудь сможет мне помочь.

Имеется сайт - fixunit.ru (оптимизировал сайт под основные требования PageSpeed Insights)
ВНИМАНИЕ! Есть таблица состоящая из 62000 строк - таблица всех меню и весит примерно 75MB. Получается меню состоит из 62000 строк и каждый день добавляется по 170-500 новых, каждая новая строка это новый материал. При загрузке каждой страницы сайта подзагружается данная таблица меню в полном объеме, что влияет на скорость загрузки первого байта.

Пример страниц

fixunit.ru/remont-iphone-ajfon-xs-max Скорость загрузки первого байта - (3.48 s)
fixunit.ru/remont-macbook-pro-retina-15-a1990 Скорость загрузки первого байта - (3.42 s)
fixunit.ru/zamena-stekla-meizu-15-lite Скорость загрузки первого байта - (3.17 s)

Основной вопрос

Как мне оптимизировать данную таблицу или обойти проблему с скоростью загрузки первого байта? Или другими словами - Как выставить более эффективные индексы в базе, либо оптимизировать сами запросы?

На вопрос почему мы решили, что проблема в этой таблице - Если оставить в этой таблице только 100 - 1000 строк скорость загрузки первого байте не превышает 1.5 s
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Если вопрос стоит о том, как выставить индексы в для таблицы, то нужно смотреть на SQL запросы.
Какими именно запросами получаете данные из таблицы в большинстве случаев?

Ну и кэширование. Не применяете?
Возможно, будет интересно: Интеграция с Ozon
*

sivers

  • Живу я здесь
  • 2521
  • 345 / 0
Модуль вывода меню самописный? Если да, то покажите как читаете таблицу и как строите меню. Дело может быть не только в индексах. Попробуйте сделать замеры скорости чтения и построения меню (по отдельности).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
вот посмотрите этот сервис:
https://tools.pingdom.com/#5d74614f57800000

график показывает что и сколько грузилось..

Ожидание (Wait - Web browser is waiting for data from the server) более 3 сек..

https://skr.sh/s5A6P5M6TDp


с другой страницей - то же самое..

https://tools.pingdom.com/#5d7462bd69000000


вопрос - что какие данные ждет Веб-браузер от сервера??
*

ProtectYourSite

  • Живу я здесь
  • 2358
  • 135 / 4
  • Безопасность вебсайтов
Подгружайте аяксом таблицу, хотя я понял, тут просто ссылкой проспамили
*

xoxlec

  • Новичок
  • 4
  • 0 / 0

Отладка 1 - yadi.sk/i/2X1frPpX6py3zw
Отладка 2 - yadi.sk/i/QYtw18bUnMafZw



Подгружайте аяксом таблицу, хотя я понял, тут просто ссылкой проспамили


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



Модуль вывода меню самописный? Если да, то покажите как читаете таблицу и как строите меню. Дело может быть не только в индексах. Попробуйте сделать замеры скорости чтения и построения меню (по отдельности).


Не самописный, но в целом понял идею - протестирую.


Если вопрос стоит о том, как выставить индексы в для таблицы, то нужно смотреть на SQL запрос


Индексов в этой таблице вроде достаточно, но они не имеют особого значения, так как из данной таблицы выбираются практически все строки (более 64к).


Ну и кэширование. Не применяете?


В настоящее время сделана оптимизация данного запроса результат запроса кешируется таким образом система обращается к кешируемому объекту без использования запроса к таблице.


вопрос - что какие данные ждет Веб-браузер от сервера??


Подзагружается вся таблица меню состоящая из 62-64к строк. Весит 75MB
Как можно оптимизировать еще работу с этим объектом и уменьшить время для отклика сервера? (если его размер составляет более 75 MB) Первое что приходит на ум разделять таблицу, но это таблица меню такого с ней не сделаешь(

*

ProtectYourSite

  • Живу я здесь
  • 2358
  • 135 / 4
  • Безопасность вебсайтов
Подзагружается вся таблица меню состоящая из 62-64к строк. Весит 75MB
Этого нет ни на одной странице, зачем нужна вся таблица?
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Подзагружается вся таблица меню состоящая из 62-64к строк. Весит 75MB

сервис тестирования не подтверждает загрузку 75 мб ...


//загрузка скриншотов на форум глючит//

« Последнее редактирование: 17.11.2020, 11:50:05 от Cedars »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

После загрузки не кликабельная картинка

Автор phvsfpgs

Ответов: 0
Просмотров: 385
Последний ответ 04.09.2023, 19:01:35
от phvsfpgs
Как найти причину периодически возникающей долгой загрузки сайта?

Автор kik84

Ответов: 4
Просмотров: 603
Последний ответ 17.09.2020, 12:03:57
от Cedars
Helix Blog Options - выбор загруженных изображений вместо загрузки новых

Автор dmizhuk

Ответов: 0
Просмотров: 569
Последний ответ 22.07.2020, 00:40:07
от dmizhuk
Блог категории не с первого материала

Автор joy smile

Ответов: 1
Просмотров: 452
Последний ответ 11.03.2020, 20:28:38
от rsn
Как принудительно изменить md5 хэш в строке загрузки скриптов/стилей?

Автор Finch

Ответов: 4
Просмотров: 579
Последний ответ 14.02.2020, 12:18:46
от Finch