Perfomace na aplicação
#1
Posted 30 August 2010 - 01:50 PM
CHtml::image() ao inves da tag <img src> direto.
E outra coisa estou começando uma aplicação como sabe de um site, e o meu servidor de hospedagem nao tem nenhum acelerador de codigo instalado, vc poderia me dar algumas dicas como eu posso melhorar a perfomace do site que estou desenvolvendo emm Yii, tipo configuraçoes internas do framework. Tipo utilizar Helpers para montar a tag é melhor.
Resumindo tudo gostaria de começar esta aplicaçao com as configuraçoes correta para obter o maximo de desempenho do meu site pois um site lento ninguem merece...
Valeu mesmo desde já
#2
Posted 30 August 2010 - 02:25 PM
Evitende que não da pra ser exagerado e usar CHtml::tag pra tudo, mas principalmente em campos de formulários, agiliza o desenvolvimento e da mais segurança, principalmente se vc usa como eu helpers mais complexos como o autocomplete.
Cache fazem falta. Na falta de uma opção como o memcache ou eAccelerator, vc pode usar o CDBCache (Criando uma tabela em memória de preferência, caso seu SGDB suporte) ou usar o CFileCache.
Bom tb modificar no seu index, quando em produção, retirar a constante de debug, apontar para o arquivo yiilite.php do framework (Que por ser apenas 1 arquivo, tem um tempo de carregamento menor).
O resto é contigo mesmo. Aplicativos desenvolvidos com Yii normalmente tem bom desempenho comparado a outros Fws. Não da pra precisar exatamente o quanto(Apesar que aqui no site tem um comparativo, mas acho exagerado), mas pelo que já vi do Yii, do Symphony e do Zend, o Yii é o que tem um menor ciclo, justamente por ser mais simples do que os outros, o que torna ele performático.
twitter.com/nenhumnick
#3
Posted 30 August 2010 - 02:58 PM
#4
Posted 30 August 2010 - 03:05 PM
ricardograna, on 30 August 2010 - 02:58 PM, said:
Como faço para habilitar o cache, vi na documentação mais eu nao entendi.
Ja desativei o Debug e coloquei o yiilite no index. So falta o cache que nao sei como proceder.
Valews
#5
Posted 30 August 2010 - 03:14 PM
dar um pequeno exemplo da dificuldade habilitando o cache em arquivo.
'cache'=>array( 'class'=>'system.caching.CFileCache', ),
é só alterar na seção dos componentes no arquivo de configuração.
A config é válida pras funções Yii::app()->cache->get e Yii::app()->cache->set, que usam o cache padrão do sistema.
Nada impede também vc de instanciar a classe de cache onde vc precisa e usar um cache específico pra um determinado momento sem ser o padrão.
twitter.com/nenhumnick
#6
Posted 30 August 2010 - 03:36 PM
Daniel A. Bastos, on 30 August 2010 - 03:14 PM, said:
dar um pequeno exemplo da dificuldade habilitando o cache em arquivo.
'cache'=>array( 'class'=>'system.caching.CFileCache', ),
é só alterar na seção dos componentes no arquivo de configuração.
A config é válida pras funções Yii::app()->cache->get e Yii::app()->cache->set, que usam o cache padrão do sistema.
Nada impede também vc de instanciar a classe de cache onde vc precisa e usar um cache específico pra um determinado momento sem ser o padrão.
Ve se eu entendi, ativo atraves do codigo acima no arquivo config/main.php, na sessao components, certo.
So para eu enterder com esta configuração ele estara colocando todas as pagina do site em cache. por exemplo o layout sempre será a mesma coisa, so que o conteudo será dinamicos em algumas paginas, so que outras não.
Eu teria que chamar alguma funçao no controller destas paginas para que o seu carregamento seja mais rapido...
Tipo eu ativo, e depois eu tenho que fazer alguma coisa nos controlles ou ate mesmo nas views.
Devagar chego lá.
Agradeço a paciencia de vcs.
#7
Posted 30 August 2010 - 04:41 PM
Isso ai só define o mecanismo de cache padrão que o Yii vai usar.
Da uma olhada no link, na parte de cache.
http://www.yiiframew...aching.overview
twitter.com/nenhumnick
#8
Posted 31 August 2010 - 06:33 AM
Daniel A. Bastos, on 30 August 2010 - 04:41 PM, said:
Isso ai só define o mecanismo de cache padrão que o Yii vai usar.
Da uma olhada no link, na parte de cache.
http://www.yiiframew...aching.overview
Primeiramente quero pedir desculpa por eu ser muito leigo em enterder a documentação do yii. estou aprendendo muito é com vcs
Tipo vc poderia dar um exemplo na pratica como usar o cache de pagina e de conteudo dinamico. tipo onde eu coloco cada codigo...
Agradeço muito.
Daqui uns dias eu chego lá...
#9
Posted 01 September 2010 - 08:03 AM
Para mim, a grande vantagem no uso do cache é na carga dos Active Records.
Sem cache, o Yii sempre irá no banco carregar os metadados das tabelas.
Com cache, o Yii carrega os metadados uma única vez e depois passa a utilizar as definições do cache. Fica muuuuuito mais rápido (pelo menos com o Oracle, que eu utilizo).
Ah! Por falar nisso, falta uma configuração importante no main.php:
'components'=>array(
'db'=>array(
...
'schemaCachingDuration' => 600,
),
),
No schemaCachingDuration vc define, em segundos, o tempo de cache dos metadados.
EDIT: cache de página eu só acho útil nos casos em que vc tem uma página cujos dados são demorados para processar e que não possuem grande frequência de modificações.
#10
Posted 01 September 2010 - 09:42 AM
Daniel A. Bastos, on 30 August 2010 - 04:41 PM, said:
Isso ai só define o mecanismo de cache padrão que o Yii vai usar.
Da uma olhada no link, na parte de cache.
http://www.yiiframew...aching.overview
'cache'=>array(
'class'=>'system.caching.CFileCache',
),
Tipo se eu usar a configuraçao acima e em alguma partes do meu site eu usar a configuraçao abaixo vai dar certo:
<?php if($this->beginCache('cabecalho', array('duration'=>3600))) { ?>
..conteudo...
<?php $this->endCache(); } ?>
pois gostaria de saber se a logica esta correta, pois coloquei e nao deu nenhum erro, mas vai que estou cometendo algum erro e isso que fiz nao vai fazer diferença.
E onde ele grava os arquivos de cache?
#11
Posted 08 September 2010 - 08:54 AM
twitter.com/nenhumnick

Help














