Новости Joomla

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

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

Спект

  • Новичок
  • 4
  • 0 / 0
Здравствуйте.
Я из РФ, браузер работает на кодировке Windows 1251. Создаю сайт на Joomla, и при добавлении страницы в пункт меню выводит такие символы Типичный . Понятное дело что это проблема с кодировкой. Подскажите что и где нужно прописать для корректной работы.
На скриншоте слева вверху картинка, а справа HTML код.
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #1 : 23.06.2015, 11:05:28 »
в файле .хтасес пропишите кодировку по умолчанию --- UTF-8
*

Спект

  • Новичок
  • 4
  • 0 / 0
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #2 : 23.06.2015, 11:43:09 »
в файле .хтасес пропишите кодировку по умолчанию --- UTF-8

подскажите как?
по пути Z:\home\localhost\www\kapitalstroy\templates\corporate\font лежит сам .хтасес
в нем такие строки:
 <FilesMatch ".(ttf|otf|eot|woff)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #3 : 23.06.2015, 12:02:34 »
браузер работает на кодировке Windows 1251
Это что ж за браузер такой? Браузет отображет то, что дает ему сервер, в не зависимости от кодировки.

Joomla работает с UTF-8. Ваша проблема может заключаться в том, что таблицы в базе имеют кодировку, отличную от utf8_general. Проверьте таблицы.

Задать явно кодировку можно, добавив в htaccess строку
Код
AddDefaultCharset UTF-8
Этот файл должен лежать в Z:\home\localhost\www\kapitalstroy\, а не в папке шрифтов шаблона.

P.S. Так же возможна проблема со шрифтами, если в них отсутствует латиница. Смотрите, какие шрифты использует ваш шаблон.
« Последнее редактирование: 23.06.2015, 12:07:29 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Спект

  • Новичок
  • 4
  • 0 / 0
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #4 : 23.06.2015, 13:40:53 »
Это что ж за браузер такой? Браузет отображет то, что дает ему сервер, в не зависимости от кодировки.

Joomla работает с UTF-8. Ваша проблема может заключаться в том, что таблицы в базе имеют кодировку, отличную от utf8_general. Проверьте таблицы.

Задать явно кодировку можно, добавив в htaccess строку
Код
AddDefaultCharset UTF-8
Этот файл должен лежать в Z:\home\localhost\www\kapitalstroy\, а не в папке шрифтов шаблона.

P.S. Так же возможна проблема со шрифтами, если в них отсутствует латиница. Смотрите, какие шрифты использует ваш шаблон.
Браузер Яндекс
Если хтассес добавлять в корень то сайт вообще не хочет работать
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #5 : 23.06.2015, 16:02:49 »
Если вы создаете сайт на Joomla, то этот файл есть по умолчанию в корневой папке сайта. Он может называться htaccess.txt. Обычно, когда сайт размещают на хостинге, его переименовывают в .htaccess. А Яндекс-браузер построен на основе движка Blink, на котором сделан Хром. И проблема однозначно не в нем.
« Последнее редактирование: 23.06.2015, 16:11:04 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #6 : 23.06.2015, 16:12:44 »
проще всего в index.php шаблона прописать в начале:
Код
header('Content-Type: text/html; charset=utf-8');
*

Спект

  • Новичок
  • 4
  • 0 / 0
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #7 : 24.06.2015, 03:51:36 »
код index.php
<?php
/**
 * @package    Joomla.Site
 *
 * @copyright  Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

if (version_compare(PHP_VERSION, '5.3.10', '<'))
{
   die('Your host needs to use PHP 5.3.10 or higher to run this version of Joomla!');
}

/**
 * Constant that is checked in included files to prevent direct access.
 * define() is used in the installation folder rather than "const" to not error for PHP 5.2 and lower
 */
define('_JEXEC', 1);

if (file_exists(__DIR__ . '/defines.php'))
{
   include_once __DIR__ . '/defines.php';
}

if (!defined('_JDEFINES'))
{
   define('JPATH_BASE', __DIR__);
   require_once JPATH_BASE . '/includes/defines.php';
}

require_once JPATH_BASE . '/includes/framework.php';

// Mark afterLoad in the profiler.
JDEBUG ? $_PROFILER->mark('afterLoad') : null;

// Instantiate the application.
$app = JFactory::getApplication('site');

// Execute the application.
$app->execute();

Куда прописывать: header('Content-Type: text/html; charset=utf-8'); ?
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
Re: Проблема с кодировкой UTF8 и W 1251
« Ответ #8 : 24.06.2015, 10:27:56 »
Цитировать
Куда прописывать: header('Content-Type: text/html; charset=utf-8');
эту строку прописывают в файл шаблона -- Z:\home\localhost\www\kapitalstroy\templates\corporate\ Если эти строки с файла шаблона, то искать надо исходный файл в котором выводится шапка (зависит от структуры шаблона)
Если правите исходные файлы сайта --- они должны иметь кодировку UTF-8
Как-то странно, что у Вас даже и адресная строка в крякозябликах.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с offcanvas для меню

Автор help-tend

Ответов: 14
Просмотров: 2956
Последний ответ 08.09.2021, 21:13:03
от gartes
Проблема с стилями (файлами) CSS

Автор Leo1986

Ответов: 17
Просмотров: 1493
Последний ответ 23.04.2021, 09:13:44
от Leo1986
Проблема с версткой шаблона на bootstrap4

Автор bartes

Ответов: 5
Просмотров: 1666
Последний ответ 03.02.2021, 16:46:10
от sivers
Helix Ultimate - Layout Builder Проблема

Автор romagromov

Ответов: 29
Просмотров: 5177
Последний ответ 13.03.2020, 22:26:00
от nick71
Проблема с выводом меню helix ultimate

Автор blind

Ответов: 0
Просмотров: 1355
Последний ответ 23.02.2020, 13:07:37
от blind