Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Оптимизация скорости работы сайта (http://forum.typo3.ru/showthread.php?t=3947)

enot 29.07.2007 22:46

и вот еще вопрос к знатокам TYPO3.
возьмем многострадальную страницу
http://prazdnik-land.ru/limo/index.html
эта страница кешируемая и на ней уже нет блоков USER_INT (nc_staticfilecache ее кешировал в файл)

для эксперимента отключим кеширование в статический файл
получается следующая ситуация
почти при каждом заходе на эту страницу вылезает
"Page Generated приходите завтра" (странно как люди увидев такую надпись потом приходят снова :confused: )
причем происходит 5, 6 а иногда и 7 редиректов до тех пор пока не появится нормальная страница.

что бы это значило?

если эту страницу сделать не кешируемой то она отображается сразу....

такая же ситуация на http://prazdnik-land.ru/catalog/page.html
если сделать кешированной то редиректов случается до 10 а иногда невозможно дождаться.
и ладно если бы это было первый раз, а потом уже выводились готовые данные, такое случается почти при каждом заходе на эту страницу...
что с этим делать????

enot 31.07.2007 11:38

Цитата:

Сообщение от enot (Сообщение 13883)
и вот еще вопрос к знатокам TYPO3.
возьмем многострадальную страницу
http://prazdnik-land.ru/limo/index.html
эта страница кешируемая и на ней уже нет блоков USER_INT (nc_staticfilecache ее кешировал в файл)

для эксперимента отключим кеширование в статический файл
получается следующая ситуация
почти при каждом заходе на эту страницу вылезает
"Page Generated приходите завтра" (странно как люди увидев такую надпись потом приходят снова :confused: )
причем происходит 5, 6 а иногда и 7 редиректов до тех пор пока не появится нормальная страница.

что бы это значило?

если эту страницу сделать не кешируемой то она отображается сразу....

такая же ситуация на http://prazdnik-land.ru/catalog/page.html
если сделать кешированной то редиректов случается до 10 а иногда невозможно дождаться.
и ладно если бы это было первый раз, а потом уже выводились готовые данные, такое случается почти при каждом заходе на эту страницу...
что с этим делать????

видимо кончились знатоки TYPO3:confused:

Дылгеров Ц.В. 01.08.2007 06:49

Цитата:

Сообщение от enot (Сообщение 13913)
видимо кончились знатоки TYPO3:confused:

Навскидку:
Typo3 достаточно быстро растет, если посмотреть на http://typo3.org/extensions/ - видно что сегодня 31 июля было 10 апдейтов расширений.
Расширение nc_staticfilecache последний раз обновлялось 28.06.2007, а появилось сравнительно недавно: всего 3-ий апдейт - так что знатоков по связке RealURL+nc_staticfilecache не так уж много.

void 02.08.2007 03:47

nc_staticfilecache тут не при чем, я так полагаю.
У вас некэшированная страница отображается сразу, а кэширование идёт медленно? Это нестандартная ситуация, обычно наоборот. Что мешает тогда вообще отключить кэш?)

enot 02.08.2007 11:41

Вопрос не про realUrl и staticfiles
а почему несколько раз подряд появляется "page generated"

ситуация следующая
страница page1, page2 , page3
на этих страницах нет USER_INT
галочки "без кеша" нет.

когда я перехожу с page1 по ссылке на page2
случаетя "page generated" несколько раз подряд
(т.е появляется "page generated", после автоматической перезагрузки
снова "page generated" и так может повторяться очень долго)
когда появляется страница page2
тыкаю по ссылке на страницу page3 (она тоже может загрузиться только после нескольких "page generated")
и затем c page3 пытаюсь перейти на page2 и снова получаю несколько раз "page generated". почему? ведь уже один раз эту страницу page2загрузили и закешировали,. вот это мне непонятно. в чем причина такого поведения. или в чем тогда смысл системы кеширования страниц. чего оно кеширует?

если страницы "без кеша" то появляются они сразу, но когда на сайт приходят 400 человек в час, то сайт тихо умирает....
400 это пиковые нагрузки, даже 200 это предел

void 02.08.2007 12:23

Тот же nc_staticfilecache (или staticpub/cachemgm) говорит, кэширована ли страница, и если нет, то почему. Действительно ли кэшируются страницы?

Valery Romanchev 02.08.2007 17:35

можнов вставить devlog в том место, где генериться надпись "Page is being..." и станет понятно в чем дело

Я такое поведение видел одни раз - давно. Тогда не разбирался, просто закомментировал в коде кусок связанный с "Page is being..." - это только в одном месте закоментировать

... еще надо базу починить.. хотя Вы наверняка это уже делали.
От битых таблиц бывают вообще разные глюки. К примеру в какую-то таблицу ничего не пишется. и вообще ничего не кешируется.

enot 08.08.2007 21:53

копался я в коде typo3
и нашел такую функцию в tslib/class.tslib_fe.php
PHP код:

    /**
     * Temp cache content
     * The temporary cache will expire after a few seconds (typ. 30) or will be cleared by the rendered page, which will also clear and rewrite the cache.
     *
     * @return    void
     */
    
function tempPageCacheContent()    {
        
$this->tempContent FALSE;

        if (!
$this->no_cache)    {
            
$seconds 30;
            
$stdMsg '
            <html>
                <head>
                    <title>'
.htmlspecialchars($this->tmpl->printTitle($this->page['title'])).'</title>
                    <meta http-equiv="refresh" content="3; URL='
.htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')).'" />
                </head>
                <body bgcolor="white">
                    <div align="center" style="font-family:Verdana,Arial,Helvetica" color="#cccccc">
                        <strong>Page is being generated.</strong><br />
                        If this message does not disappear within '
.$seconds.' seconds, please reload.
                    </div>
                </body>
            </html>'
;
            
$temp_content $this->config['config']['message_page_is_being_generated'] ? $this->config['config']['message_page_is_being_generated'] : $stdMsg;

//            $this->setPageCacheContent($temp_content, '', $GLOBALS['EXEC_TIME']+$seconds);
            
$this->tempContent TRUE;        // This flag shows that temporary content is put in the cache
        
}
    } 

и закомментировал в ней одну строку
// $this->setPageCacheContent($temp_content, '', $GLOBALS['EXEC_TIME']+$seconds);
и проблема о которой я писал (многократное повторение page generated....) решилась.
страницы стали кешироваться и время отклика страниц заметно уменьшилось.

вопрос только остался, а зачем страницу "page is been generated..."
сохранять в таблицу cache_pages???

Dutchak Vitaly 08.08.2007 23:58

Ну так этот кэш действителен 30 секунд. Если не получается получить HTML код кэшируемой страницы, то ставится этот кэш, через 30 секунд его время выходит, опять TYPO3 смотрит HTML код кэшируемой страницы, если не может получить - опять ставит временный кэш и выдает его и так пока не закэшируется страница.

Вот вроде бы просто описал схемку работы )

enot 09.08.2007 23:12

кеш на 30 секунда а на странице рефреш стоит через 3 сек.
т.е. она будет обновляться каждые 3 секунды и снова показывать "page generated"
а вообще какой смысл в этой странице (объясните мне высший смысл всего происходящего, а то я чего-то расстроен сильно)?

например можно было бы предположить что механизм кеширования примерно такой:
если страница не сгенерировалась за 5мс (ну или 20мс) , то
выводится заглушка "page generated" и стартует процесс который генерит запрошенную страницу и складывает ее в таблицу кешированных страниц
через какое-то время страница "page generated" автоматически обновляется и уже выводится страница с осмысленным содержанием.

но сейчас ведь не так (или поправьте меня)

получается, что, эта страница используется для того чтобы переждать некоторое время, может быть через 30 секунд что-то изменится и удастся сгенерировать страницу.


Часовой пояс GMT +4, время: 22:58.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot