LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
23.05.2013, 14:33:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 [2]  Все   Вниз
  Добавить закладку  |  Печать  
Автор Тема: УМЕНЬШЕНИЕ НАГРУЗКИ. Требует проверки!!!  (Прочитано 31053 раз)
0 Пользователей и 1 Гость смотрят эту тему.
userxp
Администратор
*****

Репутация: +401/-6
Offline Offline

Пол: Мужской
Сообщений: 2389


Злой и ужасный бармалей


« : 07.03.2007, 01:28:01 »

Сегодня запостили на форуме.
Original version (>>>ссылка<<<):

Hi, all!

Recently I've rewritten a pretty large site on Joomla (it has about 200 online users all the time, as Joomla backend stats shows, >17000 content items etc.) and noticed that the page generation time started to grow ftom 0.101 secs to 0.5 after the first day, 0.7 - 1 next day...). Not very good, right? First of all I went to the MySQL console at the time of high loads and... voila - there is a `opensef_sef` MySQL query present almost constantly.

Guys, if somebody can explain me why do you fetch into the memory almost all records in sef.php [Line #173]:


if ($sefSite->id == null$sefSite->id = -1;
  
$query "SELECT * FROM #__opensef_sef WHERE published = '1'" .
      
"\nAND valid = '1'" .
      
"\nAND (direction IS NULL OR direction = '' OR direction = 'o')" .
        
"\nAND (site_id IS NULL " .
        (
$sefSite->id ' OR site_id = ' $sefSite->id '') . ')' .
        
"\nORDER BY site_id DESC, published DESC, valid DESC, LENGTH(direction) DESC";
    
$database->setQuery$query );
    if (
$database->loadResult()) {
    
$opensef_aliases $database->loadObjectList();
  }  

A quick fix is to replace the query with this one:

if ($sefSite->id == null$sefSite->id = -1;
  
$query "SELECT * FROM #__opensef_sef WHERE published = '1'" .
      
"\nAND valid = '1'" .
      
"\nAND (direction IS NULL OR direction = '' OR direction = 'o')" .
        
"\nAND (site_id IS NULL " .
        (
$sefSite->id ' OR site_id = ' $sefSite->id '') . ')' .
        
"\nAND (external='{$_SERVER['REQUEST_URI']}'" .
        
"\nORDER BY site_id DESC, published DESC, valid DESC, LENGTH(direction) DESC";
    
$database->setQuery$query );
    if (
$database->loadResult()) {
    
$opensef_aliases $database->loadObjectList();
  }  

Hurray! It works as a charm. Page generation time is now 0.07 seconds.
Hope this will help somebody else.
Thanks.


Надо проверять
Записан
 
alfim
Гость
« Ответ #31 : 03.05.2007, 00:32:03 »

через майАдмин как раз и добавляются эти индексы. Зайдите в структуру таблицы, там где-то оно есть Azn
Записан
Димитрий
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 68


Добра и счастья!


« Ответ #32 : 03.05.2007, 00:34:55 »

а как их добавлять? может подробнее все же немного для ламера?
Записан
Димитрий
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 68


Добра и счастья!


« Ответ #33 : 03.05.2007, 00:39:25 »

вижу такую колонку создать индексы- однако для скольки рядов? как? я нажал для всех рядов, 7000 с лишним. выскочила какая-то дребедень. не вручную же все 7000 выборов делать..
в итоге браузер просто завис насмерть..пришлось его закрыть
Записан
alfim
Гость
« Ответ #34 : 03.05.2007, 00:41:19 »

Ох... Если бы я помнил Azn

Во-первых, насколько я понял, Вы переустановили OpenSEF, следовательно, оба хака исчезли. Значит, индексы Вам не помогут.

Во-вторых, расскажите, как Вы переносили сайт на новый хостинг. В частности, как перенесли базу данных? Не забыли ли таблички jos_opensef_*?

В-третьих, зайдите в майАдмин, выберите базу, выберите табличку jos_opensef_sef и в списке полей найдите иконку Индекс напротив соответствующего поля. Кликните его, и будет Вам счастье Azn.
Записан
Димитрий
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 68


Добра и счастья!


« Ответ #35 : 03.05.2007, 00:42:50 »

я перезалил старый файл, который у меня был с хаками. уж не совсем я ламер. базу я перенес полностью, 100%, однако потом переустанавливал openSEF.
что за соответствующее поле? оно всего одно?
Записан
alfim
Гость
« Ответ #36 : 03.05.2007, 00:46:49 »

Дима, у тебя аська есть? Стучись, мой номер 142806591
Записан
Димитрий
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 68


Добра и счастья!


« Ответ #37 : 03.05.2007, 00:54:31 »

хорошо напишу. кстати все сделал. у меня еще джре кэш стоит..
Записан
Dutch
Support Team
*****

Репутация: +76/-0
Offline Offline

Пол: Мужской
Сообщений: 461


Проф. разработка больших порталов с нуля!


« Ответ #38 : 10.05.2007, 20:51:39 »

Товарищи! Сказано: "Если хостер додумался включить кеширование запросов для MySQL - работать будет отлично". На мастерхосте ответили - не включено! Что же делать? имеет смысл использовать приведенные хаки? или подождать Вашего глубокоуважаемого экспертного мнения на этот счет?
На самом деле - это реальная проблема - очень реальная. на сайте - около 300-400 статей и страницы грузятся по 20 секунд. хостер вопит - отрубает периодически. очень неприятно....
Чесно сказать меня мастерхост очень бесит.
Я работаю с сайтом web-mama.ru, который хостится на этом "прекрасном" хосте.
так вот на диалапе сайт грузится секунд 30-40, на выделенке до 8-10.
Это при том что хостинг находится в Москве или Питере, а сижу во Львове.
Жуть полная.
Чесно говоря лучше выбрать получше хостинг.
Кстати рекомендую украинские хостинги.
На сегодня в Украине появилось несколько датацентров из скоростными линиями.
Ну и к тому же хостинг дешевле.
Записан
murat
Давно я тут
****

Репутация: +12/-0
Offline Offline

Сообщений: 270


« Ответ #39 : 10.05.2007, 21:22:06 »

У меня мастерхост. После переноса моего сайта на новый сервер с новым ПО, сайт стал просто летать.
Записан
era
Администратор
*******

Репутация: +363/-4
Offline Offline

Пол: Мужской
Сообщений: 1992


В туалете лучше быть пользователем, чем админом.


« Ответ #40 : 10.05.2007, 21:56:31 »

У меня мастерхост. После переноса моего сайта на новый сервер с новым ПО, сайт стал просто летать.
они его наверное не успрели забить клиентами ещё
Записан
murat
Давно я тут
****

Репутация: +12/-0
Offline Offline

Сообщений: 270


« Ответ #41 : 10.05.2007, 22:12:15 »

После 15 мая будет видно. Потому что этого числа они всех перенесут на новое ПО.
Записан
Gans
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Сообщений: 87



« Ответ #42 : 17.05.2007, 01:36:26 »

Я уже, по-моему, писал -- если статей немного (меньше 1000), эти патчи Вам не нужны. Все и так работать должно нормально. Если какие-то проблемы и есть, то явно не от OpenSEF.
А если инет магазин то это значит если товаров больше 1000 то нужно хак ставить я так понимаю?
И еще вопросик на joomlaportal.ru появился компонент для Joomla PageCache стоит ли его применять для уменьшения нагрузки в сочитании с OpenSEF?
Записан
userxp
Администратор
*****

Репутация: +401/-6
Offline Offline

Пол: Мужской
Сообщений: 2389


Злой и ужасный бармалей


« Ответ #43 : 17.05.2007, 02:43:46 »

не думаю.
я не пробовал, но боюсь ничего хорошего из этого не выйдет
Записан
Ctrelok
Осваиваюсь на форуме
***

Репутация: +0/-2
Offline Offline

Сообщений: 28


« Ответ #44 : 02.06.2007, 23:16:03 »

Добрый вечер!
поставил первый фикс на свой сайт viktur.ru - и о чудо!!! все залетало.
у меня 850 страниц контента, посещаемость 400-450 в день. в свое время замучился ужасно с этим open-sefom
и на что только не грешил из-за сверх тормознутости генерации страниц - даже на valuehost.
хотел уже даже сменить его, но поставил для пробы на нем второй сайт (без open-sef) - все летает.
у меня вопрос- если теперь все быстро генирится с первым фиксом, нужно ли ставить второй? или от добра добра не ищут???
спасибо.
Записан
mik-a-el
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29



« Ответ #45 : 13.06.2007, 15:43:21 »

Применил первый хак - стало рости число урлов в таблице опенсефа. Причем сопоставляются те же самые адреса. Кто-нить еще это наблюдает?
Их количество возросло уже почти в 10 раз.
Записан
userxp
Администратор
*****

Репутация: +401/-6
Offline Offline

Пол: Мужской
Сообщений: 2389


Злой и ужасный бармалей


« Ответ #46 : 13.06.2007, 16:24:34 »

мля, народ!
ну написано же - применять ОБА хака СРАЗУ!
Записан
mamahtehok
JComments Tester
*

Репутация: +8/-2
Offline Offline

Сообщений: 83


« Ответ #47 : 04.07.2007, 21:31:29 »

Приминил оба патча индексы проставил но что то не заметил ни фига прироста, в базе более 5000 записей
Записан
Ctrelok
Осваиваюсь на форуме
***

Репутация: +0/-2
Offline Offline

Сообщений: 28


« Ответ #48 : 06.07.2007, 15:09:09 »

а у меня гораздо быстрее работать стало (1000 контента). а то уж было хотел отказаться от open-sef и потерять все проиндексированные страницы и позиции в яше
Записан
Arina
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Женский
Сообщений: 170


« Ответ #49 : 06.07.2007, 19:30:48 »

мля, народ!
ну написано же - применять ОБА хака СРАЗУ!

А второй хак где ?
Подозреваю первый хак этот:
RE:
В файле administrator/components/com_sef/sef.class.php находим ф-ю lookupOutgoing, комментируем то, что там есть, и заменяем вот этим:

   function lookupOutgoing(  $site_id, $url ) { // static method
        global $opensef_aliases, $database;

        $returnaliases = array();
/*
        if ($site_id == null) $site_id = -1;
        if (count($opensef_aliases) > 0)        {
        foreach($opensef_aliases as $aliases){
                        if ( $aliases->internal == $url ) {
                                $returnaliases[] = $aliases;
                        }
                }
        }
*/
      if (!count($returnaliases))
      {
          $query = "SELECT * FROM #__opensef_sef WHERE published = '1'" .
          "\nAND valid = '1'" .
          "\nAND (direction IS NULL OR direction = '' OR direction = 'o')" .
          "\nAND internal='$url'".
          "\nORDER BY site_id DESC, published DESC, valid DESC, LENGTH(direction) DESC limit 1";

          $database->setQuery( $query );
          if ($database->loadResult())
          {
            $aliases = $database->loadObjectList();
            foreach($aliases as $k=>$val)
            {
              $returnaliases[] = $val;
            }
          }
      }

      if (is_array( $returnaliases ) && count( $returnaliases )) {
      $returnaliases = xclCastObjectList( $returnaliases, 'JosOpenSEFAlias' );
      return $returnaliases[0];
    }
    $null = null;
    return $null;
  }
-----------------------------------------------------------------------------------------

А второй хак где ?
Записан
userxp
Администратор
*****

Репутация: +401/-6
Offline Offline

Пол: Мужской
Сообщений: 2389


Злой и ужасный бармалей


« Ответ #50 : 08.07.2007, 15:41:01 »

это второй. первый в моём первом сообщении
Записан
omvitamin
Осваиваюсь на форуме
***

Репутация: +0/-1
Offline Offline

Пол: Мужской
Сообщений: 31



« Ответ #51 : 24.08.2007, 03:44:07 »

А я вот сначала хотел поставить и OpenSef и эти 2 хака, а потом посмотрел что у меня 870 страниц контента и 846 из них проиндексированы - и решил просто поствить Хак для метатэгов и всё. сайт прекрасно индексируется в принципе. Да и вообще сами вебмастера ещё е определилсь что лучше ссылки типа index.php?name=Files&op=view_file&lid=864 (извиняюсь за вид ссылки аля php-nuke)  или ЧПУ. Много знаю людей плюют на эти псевдо-СЕО и получают 420 тИЦ за 2 АПа, при этом не тратясь на расркрутку.
Поэтому я бы не советовел ставить SEF тем у кого уже есть хорошие позиции в Яшке и Webalta .

К тому же сайт у меня не на личном серваке, а на стороннем хостинге..поэтому тормоза ещё те. Пробовал даже на практически пустую joomla ставить openSef и эти 2 хака. всеравно тормоза не понравились.
Хостинг Slavhost 
Записан
Akcium
Гость
« Ответ #52 : 27.08.2007, 14:26:28 »

все отлично, залетало, СПАСИБО! Azn
Записан
alxsz
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #53 : 29.01.2008, 13:28:38 »

Всем привет, интересует такой вопрос:
Кто нибудь пробовал использовать open sef с связкой iJoomla news portal ?

Замечены такие такие проблемы:

1)Без использования приведенных хаков в этой теме -
При появлении окола 4500 ссылок нагенерирующихся компонентом - главная страница ( компонент news portal ) перестает отображаться - видна только шапка.

2) с применением хаков - все отображается на ура, но (!) при первом посещении статьи не с главной страницы, статья не открывается как должна открываться с новым url а просто перебрасывает на главную с url стандартного sef компонента...
Конечно если потом повтрно зайти в тот раздел то ссылка уже преобразованна. Но получается что каждый раз нужно заходить по ссылке 2 раза... Sad

Видимо проблемы в том что в качестве главной страницы используется сторонний компонент...

Может кто нибудб подскажет возможность решение проблемы?
Записан
Sevenor
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 110



« Ответ #54 : 12.03.2009, 19:46:45 »

Поставил оба хака, пока изучаю, но есть проблема, при добавлении статей, сайт зависает секунды на 3.
Записан
Страниц: 1 [2]  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet