Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 1619 Просмотров
*

d3n4ik

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Добрый день!

У меня j1.5,v119, всё в магазине работает, сейчас доделываю визуальные мелочи. Вчера весь день пытался изменять внешний вид полей, при регистрации нового пользователя.
Вот она, стандартная:
 

Хотелось бы сделать по красивей или, хотя бы более читабельную (поле поверх названия поля убивает меня).
Искал в файлах:
checkout_register_form.php
ps_userfield.php
checkout.login_form.php


Но они все ссылаются на другие фалы и передают данные, а где найти именно вид самой формы я так и не понял.
Ткните лицом в строчки, пожалуйста :(
*

d3n4ik

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Свою проблему решил. Вся эта форма (поля) генерируется в "ps_userfield.php", в 2х частях.

Первая часть отвечает за названия полей:
Код
	   		echo '<div id="'.$field->name.'_div" class="formLabel ';
    if (stristr($missing,$field->name)) {
    echo 'missing';
    }
    echo '">';
        echo '<label for="'.$field->name.'_field">'.$field->title.'</label>';
        if( isset( $required_fields[$field->name] )) {
        echo '<strong>* </strong>';
        }
      echo ' </div>
     

И вторая, длинная, за сами поля, начало и конец:

   
Код
   <div class="formField" id="'.$field->name.'_input">'."\n";
     
      /**
      * This is the most important part of this file
      * Here we print the field & its contents!
      */

    switch( $field->name ) {
    case 'title':
    $ps_html->list_user_title($db->sf('title', true, false), "id=\"title_field\"");
    break;

    ................................................большую часть удалил...........
    break;
    }
    if( $field->description != '') {
    echo vmToolTip( $field->description );
    }
    echo '<br /></div>

Нужно было не трахать себе мозг, а тупо изменить эти два класса formLabel  и formField в theme.css (//components/com_virtuemart/themes/ВАШ_ШАБЛОН/templates).
 
Думаю, кому-то пригодится. Всем добра)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

настраиваю «покупку без регистрации» - требует регистрацию!

Автор Наташа

Ответов: 8
Просмотров: 6500
Последний ответ 14.10.2015, 14:27:43
от fsv
Новая строка в textarea при регистрации пользователя

Автор refoxter

Ответов: 0
Просмотров: 3682
Последний ответ 03.03.2015, 11:06:49
от refoxter
Форма регистрации в VirtueMart 1.1.9 с reCaptcha

Автор sa1981

Ответов: 5
Просмотров: 4819
Последний ответ 10.02.2015, 22:53:51
от flyingspook
Регион по умолчанию при регистрации пользователя

Автор s081081

Ответов: 14
Просмотров: 5581
Последний ответ 05.03.2014, 01:34:59
от PoMkA
Email вместо логина при регистрации [Решение]

Автор animos

Ответов: 8
Просмотров: 13394
Последний ответ 28.02.2014, 23:33:54
от tishkovav