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

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Вот так выглядит сайт после переноса на хостинг: http://www.personalmebel.ru/
Но самое печальное то, что при попытке войти в какой-либо пункт меню повляется сообщение: Not Found

The requested URL /personalmebel.ru/personalmebel.ru/index.php was not found on this serve

Естественно, на локальном компьютере все было ок. Я понимаю, что где-то накосячила при копировании файлов, но  никак не пойму где... Это мой первый опыт, блин, намучалась уже!
Сжальтесь, подскажите, что  я сделала не так, и, главное, как это исправить!
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
А какие там должны быть пути?
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Вы уж простите меня, неразумную:)
Мне кажется, что сделать сайт проще, чем на хостинг его залить!
Вот файл configuration.php
<?php
class JConfig {
   var $offline = '0';
   var $editor = 'tinymce';
   var $list_limit = '20';
   var $helpurl = 'http://help.joomla.org';
   var $debug = '0';
   var $debug_lang = '0';
   var $sef = '0';
   var $sef_rewrite = '0';
   var $sef_suffix = '0';
   var $feed_limit = '10';
   var $feed_email = 'author';
   var $secret = 'vVWE99CqtXQSHqVU';
   var $gzip = '0';
   var $error_reporting = '-1';
   var $xmlrpc_server = '0';
   var $log_path = 'Z:\\home\\mebel\\www\\logs';
   var $tmp_path = 'Z:\\home\\mebel\\www\\tmp';
   var $live_site = 'personalmebel.ru';
   var $force_ssl = '0';
   var $offset = '0';
   var $caching = '0';
   var $cachetime = '360';
   var $cache_handler = 'file';
   var $memcache_settings = array();
   var $ftp_enable = '0';
   var $ftp_host = '127.0.0.1';
   var $ftp_port = '21';
   var $ftp_user = '';
   var $ftp_pass = '';
   var $ftp_root = '';
   var $dbtype = 'mysql';
   var $host = 'localhost';
   var $user = 'personal_db';
   var $db = 'personal_db';
   var $dbprefix = 'jos_';
   var $mailer = 'mail';
   var $mailfrom = 'isolodova@yandex.ru';
   var $fromname = 'Персональ';
   var $sendmail = '/usr/sbin/sendmail';
   var $smtpauth = '0';
   var $smtpsecure = 'none';
   var $smtpport = '25';
   var $smtpuser = '';
   var $smtppass = '';
   var $smtphost = 'localhost';
   var $MetaAuthor = '1';
   var $MetaTitle = '1';
   var $lifetime = '360';
   var $session_handler = 'database';
   var $password = '';
   var $sitename = 'Персональ';
   var $MetaDesc = 'Joomla! - the dynamic portal engine and content management system';
   var $MetaKeys = 'joomla, Joomla';
   var $offline_message = 'Сайт сейчас закрыт РЅР° техническое обслуживание. Пожалуйста зайдите РїРѕР·Р¶Рµ.';
}
?>
Зашла в административную панель чернез сайт - там все материалы есть. На сайте же кликаю по меню - и нифига...
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Сделала, как Вы сказали, получилось вот так: http://www.personalmebel.ru/
Лучше, конечно, но от идеала далеко:))
А что с первым двумя строчками делать - не знаю:(
Но Вам все равно спасибо!
А Вы еще говорили про пути в шаблоне - это где искать? В папке с шаблонами, кстати, почему-то только три стандартных шаблона, моих загруженных - нет.
« Последнее редактирование: 29.06.2010, 20:31:48 от Shampurza »
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Вот что обязательно надо поменять в конфиге при переносе на хостинг

var $log_path = '/путь к сайту от корня на сервере/logs';

- примерно так
var $log_path = '/var/www/login/data/www/site.ru/logs'   

var $tmp_path = '/путь к сайту от корня на сервере/tmp';

- примерно так
var $tmp_path =  '/var/www/login/data/www/site.ru/tmp'

var $host = 'localhost'- редко, но может быть другой
var $user = 'пользователь MySQL';   
var $db = 'имя базы MySQL';
var $password = 'пароль к базе MySQL';
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
А что с первым двумя строчками делать - не знаю:(

создайте файл, например path.php и впишите туда строки

<?php
echo getcwd();
?>

потом зайдите по адресу  personalmebel.ru/path.php и увидете путь от корня сервера

palexa, $log_path и $tmp_path зависит от того, кто хостер и какие настройки

это для пользователей не знающих как, часто проблематично узнать
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Ага, а можно просто посмотреть в админке и "подрезать" имеющийся путь...
А мне аж интересно самому стало, где в админке подсмотреть путь от корня сервера, до директории сайта, если он не прописан в конфиге
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Вот что обязательно надо поменять в конфиге при переносе на хостинг

var $log_path = '/путь к сайту от корня на сервере/logs';

- примерно так
var $log_path = '/var/www/login/data/www/site.ru/logs'   

var $tmp_path = '/путь к сайту от корня на сервере/tmp';

- примерно так
var $tmp_path =  '/var/www/login/data/www/site.ru/tmp'

var $host = 'localhost'- редко, но может быть другой
var $user = 'пользователь MySQL';   
var $db = 'имя базы MySQL';
var $password = 'пароль к базе MySQL';

Все сделала, путь к корню нашла, как Вы сказали, но в лучшую сторону ниче не поменялось:(
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
В админке есть пункт помощь, там есть информация о папках (доступны для записи или нет), там посмотрите в самом конце последните строчек 8 скопируйте сюда.

Шаблон вы использовали готовый? правок не вносилось?
Единственный пункт помощь, который я нашла в админке, в правом нижнем углу - это ссылка на сайт хелпер.
шаблон использовала готовый, правки делала, но сейчас в базе моего шаблона нет, только предустановленные.
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Это нужно было скопировать?
plugins/system/   Доступен на запись
plugins/user/   Недоступен на запись
plugins/xmlrpc/   Недоступен на запись
templates/   Доступен на запись
Папка для кеширования: /home/personal/domains/personalmebel.ru/public_html/cache/   Доступен на запись
Папка для кеширования: /home/personal/domains/personalmebel.ru/public_html/administrator/cache/   Недоступен на запись
Папка для логов ($log_path) home/personal/domains/personalmebel.ru/public_html/logs/   Недоступен на запись
Папка для временных файлов ($tmp_path) home/personal/domains/personalmebel.ru/public_html/tmp/   Недоступен на запись

Как переносила файлы? По ftp всю папку www скопировала в public_html.
А как здесь можно +1 Вам поставить? И почему не такие люди работают в техподдержку обычно? Ну, это вопрос риторический, скорее:)
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Уважаемый NightGuard!
Я Вас прям расцеловать готова! :-* У меня все получилось! Только шаблон пришлось отдельно закачивать, и не сохранилось тех изменений, которые я в него вносила. Но это дело поправимое, здесь я хотя бы уже понимаю, что делать!
А можно еще один вопрос, не по теме - почему аллергия на Artesteer? Я недавно натолкнулась на эту программу, и уж было думала качать и осваивать, а тут на тебе, такое заявление:)
И СПАСИБО (раз уж плюсики я ставит пока не могу:))
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
На счёт закачки на сервер, вдруг опять придётся. Как то заметил, что при перекачки на сервер большого количества файлов, часто можно заметить или ошибки, или сбой при передаче. Лучше всего (обычно это поддерживают все хостеры) упаковать сайт в архив zip (не RAR) на своём ПК, закинуть на сервак, а потом распаковать. Тогда есть 100% что все файлы перекинулись на сервер без ошибок. Потом переписать конфиг, расставить права и залить базу. И вуаля всё готово
« Последнее редактирование: 30.06.2010, 00:30:42 от palexa »
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
С артистером вы уже столкнулись) Шаблон, который стоит у вас на сайте и сделан на артистере. Причина - "кривизна" шаблона, который получается.

"Вы не любите кошек ? Ерунда, Вы просто не умеете их готовить."

Не надо всех судить по себе. Шаблон в артистере переделать для себя, раз плюнуть. Только надо знать, что и как переделывать. Лично я в этом проблемы никогда не видел.

P.S. Одно НО, всем задающим вопросы по шаблонам в артистере, не отвечаю, это принципиально. Потому что мне пофигу в чём сделан шаблон, но основы должен знать. Ибо выучить програмирование на PHP это конечно проблема для многих, не всем даётся, не  всегда есть время, и не у всех техническое образование, но если влез в создание сайта, то основы HTML и CSS надо знать, и хотя бы со справочником, но уметь читать файлы. А то поставят фиг кем сделаный шаблон, и смотрят на него, "как баран на новые ворота", а потом придут на форум и пишут - А как мне поменять картинку, в левом вернем углу ? Ему грамотно отвечают, а он в ответ - Что ты умничаешь, ты что не можешь проще пояснить ?
« Последнее редактирование: 30.06.2010, 00:48:15 от palexa »
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
С артистером вы уже столкнулись) Шаблон, который стоит у вас на сайте и сделан на артистере. Причина - "кривизна" шаблона, который получается. http://joomlaforum.ru/index.php/topic,91611.0.html Здесь это подробно и не очень обсуждалось. Фактически проще отверстать макет заново, чем править артистеровский шаблон.

Спасибо, что ссылку дали почитать. Мне прям стыдно стало за мои наверняка тупые вопросы:) А то, что делаете вы и другие старожилы форума, иначе как благотворительностью, и не назовешь! Я реально думала найти умного человека, готового меня за деньги проконсультировать:)
Пойду читать учебники!
*

Shampurza

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
На счёт закачки на сервер, вдруг опять придётся. Как то заметил, что при перекачки на сервер большого количества файлов, часто можно заметить или ошибки, или сбой при передаче. Лучше всего (обычно это поддерживают все хостеры) упаковать сайт в архив zip (не RAR) на своём ПК, закинуть на сервак, а потом распаковать. Тогда есть 100% что все файлы перекинулись на сервер без ошибок. Потом переписать конфиг, расставить права и залить базу. И вуаля всё готово

palexa, Вам тоже огромное спасибо, плюсики пока ставить не умею:)
*

ValeryB

  • Захожу иногда
  • 384
  • 31 / 2
Лучше всего (обычно это поддерживают все хостеры) упаковать сайт в архив zip
Вот только у многих хостеров слишком маленькие размеры файлов для закачки. Его качаешь полчаса, а он мгновенно исчезает...
*

SHANE201390

  • Новичок
  • 2
  • 0 / 0
помогите пожалуйста!
перенесла сайт freeswimmer.ru
а он отображается некорректно...
файл конфигурации уже меняла, вроде все верно там
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 8692
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3815
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 5466
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 23939
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 4162
Последний ответ 01.03.2019, 11:12:18
от vasmed