1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

infraestructura para email marketing

Tema en 'Asuntos Técnicos' iniciado por juanca, 24 Ene 2013.

  1. juanca

    juanca Nuevo usuario

    Hola, buenos días a todos
    Quería conocer vuestra opinión sobre cual sería el mejor sistema para montar una infraestructura de email marketing.

    Hemos desarrollado una aplicación para que nuestros clientes realicen los envíos de email marketing. A dia de hoy estamos enviando totalizando los envíos de todos nuestros clientes sobre unos 10.000 emails por día, para lo que disponemos de 5 servidores.
    El funcionamiento es sencillo, desde la aplicación se configura el envió de email y se inicia el envió. El servidor principal se encarga de asignar en la base de datos(master) que servidor o servidores se va a encargar el envió. Como la base de datos esta replicada en todos los servidores, cada servidor consulta los que tiene asignado ( en la bbdd local para no saturar el principal, que se usa solo para inserciones) y inicia los envíos en bloques de 20 por minuto actualizando en el servidor principal si se ha realizado el envió de cada uno de los mails para actualizar las estadísticas que son en tiempo real (en el servidor master). Hasta ahora no hemos tenido problemas, pero al incrementar últimamente los envíos diarios, estamos teniendo problemas de saturación en la base de datos.
    Como montariaís vosotros un sistema de estas características?

    PD: las bases de datos son mysql.
     
    Última edición: 24 Ene 2013
  2.  
  3. hostigal

    hostigal Usuario activo

  4. Winagain

    Winagain Usuario activo

    Para aplicaciones de alto desempeño lo mejor es separar el procesamiento y las bases de datos en diferentes servidores.
    Esto te da mejor desempeño, y puedes crecer tu base de datos sin preocuparte de que afecte servidor principal.
     
  5. duplika

    duplika Usuario activo

    5 servidores para enviar 10.000 mails diarios suena a un despropósito. Tenemos servidores que por si solos, gestionan esa cantidad de envios pero por hora.

    De cualquier forma y respondiendo a tu pregunta, el problema puede ser el almacenamiento, su configuración o la falta de memoria.

    ¿El soft es un desarrollo custom? ¿Quien administra dichos servidores?
     
    A FanHost le gusta esto.
  6. neocomp

    neocomp Usuario activo

    Coincido en que debiera estar todo configurado como un cluster pero con solo un servidor MySQL remoto al que se conectan todos los servidores web + mail.

    Sin conocer las especificaciones técnicas de cada servidor es muy difícil opinar, pero lo más probable es que hay serios problemas de hardware y/o configuración, sobre todo a nivel de optimización de MySQL ... si haces 20 envíos por minuto con 5 servidores de mail, son 100 queries por minuto al servidor MySQL lo cual es casi imperceptible ... en este minuto por ejemplo tengo un VPS bastante básico procesando 50 queries por segundo en promedio y mantiene una carga de cpu de solo 0,03 !!!

    Podrías publicar información mas detallada de todo el hardware, software utilizado y la configuración de red que tienes para hacerse una mejor idea ... en todo caso yo utilizaría un cluster de VPS's o VM's en cloud para asi poder redimensionarlos dinámicamente.
     
    Última edición: 29 Ene 2013
  7. juanca

    juanca Nuevo usuario

    Hola, buenos días a todos y gracias por vuestras aportaciones.
    5 servidores para 10000 mail es muy poco exagerado, pero de momento estamos probando el servicio y queremos aumentarlo en breve.
    Respecto a los serivdores deciros que son Intel(R) Xeon(TM) CPU 2.80GHz con 1 Gb de ram, y la operaciones antes y despues de enviar un email son multiples. Entre updates, inserts y select a la base de datos puede haber unas 10 operaciones sobre el servidor principla por email enviado mutiplicado por 5 servidores realizando las mismas operaciones sobre el mismo servidor.
    Aumentaría el rendimiento un cluster y hacer todas las operaciones sobre el? en lugar de tener las bases de datos replicadas para que cada servidor consulte solo sus envios pendientes y actualize en el principal?
     
    Última edición: 30 Ene 2013
  8. juanca

    juanca Nuevo usuario

    El desarrollo de la aplicaciones propia y trabaja sobre mysql 5.1.66-log. El SO es centos 6. Los servidores están en una lan conectados por ethernet 100
     
  9. duplika

    duplika Usuario activo

    A simple vista diría que lo mas eficiente es que tengas servidores dedicados exclusivamente al envio de mails y otros al procesamiento de datos.
     
  10. neocomp

    neocomp Usuario activo

    Como comenté previamente incluso si se hacen 10 operaciones por cada email estamos hablando de solo 1000 queries por minuto o sea 17 queries por segundo, algo que de todas formas es una carga bastante baja para casi cualquier servidor MySQL.
    En "muy recomendable" que los servidores MySQL cuenten con múltiples discos en RAID-10, controladoras con caché, múltiples cores y mientras más memoria mejor ... creo que 1 Gb de RAM no es lo recomendado, lo ideal es contar con al menos unos 2 Gb para poder optimizar MySQL ... la diferencia entre un MySQL optimizado y uno NO optimizado puede ser de cientos e incluso miles de veces el rendimiento ... otro punto super importante es el tipo de tabla y el tipo y calidad de los índices, si tienes una tabla MyISAM que tenga muchas actualizaciones simultáneas es casi "obvio" que vas a tener problemas ... por experiencia más del 95% de las veces hay problemas de recursos, optimización y/o indexación en sistemas que usan MySQL :)


    Creo que el uso de varias BD replicadas se justifica en algunos casos, pero por la baja carga de lo que quieren usar no creo que sea lo más indicado en este caso y estimo que un MySQL remoto de mejor rendimiento conectado con varios servidores de mail sería muchísimo mejor, ya que las BD estarían centralizadas y se evitaría toda la complejidad de tener BD replicadas.

    En el caso de usar un cluster también es muy importante la velocidad de conexión entre los nodos, yo recomendaría usar el menos una red de 1 Gbps.
    Probablemente los servidores que tienen solo sirven como servidores de mail y para el MySQL deberían pensar en usar uno un poco mejor.
    De todas formas mi sugerencia sería utilizar VPS's o VM's para poder agregar y/o sacar nodos del cluster en cualquier minuto y además poder redimensionarlos de acuerdo a la carga del minuto.

    Revisa este post donde explico como utilizé un cluster con MySQL remoto y pude hacer cosas imposibles de hacer con VPS's tradicionales y mucho menos con dedicados :
    http://www.comunidadhosting.com/102663-post9.html
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·