Si bien podría usar memcached en Debian para usar el puerto predeterminado 11211, he tenido grandes dificultades para configurar el socket Unix.
Por lo que he leído, sé que necesito crear memcache.socket
y agregar:
-s /path/to/memcache.socket
-a 0766
Para /etc/memcached.conf
y comentar el puerto de conexión predeterminado y la IP, es decir
-p 11211
-l 127.0.0.1
Sin embargo, cuando reinicio memcached obtengo errores internos del servidor en el sitio de Drupal.
Estoy tratando de implementar sockets Unix para evitar la sobrecarga de TCP / IP y aumentar el rendimiento general de Memcached, sin embargo, no estoy seguro de cuánto aumento de rendimiento se puede esperar de este ajuste.
Agradezco sus sugerencias o posiblemente configuraciones para resolver esto.
Respuestas:
Puede encontrar que simplemente configurar la ruta del socket no funciona. Memcached elimina los privilegios antes de crear su socket, aunque después de escribir su PID. Es común colocar el zócalo
/var/run
(por ejemplo, como lo hace mysql), pero solo la raíz puede escribir allí, así que/var/run/memcached
créelo y no lo conozca a nadie, luego configúrelo/var/run/memcached/memcached.sock
como la ruta del zócalo. Escribirlo también/tmp
funcionaría, pero por su propia naturaleza eso podría ser destruido; pegarlo/var/run
es un poco más permanente.Puede verificar que esté funcionando usando netcat para conectarse a él:
nc -U /var/run/memcached/memcached.sock
Simplemente escriba
stats
en el indicador en blanco; si funciona, obtendrás una gran cantidad de resultados.fuente
nobody
, no puedo escribir en una carpeta propiedad de root sin el permiso apropiado.Creo que el socket deberá ser ejecutable en todo el mundo, no escribible. Si ve un mensaje de aviso PHP que contiene errno = 32 Canalización rota , ajuste la máscara de acceso Memcached a 0755
También verifique que el demonio Memcached de Drupal tenga un puerto TCP
0
en la configuración. Un puerto no establecido se configurará de manera predeterminada11211
y confundirá la conexión del socket.fuente
agregado a / etc / default / memcached:
agregado a /etc/memcached.conf:
fuente
Comparé el aumento de rendimiento del uso de sockets unix de Memcached, es un 33% más rápido usar sockets Unix en mis pruebas con php cli.
Descubrí que es importante agregar el usuario memcache al grupo www-data y otorgar permisos al socket 775 de Unix, de esta manera tanto el controlador php como el usuario memcache pueden ejecutarlo.
Puede encontrar los puntos de referencia y la redacción aquí , aunque es para WordPress, debería funcionar para Drupal, ya que es muy probable que sea un problema de permisos.
fuente
Tenga en cuenta que si está utilizando un contenedor alpino en Kubernetes, la especificación de la cápsula con sondas de salud se vería así:
Tomó un tiempo descubrir la configuración correcta y cómo conectarse a un socket de dominio local de Unix a través de busybox.
fuente