Question

J'ai installé Varnish Turpintine sur notre site de préparation en suivant les instructions sur le Wiki Magento-Turpintine.

Notre site est sur Ubuntu 14.04, NGINX, vernis-4.0.3m, Turpentine v0.6.5, Magento 1.9.2.

Ce sont mes DAEMON_OPTS dans /etc/default/varnish

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -p cli_buffer=16384 \
             -p feature=+esi_ignore_other_elements \
             -p vcc_allow_inline_c=on \
             -s malloc,256m"

J'ai installé le module térébenthine avec succès, en changeant seulement réellement la configuration de la clé d'authentification secrète du vernis avec le \n ajouté, liste noire d'URL et activation des informations de débogage.

Lorsque j'ai essayé de sauvegarder ma configuration, j'ai eu l'erreur ci-dessous :

Failed to apply the VCL to 127.0.0.1:6082: Got unexpected response code from Varnish: 106 Message from VCC-compiler: directors are now in directors VMOD. ('input' Line 27 Pos 1) director default round-robin { ########---------------------- Running VCC-compiler failed, exited with 2 VCL compilation failed

C'est ce que j'ai dans la génération Turpentine var/default.vcl déposer:

vcl 4.0;
C{
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <pthread.h>
static pthread_mutex_t lrand_mutex = PTHREAD_MUTEX_INITIALIZER;
void generate_uuid(char* buf) {
pthread_mutex_lock(&lrand_mutex);
long a = lrand48();
long b = lrand48();
long c = lrand48();
long d = lrand48();
pthread_mutex_unlock(&lrand_mutex);
sprintf(buf, "frontend=%08lx%04lx%04lx%04lx%04lx%08lx",
a,
b & 0xffff,
(b & ((long)0x0fff0000) >> 16) | 0x4000,
(c & 0x0fff) | 0x8000,
(c & (long)0xffff0000) >> 16,
d
);
return;
}
}C
import std;
director default round-robin {
{
.backend = {
.host = "127.0.0.1";
.port = "8080";
.first_byte_timeout = 300s;
.between_bytes_timeout = 300s;
}
}
}
director admin round-robin {
{
.backend = {
.host = "127.0.0.1";
.port = "8080";
.first_byte_timeout = 21600s;
.between_bytes_timeout = 21600s;
}
}

J'ai apparemment pu résoudre ce problème en créant le custom_include.vcl fichier de version-4.vcl comme il manquait

cp app/code/community/Nexcessnet/Turpentine/misc/version-4.vcl app/code/community/Nexcessnet/Turpentine/misc/custom_include.vcl

Mais maintenant, lorsque j'essaie de sauvegarder la configuration, j'obtiens une nouvelle erreur :

Failed to apply the VCL to 127.0.0.1:6082: Varnish data to write over length limit by 749 characters

Cela semble être lié au -p cli_buffer=16384 que j'ai mis dans le DAEMON_OPTS à /etc/default/varnish.Lorsque j'essaie d'augmenter ce chiffre, j'obtiens toujours la même erreur mais avec une limite différente.

Failed to apply the VCL to 127.0.0.1:6082: Varnish data to write over length limit by 8941 characters.

je n'ai rien dedans magento/var/log/ ou /var/log/varnish/ pour le vernis.J'ai essayé de vérifier l'administrateur de Varnish pour voir s'il y avait un problème avec le cli_buffer, mais je n'ai rien vu d'intéressant.

$ sudo varnishadm
varnish> param.show cli_buffer
200        
cli_buffer
        Value is: 16k [bytes]
        Default is: 8k
        Minimum is: 4k

        Size of buffer for CLI command input.
        You may need to increase this if you have big VCL files and use
        the vcl.inline CLI command.
        NB: Must be specified with -p to have effect.

Merci d'avance pour toute suggestion de conseils.

Était-ce utile?

La solution 2

Il me semble que cela fonctionne en appliquant un correctif que j'ai trouvé Billet GitHub 915.

Tout d'abord, le correctif que j'ai appliqué pour ma première erreur était trompeur, j'ai donc supprimé le fichier que j'ai créé.

rm app/code/community/Nexcessnet/Turpentine/misc/custom_include.vcl

Ensuite, j'ai fusionné le branche de développement du dépôt Magento-Turpintine avec mon projet Magento comme suggéré dans le Billet GitHub 915.

Maintenant, lorsque j'enregistre la configuration Turpintine/applique la configuration Varnish, je n'ai reçu aucun message d'erreur.

Bien que le site ne semble pas avoir beaucoup accéléré, comment puis-je m'assurer que le vernis fonctionne comme il est censé le faire.

MISE À JOURJ'ai pu m'assurer que Varnish fonctionnait en exécutant vernisstat, si la moyenne du Hitrate est supérieure à 0, cela signifie que le cache est atteint.

Autres conseils

Merci d'avoir partagé.Je viens d'installer la dernière version du devel branche pour résoudre un problème très similaire.Pour vérifier si Varnish est mis en cache, vous pouvez utiliser l'une des commandes vernistop suivantes, si vous avez accès au serveur.

/usr/bin/varnishtop -i RxURL
/usr/bin/varnishtop -i RxHeader -C -I \^HOST
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top