[opensuse-es] [OT] Servidor para muchas conexiones simultaneas
Estimados, No sabia que poner en el "Asunto", pero mi consulta es la siguiente: Necesito implementar una aplicacion que escuche en un puerto determinado, y cuya funcion sera recibir una cadena con 40 caracteres para registrarlo en una base de datos, el problema esta en que en algunos momentos del dia, voy a tener 6000 conexiones simultaneas, solicitando conexion y enviando la informacion, mi pregunta es. Que consideraciones deberia tener en cuenta para elegir el Hardware y el lenguaje en el que deba desarrollar el servidor.? (Hice algo en java, para conexiones esporadicas, pero no se como respondera a esa cantidad de conexiones) alguna idea..? Creen que necesitare un balanceo de carga, bosque de servidores y demas cosas.? Saludos JC -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
Hola :) On Monday, November 28, 2011 06:40 PM Juan Carlos Bravo Celis wrote
Estimados,
No sabia que poner en el "Asunto", pero mi consulta es la siguiente:
Necesito implementar una aplicacion que escuche en un puerto determinado, y cuya funcion sera recibir una cadena con 40 caracteres para registrarlo en una base de datos, el problema esta en que en algunos momentos del dia, voy a tener 6000 conexiones simultaneas, solicitando conexion y enviando la informacion, mi pregunta es.
Que consideraciones deberia tener en cuenta para elegir el Hardware y el lenguaje en el que deba desarrollar el servidor.? (Hice algo en java, para conexiones esporadicas, pero no se como respondera a esa cantidad de conexiones) alguna idea..?
40 caracteres no es mucha información, pero 6000 coenxiones pueden ser algo interesante a tener en cuenta, especialmente para los discos duros. Yo pondría discos muy rápidos y pequeños en RAID 1 (o RAID 10) para los datos de la BBDD. Los discos del sistema pueden ser SATA II y en RAID 1. Pondría mucha memoria RAM también. Como vas a tener muchos IOPS, ayudará a los discos. En cuanto a la CPU, depende de si vas a hacer muchas comparaciones o si vas a tener triggers. Si no vas a procesar esa información, no deberías tener mucha necesidad de CPUs con muchos ciclos de reloj. Sí es cierto que al tener tantas conexiones por red, vas a tener muchos context switching por lo que quizás te pueda interesar tener muchos cores, para que cada core se encrgue de un hilo o proceso (según cómo lo programes). Muchos cores tiene su deventaja en que el bus se comprate entre todos los cores por lo que necesitarás memoria más rápida. Teniendo en cuenta el tamaño de los datos, no creo que esto sea un problema. No creo que la red se vea muy castigada en cuanto a ancho de banda, pero poner 2 tarjetas ayuda a reducir los SPOF ... y al precio al que están, no es lo que más te va a costar.
Creen que necesitare un balanceo de carga, bosque de servidores y demas cosas.?
Por el volumen de datos, no necesitarás balanceador de carga, pero tener el servidor en alta disponibilidad siempre es bueno para hacer frente a caídas. Ahora claro, el tema económico hay que tenerlo en cuenta. Hay gente que tiene una alta disponibilidad con un servidor más pequeño (en cuanto a potencia y memoria) porque se supone que el "principal" se va a arreglar pronto si se cae ;) HTH Rafa -- "We cannot treat computers as Humans. Computers need love." "Assume the problem is with whomever is asking the question." Happily using KDE :) -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 28 de noviembre de 2011 14:40, Juan Carlos Bravo Celis
Estimados,
No sabia que poner en el "Asunto", pero mi consulta es la siguiente:
Necesito implementar una aplicacion que escuche en un puerto determinado, y cuya funcion sera recibir una cadena con 40 caracteres para registrarlo en una base de datos, el problema esta en que en algunos momentos del dia, voy a tener 6000 conexiones simultaneas, solicitando conexion y enviando la informacion, mi pregunta es.
Que consideraciones deberia tener en cuenta para elegir el Hardware y el lenguaje en el que deba desarrollar el servidor.? (Hice algo en java, para conexiones esporadicas, pero no se como respondera a esa cantidad de conexiones) alguna idea..?
Creen que necesitare un balanceo de carga, bosque de servidores y demas cosas.?
Se supone que los servidores de Google soprtan muchas conecciones... Aqui tienes parte de un equipo diseñado para Google: http://www.ebay.com/itm/Arima-Quad-CPU-16-Core-AMD-Opteron-Motherboard-w-PSU-/110585626008?pt=LH_DefaultDomain_0&hash=item19bf6abd98 Brand New AMD 16 Cores Server Motherboard. Customize Made for Google by Arima, support 10 S-ATA II HDD & 64G RAM. Design for Virtualization Technology, Render Farm or High performance Cluster Computing! Only Supports Linux! Recommanded Operating System: SUSE Linux Enterprise Server 11 VMware / ESXi Xen® hypervisor, the powerful open source industry standard for virtualization - Xen Supports Microsoft Windows Operating System Package Included: Arima AMD 16 Cores Server Motherboard LITE-ON 650W Power Supply Unit Max out put= 800W, 12V= 45A (Special design for this motherboard. Regular PSU may not be able to power it up) Options (please contact us after your order placed ): AMD Opteron 8356 CPU= $99/each (2.3G, 1000FSB, 75W, 2M L3 Cache) Google Customize 4G DDR2 ECC REG RAM= $129/each Complete Server: 2U AMD Opteron Server Quad 2.3G, 16G RAM, 500G HDD = $1860 http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=120536289451 Specs Supports 4× AMD OPTERON 8000 Series Quad Core Processor 10× SATAII Ports, Supports up to 10pcs of SATA II Hard Drives Supports up to 64G RAM (4G× 16) 4× 1Gb Ethernet Network Ports 1× PCI-E 16X Slot -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 28 de noviembre de 2011 14:40, Juan Carlos Bravo Celis
Estimados,
No sabia que poner en el "Asunto", pero mi consulta es la siguiente:
Necesito implementar una aplicacion que escuche en un puerto determinado, y cuya funcion sera recibir una cadena con 40 caracteres para registrarlo en una base de datos, el problema esta en que en algunos momentos del dia, voy a tener 6000 conexiones simultaneas, solicitando conexion y enviando la informacion, mi pregunta es.
Que consideraciones deberia tener en cuenta para elegir el Hardware y el lenguaje en el que deba desarrollar el servidor.? (Hice algo en java, para conexiones esporadicas, pero no se como respondera a esa cantidad de conexiones) alguna idea..?
Creen que necesitare un balanceo de carga, bosque de servidores y demas cosas.?
Hablando de servidores, acabo de ver esta noticia sobre el lanzamiento oficial del nuevo Opteron de 16 nucleos: http://www.pcworld.com/article/243774/amds_16core_opteron_chips_arrive_after... En español: http://www.cioal.com/2011/11/14/amd-lanza-los-chips-opteron-de-16-cores-para... Salu2 -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (4)
-
Juan Carlos Bravo Celis
-
Juan Erbes
-
Pinguino Patagonico
-
Rafa Grimán