• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión
Acelerar el foro - Caché

Tutorial Acelerar el foro - Caché

lms

Administrador
#1
Zend Framework, que se usa en XenForo, trae grandes métodos de almacenamiento en caché.
Para ver todos los métodos de almacenamiento en caché disponible, visita http://framework.zend.com/manual/de/zend.cache.backends.html

Por ejemplo:
Para activar el soporte Memcached añadir a tu library/config.php lo siguiente:

Insertar CODE, HTML o PHP:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions'] = array('caching'   =>  true,
                                            'automatic_serialization' => true,
                                            'lifetime'    => 1800
);
$config['cache']['backend'] = 'Memcached';
$config['cache']['backendOptions'] = array(
    'backendOptions'=>array(
            'servers' =>array(
                            array(
                                'host' => 'localhost', // your memcached server ip /address
                                'port' => 11211        // memcached port
                            )
                        ),
             'compression' => false
     )
);
Para Filecache puedes usar algo como:
Insertar CODE, HTML o PHP:
$config['cache']['enabled'] = true;

$config['cache']['backend'] = 'File';
$config['cache']['backendOptions'] = array('cache_dir'  => 'D:\xampp\xampp\htdocs\xf\upload\library\cache');



$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions'] = array('caching'   =>  true,
                                            'automatic_serialization' => true,
                                            'lifetime'    => 1800
);

Para que funcione el cacheo en la Beta 2 debes añadir esta línea al archivo library/config.php:
Insertar CODE, HTML o PHP:
$config['cache']['enabled'] = true;
Truco publicado por ragtek en Speed up your Board /caching

Salud2
 

Tize

XenForoUser
#2
  • Hola buenas, cuando dices añadir al añadir a tu library/config.php el código mencionado exactamente en que lugar del config.php hay que añadirlo ?
  • El es config.php que hay que descargar desde el ftp ? (ya que este no deja descargárlo siempre da error e imagino que hay editarlo en mi equipo y subirlo)
  • Cuando mencionas (Para Filecache puedes usar algo como (donde debémos introducir este código ?
  • Y lo mismo para ( Para que funcione el cacheo en la Beta 2 debes añadir esta línea al archivo library/config.php) en que sección debemos aplicar e introducir dicho código ?
  • Gracias.
 

lms

Administrador
#3
Al final del mismo. Si debes editarlo en tu equipo.
Son dos sistemas de caché. MemCache (caché en memoria) y filecache (caché en archivo).

Las líneas debes añadirlas al final del config en una nueva línea.

Salud2
 

Tize

XenForoUser
#4
Hola buenas, no me queda bien claro una cosa Ims.
Dices que debo editarlo, el que está en el FTp no puedo descargárlo ya que da siempre error aunque le ponga permisos 777.
Solo puedo editarlo desde la extranet de mi servidor.
El que tengo en mi equipo es nuevo vamos sin la configuración inicial me sale de este modo.

Supuestamente si debo añadirle el código que mencionas en dos campos más arriba deberá quedar de este modo ?

$config['db']['host'] = 'localhost';
$config['db']['port'] = '3306';
$config['db']['username'] = '';
$config['db']['password'] = '';
$config['db']['dbname'] = '';

$config['superAdmins'] = '1';

$config['cache']['enabled'] = true; $config['cache']['frontend'] = 'Core'; $config['cache']['frontendOptions'] = array('caching' => true, 'automatic_serialization' => true, 'lifetime' => 1800 ); $config['cache']['backend'] = 'Memcached'; $config['cache']['backendOptions'] = array( 'backendOptions'=>array( 'servers' =>array( array( 'host' => 'localhost', // your memcached server ip /address 'port' => 11211 // memcached port ) ), 'compression' => false ) );

$config['cache']['enabled'] = true; $config['cache']['backend'] = 'File'; $config['cache']['backendOptions'] = array('cache_dir' => 'D:\xampp\xampp\htdocs\xf\upload\library\cache'); $config['cache']['frontend'] = 'Core'; $config['cache']['frontendOptions'] = array('caching' => true, 'automatic_serialization' => true, 'lifetime' => 1800 );

$config['cache']['enabled'] = true;

Imagino que será de este modo ya que comentas que hay tres códigos a introducir en el Config.php.
Acabo de ponerle a uno el color Azul, a otro el Rosa y a otro el rojo para distinguir cada código e imagino que será de este modo como nos explicas o es de otro modo ?
Gracias por tu ayuda master.
Saludos.
 

lms

Administrador
#5
¿Que no lo puedes descargar por FTP? ¿Qué programa de FTP usas? Yo uso DirectoryOpus 10 y es una maravilla para eso (es de pago y no solo es de FTP, es un entorno estilo explorador de windows con muuuuuuchas más funciones). Pienso que con un FTP gratuito como filezilla podrías descargarlo. Yo lo descargo, lo modifico (ojo que están en él -el original que tienes en el server- los datos de acceso a la base de datos y no te conviene ni por el forro sobreescribir el archivo sin poner esos datos ya que perderías la conexión a tu base de datos y obtendrías error al intentar acceder al foro.

Desde cPanel (o similar) ábrelo con el explorador de archvos web que ponen en el server y mira de descargarlo, ANTES DE NADA.

Salud2
 

Tize

XenForoUser
#6
Hola buenas, uso el CuteFtp de GlobalScape no conozco el tuyo pero voy a buscarlo por la red.
Siempre se puede conseguir portable o free, el filezilla lo tengo pero al intentar descargárlo me da el mismo error como que está protegido contra escritura.
Desde Plesk que es lo que utilizo si puedo editarlo y modificarlo correctamente, gracias por el consejo.

Entonces ,me recomiendas que añada todo el código de las tres casillas al Config.php y listo.
Las añado según el orden publicado en tu mensaje imagino no ?.
Gracias Ims.
 

Tize

XenForoUser
#10
Hola estába a punto de introducirlo cuando me dí cuenta de que el FileCaché está alojado en el disco D:, es decir como que estuviste realizando pruebas en el D: tuyo y lo pegaste tal cual.
Es correcto esto o me equivoco ? No creo que guarde la cache en dicho directorio ya que no existiría.
Y una última consulta sobre este asunto, en caso de que yo cambie la ruta marcada en rojo y ponga otra carpeta tendré que darle permisos 777 ?
El código ahora mirándolo mejor está mal creado ya que dentro del servidor no hay ni existe ninguna carpeta que se llama xampp y menos htdocs en todo caso, httpdocs o httpsdocs.
Saludos.

$config['cache']['enabled'] = true; $config['cache']['backend'] = 'File'; $config['cache']['backendOptions'] = array('cache_dir' => 'D:\xampp\xampp\htdocs\xf\upload\library\cache'); $config['cache']['frontend'] = 'Core'; $config['cache']['frontendOptions'] = array('caching' => true, 'automatic_serialization' => true, 'lifetime' => 1800 );
 

lms

Administrador
#11
$config['cache']['backendOptions'] = array('cache_dir' => 'D:\xampp\xampp\htdocs\xf\upload\library\cache');
Cámbialo por $config['cache']['backendOptions'] = array('cache_dir' => '/temp');

Salud2
 

Tize

XenForoUser
#12
Adjunto el archivo Filecache correcto para añadirlo.

PHP:
$config['cache']['enabled'] = true;

$config['cache']['backend'] = 'File';
$config['cache']['backendOptions'] = array('cache_dir' => '/temp');
  
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions'] = array('caching'  =>  true,
                                            'automatic_serialization' => true,
                                            'lifetime'    => 1800
);

Saludos y gracias por la aclaración y ayuda Ims.
 

Tize

XenForoUser
#13
Hola nuevamente, acabo de añadir el código mencionado y devuelve un error muy feo.

An unexpected error occurred. Please try again later.

Imagino que hay algo mal en el código, la verdad es que no tengo ni idea del asunto.
Puedes pegar por favor el código tuyo aquí al completo, claro está sin los datos de tu base datos para poder copiarlos y pegarlos en mi Site ?
Sería de gran ayuda la verdad.
Y por cierto, es necesario crear la carpeta temp y darle permisos 777 ? O no es necesario ?
Gracias una vez más!
 

lms

Administrador
#14
Hola nuevamente, acabo de añadir el código mencionado y devuelve un error muy feo.

An unexpected error occurred. Please try again later.

Imagino que hay algo mal en el código, la verdad es que no tengo ni idea del asunto.
Puedes pegar por favor el código tuyo aquí al completo, claro está sin los datos de tu base datos para poder copiarlos y pegarlos en mi Site ?
Sería de gran ayuda la verdad.
Y por cierto, es necesario crear la carpeta temp y darle permisos 777 ? O no es necesario ?
Gracias una vez más!
Sí, es necesario crearla. Pero ten en cuenta que ese directorio temp está en home/user/temp al mismo nivel que la carpeta pública public_htm

Salud2
 

lms

Administrador
#18
lms ha publicado un nuevo recurso:

Acelerar el foro - Caché (versión 1) - Almacenamiento en caché

Zend Framework, que se usa en XenForo, trae grandes métodos de almacenamiento en caché.
Para ver todos los métodos de almacenamiento en caché disponible, visita http://framework.zend.com/manual/de/zend.cache.backends.html

Por ejemplo:
Para activar el soporte Memcached añadir al final de tu library/config.php lo siguiente:

Insertar CODE, HTML o PHP:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions'] = array('caching'   =>  true,...
Leer más sobre este recurso...
 

gariko

XenForoUser
#19
Siguiendo las indicaciones y sin saber muy bien si esto está obsoleto, he añadido el siguiente código para activar la cache y probar si mejora el rendimiento, aunque ya va bastante bien yo creo, pero por probar si va mejor.

PHP:
$config['cache']['enabled'] = true;

$config['cache']['backend'] = 'File';
$config['cache']['backendOptions'] = array('cache_dir' => 'home/loscorre/temp');

$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions'] = array('caching'  =>  true,
                                            'automatic_serialization' => true,
                                            'lifetime'    => 1800
);
El caso es que al insertar esto me devuelve el error que ya han comentado, así que deduzco que la dirección del temp no es correcta, pero no se que poner.

An unexpected error occurred. Please try again later.
 

lms

Administrador
#20
Esto es lo que tengo puesto en el mío:
Insertar CODE, HTML o PHP:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_';
$config['cache']['cacheSessions'] = true;
$config['cache']['backend'] = 'File';
¡A ver si actualizo el manual!

Salud2
 
Arriba