it-swarm-es.com

Mejor rendimiento del sitio y la base de datos

Estoy trabajando en un sitio de comunidad Drupal y quiero preguntar sobre estas cosas:

  1. ¿Cómo puedo hacer que un sitio Drupal sea más seguro?

  2. ¿Cómo hago para que mi sitio funcione lo más rápido posible cuando hay muchos visitantes y usuarios en el sitio y hay mucha interacción con la base de datos al mismo tiempo? ¿Cómo mantengo la base de datos consistente en esta situación?

  3. ¿Cómo configuro Drupal para que funcione durante una alta carga del servidor? ¿Cómo configuro el hardware de mi servidor para que funcione durante los momentos de alta carga?

5

1 - Utilice captchas y filtrado de spam; Mollom es un buen lugar para comenzar. También hay información sobre el endurecimiento Drupal en el drupal manual, es decir. http://drupal.org/writing-secure-code .

2 - Para empezar, encienda el módulo de rendimiento que viene con Drupal.

3 - Esta es una gran pregunta. He escuchado cosas buenas sobre Context HTTP Headers , un módulo aportado por la Casa Blanca Drupal equipo. Puede encontrar una tabla de comparación en Caching: Moduls que hacen Drupal escala .

6
d3l3t3m3

Ha hecho una pregunta enorme aquí, que nunca podría responderse por completo en el espacio que tengo en este cuadro de texto. La respuesta es que el ajuste del rendimiento siempre es específico para su carga de trabajo y debe personalizarse como tal. La seguridad también es un tema enorme en sí mismo. Creo que la mejor manera de responder a esto es señalar algunos recursos, porque mucha gente hace estas preguntas.

  1. Regístrese en la lista de correo de seguridad Drupal. Puede ver la lista aquí y puede registrarse para recibir información por correo electrónico cada vez que se descubra una vulnerabilidad. puede hacer esto iniciando sesión en drupal.org, haciendo clic en Editar en su perfil, luego yendo a Mis boletines y revisando Anuncios de seguridad. Además, si está realizando algún desarrollo Escribir código seguro es imprescindible- leer. También debe estar atento a lo que sucede con la seguridad de su servidor; la mayoría de las distribuciones de Linux tendrán una lista de correo electrónico para mantenerlo informado sobre la última situación de seguridad. Ni siquiera voy a mencionar la protección de su servidor para comenzar con, ya que es una discusión masiva, no es relevante para Drupal.

  2. & 3. Obviamente, active todas las opciones de almacenamiento en caché Drupal le brinda en la sección de rendimiento de las páginas de administración. La página Drupal Server consideraciones de ajuste es realmente excelente y le dará mucha información práctica. Además, APC es instalado por muchos Drupal desarrolladores casi de inmediato y pueden mejorar significativamente PHP tiempo de ejecución. Finalmente, para optimizar la base de datos, un buen lugar para comenzar es mirar las consultas que su sitio está ejecutando y usar MySQL describe comando para ver qué está pasando y agregar índices en lugares lentos. Más información sobre esto aquí .

6
Frederik

Para un sitio con mucho tráfico Drupal, debe ajustar MySQL para el contenido que está almacenado ahora. Cualquiera que sea la versión de Drupal, la capa MySQL puede tener su configuración calculada .

Debería querer convertir todas las tablas Drupal al motor de almacenamiento InnoDB. Elimina el bloqueo de tablas de todas las sentencias SQL que afectan sus datos).

Si ya tiene datos de InnoDB, y innodb_file_per_table no está habilitado, necesita limpiar InnoDB segmentando cada tabla en su propio espacio de tabla físico . Es imperativo hacer un ajuste decente de MySQL, incluso si tiene un hardware limitado . Hay muchos escenarios para hacer tales optimizaciones InnoDB .

En mi humilde opinión, no puede planificar una buena configuración para my.cnf sin conocer la cantidad de datos para configurar. Tendría que cargar periódicamente un conjunto de datos actual de producción en un entorno de prueba, realizar optimizaciones y obtener los números para configurar en my.cnf del servidor de producción.

2
RolandoMySQLDBA
  1. Tomando todas las precauciones estándar para la seguridad del servidor web tal como se leen, Drupal debería ser muy seguro desde el primer momento. La esencia básica es nunca confiar en la entrada del usuario, si se limita a los módulos contrib activos y = drupal funcionalidad principal, no debería tener que preocuparse por esto realmente, pero si está codificando algo personalizado, asegúrese de que cualquier entrada del usuario pase por check plain y db_query.

  2. Pregunta masiva. Drupal tiene algunas cosas buenas listas para usar, como agregación de CSS y JS, almacenamiento en caché de páginas, etc. Mueva el perro guardián para usar syslog en lugar de escribir en la base de datos. Use el almacenamiento en caché donde sea apropiado. Mire Boost , Barniz , memcached , bloquear caché . Optimice sus páginas usando recomendaciones de yslow . Si se está poniendo realmente serio, puede querer mover su servidor de base de datos a una máquina diferente. Esta lista puede ser muy larga, muy rápido, pero Khalid Bahayeldin en 2bits es una autoridad - en particular lea esta presentación para tener una idea de ganancias rápidas.

  3. ¡Ver el número 2!

2
cam8001

2 y 3 Puede ver el video de Drupalize.me: Rendimiento y escalabilidad de Drupal u otros artículos de Lullabots como Configuración de barniz para alta disponibilidad con múltiples servidores web

1
tostinni