Смарти работает медленно

emsi

Guest
Смарти работает медленно

Привет всем. У меня такая проблема: на локальной машине скрипт выполняется менее 1 сек. На сервере от 10 до 30 сек в зависимости от обьема данных, причем чисто смарти. Файлы одни и те же(проверял несколько раз). Сервак работает через ssl и включен safe mode, хотя файлы компилируюутся в templates_c(проверял!).
Закащик жалуется на медленную работу и категорически не хочет менять хостинг.
Подскажите что нить путное.
 

Demiurg

Guest
как считал время ?
force_compile выключен ?
 

schmeiser

Новичок
поставь какой то таймер и посмотри в каком месте скрипта он плужит, тогда будеш знать что исправлять. не думаю что єто проблема смарти
 

Мутник

Новичок
emsi

ну да, я тоже как то пробовал выводить 40.000 записей на экран (а для каждой записи еще селект на 100 записей, который выводится через секции) - что ты думаешь, секунд 20 отрисовывалось.. Именно вывод ;))))

Так что.. думай, где оптимизировать.. А смарти у тысяч работают хорошо.. что то с руками
 

emsi

Guest
Я ставил таймер в начало скрипта и до smarty->display - менее
1 сек. После - 10-30сек. А tplке много операторов foreach if итд.
Возникает линейная зависимость, чем больше данных тем медленне работает.
Вся проблема в том, что смарти меделенно работает только на серваке!
 

Мутник

Новичок
emsi

есть такая идея, что в смарти НЕ должно быть никаких ифов.. это тебе не программинг, а лишь вывод данных...

С тем же успехом можно на смарти вообще весь сайт писать, только смысл пропадет.
 

emsi

Guest
В хелпе по php есть пример скрипта который считает время работы скрипта. Использовал его.
force_compile выключен

-~{}~ 06.04.05 18:44:

Насчет ifов. А зачем они тогда в смарти есть?
Например есть tplка добавления чего-нибудь, передаешь в нее флажок is_edit и id чего нибудь и можно смело ее использовать и для редактирования а не делеть почти такаю же tpl ;)
 

Demiurg

Guest
>есть такая идея, что в смарти НЕ должно быть никаких ифов..
плохая идея, в шаблонах реализована логика вывода, а ифы часто нужны для реализации логики.

emsi
ищи в каком месте у тебя затык. проверь настройки смарти, если ничего не помогает, то кешируй данные.
 
Сверху