PDA

Ver la versión completa : [Ayuda] Servidor de "alto rendimiento"... Tomcat (hibernate + mysql) vs Apache (PHP + MySQL)



ChUKii
20/04/2012, 22:00
Buenas!

Estoy montando un sistema bastante tocho y estoy hecho un lio con la arquitectura.

A groso modo tendre una serie de Servlets/WebServices que recibirán datos (quizas 15000 request por minuto), en cada uno de estos accesos a los Servlets/WebServices se haran algunos pequeños calculos y se insertara el dato en la BD (MySQL). El tema es que no se que es mejor para algo asi.
-Un servidor Linux dedicado (o virtualizado) con Tomcat y una BD MySQL (¿En la misma maquina?).
-Un server Apache con PHP y varias BD MySQL (el tipico hosting que por 5€/mes te dan 5 BD).

Un Tomcat podría aguantar esa caña? Si usase un servidor virtualizado cuanto necesitaría? Algun cloud mejor para hacerlo todo lo tocho que haga falta?

A ver si alguien que controle un poco más que yo me puede echar un cable :).

Gracias!

:brindis::brindis:

Estopero
21/04/2012, 01:16
Por mi experiencia solo te puedo decir que con tomcat+java vas a necesitar por lo general una máquina muchísimo mayor que con apache+php, pero poco más te puedo ayudar porque nunca he trabajado con algo que reciba esa bestialidad de peticiones ¿¿15000 peticiones por minuto?? jodo a ver cuando llega el día XD

firesign
21/04/2012, 09:33
Yo he instalado algunos sistemas con Tomcat y MySQL con una carga bestial y sin problemas. Fíjate que con PHP hemos tenido normalmente mas problemas, aunque si es cierto que el sistema actual con PHP que mas trabajamos si tiene unas 8 horas al día a unos 14000 usuarios conectados concurrentemente y de forma continua...

^MiSaTo^
21/04/2012, 10:02
Por mi experiencia te digo lo mismo que Estopero. Pasa del tomcat y PHP ftw. Es mucho más ligero y necesitará mucho menos recursos el apache normal que apache + tomcat + jvm.
Y MySQL no necesita que esté en otra máquina siempre que el servidor sea suficientemente potente. Me refiero, ahi ya tienes que probar tú el rendiimiento, sin más datos no te se decir si vas a tener que montar la bbdd en otra máquina o no. Por ejemplo en gp32spain/ HG estaba antes en un servidor separado la BBDD, pero ahroa el que tenemos es más tocho así que aun estando en la misma máquina que el apache y demás, como ves eso va como un tiro ;)

ChUKii
21/04/2012, 10:21
Me habéis dejado hecho un lio jejejeje. Contaba con que el apache + php era mucho más ligero que un tomcat... el tema era una vez que que pasaba de una gran cantidad de carga de trabajo no sabía cual sería mejor.

Bueno en un principio seguire por el camino actual (PHP+MySQL) y cuando empiece a rular ya iremos viendo. Las 15.000 request por minuto son una burrada... igual me he pasado :lol:.

Bueno voy a seguir currando un poco a ver si saco esto adelante.

Gracias! :brindis: :brindis:

^MiSaTo^
21/04/2012, 10:27
15.000 request por minuto? Creeme que he visto cosas mucho más burras xD

ChUKii
21/04/2012, 10:29
15.000 request por minuto? Creeme que he visto cosas mucho más burras xD

Ojo que serian 15.000 request y 15.000 insets en la BD :D.

^MiSaTo^
21/04/2012, 10:31
Ojo que serian 15.000 request y 15.000 insets en la BD :D.

Ya, se lo que es una request xD Pero ya te digo, he montado servers que han aguantado más :P Por ejemplo para la apli de android que hice al venir aquí, la media era de 200.000 peticiones por minuto ;) Incluso hubo algún pico de 350-360k.

EDIT: miento. La apli tenía 200.000 usuarios concurrentes de media y las peticiones las hacíamos cada 15-20 segundos. Así que puedes echar cuentas XD

ChUKii
21/04/2012, 10:34
Ya, se lo que es una request xD Pero ya te digo, he montado servers que han aguantado más :P Por ejemplo para la apli de android que hice al venir aquí, la media era de 200.000 peticiones por minuto ;) Incluso hubo algún pico de 350-360k.

EDIT: miento. La apli tenía 200.000 usuarios concurrentes de media y las peticiones las hacíamos cada 15-20 segundos. Así que puedes echar cuentas XD

Juer, menudos numeros. Y como lo teníais montado? Apache + PHP ? Tomcat? Jboss? MySQL? Oracle?

Que equipo era? Cloud? Virtual? Fisico? Caracteristicas?

josepzin
21/04/2012, 10:36
Menuda cantidad de visitas :o

jduranmaster
21/04/2012, 10:38
TOMCAT + el motor de Servlets + un motor de WebServices como Apache AXIS 1.0 o Apache AXIS 2.0 va a tirar si problemas creeme. De hecho he visto sistemas basados en Tomcat para la parte del middleWare y MATLAB para la realización de las tareas específicas con más carga de en peticiones de las que pones en tu primer post.

Y en respecto a MySQL puede ir perfectamente en la misma máquina. Hay algunas distribuciones en donde el conector de bases de datos JODBC que puedes usar con mysql ya viene instalado de serie en el Tomcat

^MiSaTo^
21/04/2012, 10:42
Juer, menudos numeros. Y como lo teníais montado? Apache + PHP ? Tomcat? Jboss? MySQL? Oracle?

Que equipo era? Cloud? Virtual? Fisico? Caracteristicas?

No te puedo dar muchísimos datos por el NDA. Pero básicamente había balanceo de carga (obviamente) aunque normalmente con 1 de los servers aguantaba. Apache + PHP + Postgresql es lo que había montado.
Probaron con J2EE y la verdad que el rendimiento no era tan bueno como con lo otro

ChUKii
21/04/2012, 10:51
Ahora ya me habeis liado del todo jeje. Bueno, por lo menos parece que cualquiera de los 2 sistemas debería de ser capaz de aguantar lo que yo necesito... de momento durante el desarrollo voy a mantener el sistema actual (Apache + PHP), pero lo más seguro es que acabe pasandolo a Tomcat... ya que lo que uso para la interfaz es GWT y el acceso a la BD mediante PHP es un poco chapucilla...

Gracias!! ;)

^MiSaTo^
21/04/2012, 10:55
Ahora ya me habeis liado del todo jeje. Bueno, por lo menos parece que cualquiera de los 2 sistemas debería de ser capaz de aguantar lo que yo necesito... de momento durante el desarrollo voy a mantener el sistema actual (Apache + PHP), pero lo más seguro es que acabe pasandolo a Tomcat... ya que lo que uso para la interfaz es GWT y el acceso a la BD mediante PHP es un poco chapucilla...

Gracias!! ;)
Por qué dices que el acceso a PHP es chapuza? xD y bueno Java NUNCA va a ir mejor que PHP o similar, básicamente porque no tienes una jvm corriendo por debajo. Es de lógica pura xD
A mi me preocuparía más el tamaño que va a tener la BBDD porque si es muuuuy grande puede que MySQL no tire todo lo bien que debería, por eso en nuestro caso elegimos PostgreSQL.

ChUKii
21/04/2012, 11:01
Por qué dices que el acceso a PHP es chapuza? xD y bueno Java NUNCA va a ir mejor que PHP o similar, básicamente porque no tienes una jvm corriendo por debajo. Es de lógica pura xD
A mi me preocuparía más el tamaño que va a tener la BBDD porque si es muuuuy grande puede que MySQL no tire todo lo bien que debería, por eso en nuestro caso elegimos PostgreSQL.

Uhm... van a ser pocas tablas con una muy tocha... que tendría como máximo... suponiendo que hubiese 15000 request por minuto: 648.000.000 registros :rolleyes:. Igual se me ha ido de las manos :lol:.
En un principio había pensado usar 10 bases de datos para almacenar esa tabla (segun un identificador accedería a una base de datos u otra), pero aún así tendriamos 64 millones de registros en cada tabla (si llegasemos a esas cifras, claro...).

Mejor una sola con PostgreSQL ?

Aiken
21/04/2012, 11:55
En el curro hablando con un experto en BBDD nos ha dicho lo que ya sospechabamos.

MySQL se queda corta en rendimiento, por muy fanboys que seamos de mysql, hay opciones mucho mejores cuando montas algo del estilo de lo que tu comentas, algunas incluso gratis.

Concretamente en gratis nos recomendo DB2, y en de pago Oracle por supuesto, o incluso SQLServer aunque tengamos mucha tirria a MS es mejor que MySQL cuando se trata de cosas serias.
Sobre todo el problema de mysql es el optimizador de queries, si eres muy bueno escribiendo queries escritas especialmente para que aprovechen la arquitectura de mysql puedes conseguir un buen rendimiento, pero si no eres un experto en como funciona por dentro mysql tus queries tendran rendimientos mediocres cuando sean consultas intesivas.

Aiken

---------- Post añadido a las 09:55 ---------- Post anterior a las 09:52 ----------


Uhm... van a ser pocas tablas con una muy tocha... que tendría como máximo... suponiendo que hubiese 15000 request por minuto: 648.000.000 registros :rolleyes:. Igual se me ha ido de las manos :lol:.
En un principio había pensado usar 10 bases de datos para almacenar esa tabla (segun un identificador accedería a una base de datos u otra), pero aún así tendriamos 64 millones de registros en cada tabla (si llegasemos a esas cifras, claro...).
Mejor una sola con PostgreSQL ?

Prefieres tener que hacerlo tu a mano, o que te lo haga la base de datos? si eres muy bueno, y vas a trabajar dedicado a dba vale pero sino mejor cualquier base de datos que lo gestione eficientemente.

Aiken

^MiSaTo^
21/04/2012, 11:57
En el curro hablando con un experto en BBDD nos ha dicho lo que ya sospechabamos.

MySQL se queda corta en rendimiento, por muy fanboys que seamos de mysql, hay opciones mucho mejores cuando montas algo del estilo de lo que tu comentas, algunas incluso gratis.

Concretamente en gratis nos recomendo DB2, y en de pago Oracle por supuesto, o incluso SQLServer aunque tengamos mucha tirria a MS es mejor que MySQL cuando se trata de cosas serias.
Sobre todo el problema de mysql es el optimizador de queries, si eres muy bueno escribiendo queries escritas especialmente para que aprovechen la arquitectura de mysql puedes conseguir un buen rendimiento, pero si no eres un experto en como funciona por dentro mysql tus queries tendran rendimientos mediocres cuando sean consultas intesivas.

Aiken
Es lo que he comentado, nosotros tb lo vimos en el proyecto ese. MySQL está muy bien para cosas "pequeñas-medias" pero para cosas tochas ahi tienes Oracle. No estoy de acuerdo con lo de SQLServer porque a mi nunca me ha ido tan bien como Oracle por ejemplo. Pero si es posible que vaya mejor que MySQL para cosas tochas (no lo se).
Ahora bien, miraros PostgreSQL, que a dia de hoy es una alternativa más que decente a Oracle ;) Ya te digo que nosotros es lo que usamos para eso que he comentado y quedamos más que satisfechos. Se hicieron pruebas tb con Oracle y no había tanta diferencia de rendimiento, y finalmente Vodafone dijo que prefería PostgreSQL por no pagar la tocho licencia de Oracle.

Aiken
21/04/2012, 12:19
No estoy de acuerdo con lo de SQLServer porque a mi nunca me ha ido tan bien como Oracle por ejemplo. Pero si es posible que vaya mejor que MySQL para cosas tochas (no lo se).

A ver, Oracle esta a años luz de SQLServer, lo que queria decir es lo que comentas que SQLServer puede ser una opcion si MySQL no da la talla y no queremos meternos en Oracle. SQLServer ya era un buen motor antes de que MS lo comprara.

Propondre en el curro probar PostgreSQL, que la verdad no lo habiamos tenido en cuenta como opcion ;) :brindis:

Aiken

ChUKii
21/04/2012, 12:21
Bueno... entonces habrá que decantarse por PostgreSQL :). Tendre que echar un vistazo a empresas de hosting... 1and1 me gustaría descartarlo pro que el servicio de atención es bastante pesimo... y no si tenemos algun problema me gustaría contar con un buen soporte :rolleyes:. Que os parece Acens?

^MiSaTo^
21/04/2012, 12:22
A ver, Oracle esta a años luz de SQLServer, lo que queria decir es lo que comentas que SQLServer puede ser una opcion si MySQL no da la talla y no queremos meternos en Oracle.
Propondre en el curro probar PostgreSQL, que la verdad no lo habiamos tenido en cuenta como opcion ;) :brindis:

Aiken
Ah ok, entonces estamos de acuerdo con respecto a SQLServer ;)
Y si, probad PostgreSQL que la verdad yo me quedé sorprendida de lo bien que va ^^ A ver Oracle sigue siendo mejor pero no te creas que hay tantísima diferencia

firesign
21/04/2012, 13:01
Si te vas a poner con PHP, mucho mejor nginx, APC y PHP-fpm que usar Apache. Y una base de datos con 648 millones de registros vete olvidando de mysql, y con postgresql yo también dudaría mucho. He visto bastantes casos de problemas con postgresql en base de datos mucho mas pequeñas... Nosotros tenemos una Oracle con tamaños así y también nos va medio regular, y no esta precisamente en una maquina cutre.

Estopero
21/04/2012, 13:57
Un poco desde el conocimiento porque yo no he programado en ello directamente... quizá sea buen momento para echarle un vistazo a node.js + Mongodb :). Según qué requerimientos tengas podría ser una opción viable invertir algo de tiempo en aprenderlo, diría que en cuanto a velocidad y concurrencia no tiene competidor:

http://blog.mongodb.org/post/812003773/node-js-and-mongodb
http://www.slideshare.net/ggoodale/getting-started-with-mongodb-and-nodejs

bernard
21/04/2012, 18:06
Por qué dices que el acceso a PHP es chapuza? xD y bueno Java NUNCA va a ir mejor que PHP o similar, básicamente porque no tienes una jvm corriendo por debajo. Es de lógica pura xD
A mi me preocuparía más el tamaño que va a tener la BBDD porque si es muuuuy grande puede que MySQL no tire todo lo bien que debería, por eso en nuestro caso elegimos PostgreSQL.

No te creas, java se está poniendo las pilas con el tema del rendimiento. Si sobra máquina a mi me parece mejor opción, si tienes recursos limitados, php de cabeza.

http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=php

Luego está el tema de los frameworks que obviamente rompen cualquier estadística ...

amkam
21/04/2012, 18:50
De esto no tengo ni idea, no soy ni DBA, ni me encargo de llevar servidores (afortunadamente!!), pero para lo que pides 15000 peticiones es muy poco, sea la implementación que sea mientras la máquina sea buena, podrá. La virtualización es recomendable si los tiempos de respuesta no te importan, hace más fácil el mantenimiento del servidor. Si se te cae la máquina siempre puedes restaurar un backup en cuestion de segundos y bueno... estarías dando un paso en lo que hoy en día se llama el "cloud" :P
Node.js lo probé hace poco y me pareció cuanto menos curioso, si quieres empezar algo nuevo, yo le daría un intento :)

Ah y... polémica! No podéis decir que PHP es más rápido que Java, joer, es como decir que una vespino es más rápida que una furgoneta. La vespino fijo que es más rapida en trayectos cortos en ciudad, pero para el resto de los casos la furgoneta gana. PHP es un lenguaje intepretado, Java está a medio camino entre éstos y los compilados; hoy día aplicando buenas prácticas, en java 6 y con la jvm de oracle o las tuneadas de ibm puedes hacer que vaya tan o más rápido que lo mismo en C++. Por otro lado si hablamos de PHP compilado estilo facebook, entonces hablamos de otra cosa (allí desarrollaron un framework que traducía código php a c++ , que luego era compilado con gcc)

JoJo_ReloadeD
22/04/2012, 12:27
php y postgresql...

otto_xd
22/04/2012, 12:37
Bueno... entonces habrá que decantarse por PostgreSQL :). Tendre que echar un vistazo a empresas de hosting... 1and1 me gustaría descartarlo pro que el servicio de atención es bastante pesimo... y no si tenemos algun problema me gustaría contar con un buen soporte :rolleyes:. Que os parece Acens?

Pesimo no, peor.
Depende de lo que busques, para un juan palomo amazon ec2 + s3 no esta mal del todo, yo no lo veo barato, y la disponibilidad que dan es tirando a regulera, pero es muy robusto de forma general.

---------- Post añadido a las 11:37 ---------- Post anterior a las 11:33 ----------


Java es un lenguaje interpretado. Lo que ocurre es que el guión óptimo para ser legible por el ser humano (.java) se convierte a guión óptimo para ser legible por el programa intérprete (.class).
La cuestión es que java es un 99% llamadas a procedimientos C/C++, por eso parece tan rápido, pero por su propia naturaleza, las estructuras internas que mantienen el scripting son elefantiásicas.

Resumiendo: Java está muy bien para programas cortos que se nutren de llamadas a procedimientos nativos y que implementan procedimientos sencillos, en caso contrario, los recursos que consume con los resultados que ofrece no merecen la pena.
La única ventaja de Java sobre C/C++ es que es a prueba de tontos. Por lo demás, basura.

Y en cuanto a PHP, es normal que sea mas lento. Es un guión orientado a la legibilidad del ser humano, no a su rápida interpretación, pero a cambio, no consume la salvajada de recursos que consume Java y sus frameworks.

Si que un codigo sea mantenible por el mayor numero de personas no te parece critico, c y cpp estan muy bien, pero lo bueno de java es que es mucho mas legible, al ser mucho mas limitado y simplificado...

Si el rendimiento es critico obviamente no se puede usar java para todo, pero haciendo las cosas bien en java, no tiene porque suponer un problema.

Sobre mysql, etc... un compi que me esta enseñando un monton me dijo que mysql tiene dos configuraciones posibles, y que para proyectos tochos con muchas peticiones solo es valida una de las dos, pero creo que perdia rendimiento.

Asi mismo me dijo cuales eran las directivas para hacer las peticiones y que el rendimiento fuera optimo, y yo que no tengo ni **** idea de bases de datos pense que eran faciles de seguir...

PD.La gracia de hybernate no es que te abstrae de la base de datos?

amkam
22/04/2012, 15:03
Java es un lenguaje interpretado. Lo que ocurre es que el guión óptimo para ser legible por el ser humano (.java) se convierte a guión óptimo para ser legible por el programa intérprete (.class).
La cuestión es que java es un 99% llamadas a procedimientos C/C++, por eso parece tan rápido, pero por su propia naturaleza, las estructuras internas que mantienen el scripting son elefantiásicas.


Ay madre... has leído por ahí llover y no sabes donde. Java no es simplemente interpretado, lenguage interpretado es aquel que no se compila, pero java no genera tampoco código máquina sobre la que se ejecuta, por lo que no es 100% compilado, simplemente está a medio camino. Si te pones tonto y quieres llevar la razón, bueno pues http://en.wikipedia.org/wiki/Java_processor y ya la llevo yo...
También, que java esté hecho en C no significa que llame a procedimientos C/C++, simplemente está implementado en C, como cualquier emulador de GB puede estar hecho en cualquier lenguage y no quiere decir que implemente llamadas procedimientos del Z80.
De cualquier manera, estamos de acuerdo en lo de hecho para tontos. En nuestro 99% de la población mundial de tontos tenemos que hacer software que funcione bien, rápido y seguro sin acabar haciéndonos calvas en el pelo porque no entendemos donde **** estamos teniendo la fuga de memoria (que ojo! java las tiene también...) y cumpliendo con una fecha fija de entrega. Java en esto ha facilitado la cosa, aparte de que no necesitamos dedicar años de experiencia a llegar a hacer buen uso del lenguage, en Java la curva de aprendizaje es mucho menor, y sinceramente, cuando el hardware es más barato que el sueldo/tiempo del personal, por mucho que no nos guste la idea: Java gana (y PHP y Python y Ruby...).

^MiSaTo^
22/04/2012, 15:05
arkam, te iba a responder, pero lo siento, he parado de leer aquí:

También, que java esté hecho en C no significa que llame a procedimientos C/C++, simplemente está implementado en C, como cualquier emulador de GB puede estar hecho en cualquier lenguage y no quiere decir que implemente llamadas procedimientos del Z80.

jduranmaster
22/04/2012, 15:29
La única ventaja de Java sobre C/C++ es que es a prueba de tontos. Por lo demás, basura.



fijate si es basura que el servidor Apache-TOMCAT (uno de los más utilizados para montar servidores web) está 100% implementado en JAVA aguantando millones de peticiones de forma concurrente ... lo que hay que leer.

Esto es como todo JAVA al principio era un comerecursos de la ostia pero según han ido avanzando las versiones el rendimiento de los sistemas y los programas desarrollados en JAVA se ha incrementado exponencialmente. Las nuevas opciones para la optimización del compilador y el uso de memoria son la ostia y ha sido todo un logro en la versión Java6, dejando a Java prácticamente a la par con C/C++ como lenguaje de desarrollo de aplicaciones y sistemas STAND-Alone.

Otra cosa es que dependa de un máquina virtual y ese sea el caballo de batalla que le impide competir en el desarrollo y programación de sistemas empotrados o específicos como DSP´s o hardware específico de otro tipo donde se sigue desarrollando en C/C++ y esto es debido a que ahora ORACLE y antes Sun no puede firmar un contrato con todos los fabricantes de hard específico para desarrollar una JVM para todas las tarjetas o cacharros empotrados del mundo... en todo caso según mi criterio C/C++ sigue siendo el rey la programaciín y desarrollo de programas y sistemas espécificos para hard específico y si bien hace años también era el rey en el desarrollo de aplicaciones y sistemas stand-alone ahora yo diría que Java6 está por encima debido también en gran parte a la manejabilidad de los nuevos entornos de desarrollo como ECLIPSE (una barbaridad lo que ha avanzdo el bicho este que ahora incluso permite desarrollar y programar hardware para FPGAs) unido a la incipiente aparición de nuevas librerias Java que no están en C/C++ (gráficas y de middleware) o están en versiones menos avanzadas además del el tema de desarrollo web con servlets, JSP´s y la facilidad de uso de los motores de WebServices.

amkam
22/04/2012, 18:30
fijate si es basura que el servidor Apache-TOMCAT (uno de los más utilizados para montar servidores web) está 100% implementado en JAVA

Apache es 100% C Tomcat ya ni idea. Misato, quien es arkam ? ;) creo que no has entendido nada, o no me he explicado bien, pero vale :)

^MiSaTo^
22/04/2012, 18:32
Apache es 100% C Tomcat ya ni idea. Misato, quien es arkam ? ;) creo que no has entendido nada, o no me he explicado bien, pero vale :)

amkam, si perdona que me he equibocado al poner tu nick. Creo que o no te has explicado bien o no sabes de lo que estás hablando. Si me dices que un emulador del Z80 no implementa las llamadas del Z80... entonces me explicas cómo se hace la emulación?

PD: Tomcat está 100% hecho en java, y se llama Apache-Tomcat aunque normalmente se le llama tomcat a secas

firesign
22/04/2012, 18:46
Tomcat ha superado al propio Apache en peticiones de contenidos estáticos en montones de benchmarks...

dardo
22/04/2012, 18:57
El número de insert y de peticiones es relevante, pero no es el dato más relevante. Por ejemplo, en uno de los sistemas a los que doy soporte tenemos una base de datos de histórico con muchos millones de registros (en tablas particionadas, obviamente, para poder descartar las particiones más antiguas y utilizar particiones nuevas para los datos actuales y en un servidor relativamente normal va bien).

Eso si, hay consultas que tardan media hora, claro, que esa consulta es un informe entero sobre los datos del día anterior, que es una select de seis millones de registros, una agregación de esos datos, etc...

Por experiencia sé que MySQL es más lento que PostgreSQL, aunque Oracle es más lento aún, aunque depende mucho de la configuración. En cuanto al web/was que pienses utilizar depende mucho de la configuración de y de como lo programes. Apache va bien siempre, especialmente de proxy inverso para servir estático, pero no se trata de eso.

Tomcat tiene fama de lento, pero es lo de siempre. Depende mucho de la configuración y de lo que le programes. He visto sistemas basados en apache-tomcat+SQL comerse con patatas en el mismo escenario que otros basado en WebSphere+Oracle. Al final cuando hay muchas transacciones en una base de datos depende más del uso del almacenamiento que haga la base de datos que de los demás factores. Por ejemplo, se pierde uno de los caminos al almacenamiento y toca reescanear las fibras y se pierde más de la mitad del rendimiento.

Depende del tamaño de cada transacción, de la complejidad de cada transacción, de la caducidad de los datos en la base de datos, por ejemplo si necesitas almacenar mucho histórico, del volumen de datos total, de la complejidad de los cálculos a realizar en el backend...

Por otra parte la fama de que para aplicaciones gordas es mejor un cloud no está justificada.

jduranmaster
22/04/2012, 18:59
Apache es 100% C Tomcat ya ni idea. Misato, quien es arkam ? ;) creo que no has entendido nada, o no me he explicado bien, pero vale :)

pues eso Apache TOMCAT está hecho 100% en JAVA, y es otro servidor del proyecto Apache al igual que el servidor Apache de toda la vida.

dardo
22/04/2012, 20:10
Oracle depende muy mucho de la versión. si metes doscientos millones de registros en una tabla ya te digo que es una puñetera mierda al igual que lo demás. Además Oracle en cuanto a rendimiento también es muy lenta en algunos escenarios. incluso más que MySQL.

SQLserver tiene en general buen rendimiento. Lo malo es el sistema operativo soportado, que al final necesitas productos y licencias de terceros para tener algo decente, por ejemplo Veritas para el almacenamiento, etc, algo que con un Unix cualquiera tienes de serie.

Con respecto al Oracle hay no sé como van las versiones, pero tengo en algunos servidores Oracle sin soporte para tablas particionadas y en otros tengo la misma versión pero si que hay soporte para tablas particionadas, pero de eso se encarga el equipo de BDA, para mi el Oracle es una caja negra.

No se trata de tirar de 10 bases de datos, se trata de no tener tablas gigantescas para que las operaciones sobre las tablas no sean un infierno, por ejemplo una reconstrucción de índices.

---------- Post añadido a las 18:10 ---------- Post anterior a las 18:06 ----------

Depende de cuando reinicies la base de datos. Como se suele decir, una vez al año no hace daño. Además no es lo mismo na base de datos con pocos registros pero inmensos, por ejemplo en un sistema donde cada registro sea un proyecto, que una base de datos que almacena millones de registros de manera efímera. Se configuran distinto. Creo que es mucho más crítico el acceso al almacenamiento. Y si se tienen jobs en la base de datos que hagan ciertas tareas como pueden ser cálculos o agregaciones pues también se vuelve más crítica la cantidad de memoria y procesador, pero el cuello de botella en un servidor de base de datos es el almacenamiento.

jduranmaster
23/04/2012, 11:42
Que no te timen, Java está bien para cosas pequeñas o de bajo rendimiento, pero si lo que buscas es aprovechar recursos, no lo dudes, no tienes mas opciones que C/C++, Pascal y/o ASM.

---------- Post añadido a las 10:31 ---------- Post anterior a las 10:29 ----------




parece ser que no has leido mi post. Una pena.



Java tirando al 90% de rutinas JNI escritas en C, querrás decir.

Comprendo que el Java como lenguaje te guste, es fácil y no tienes que pensar casi nada, pero su rendimiento es penoso, y además está encorsetado a más no poder.

A mi me gusta JAVA, y me gusta C/C++ y me gusta VHDL y MATLAB y todos los lenguajes con los que trabajo y he trabajado. Ese es el tema, al tener tanta experiencia sé de lo que hablo. Gracias.

^MiSaTo^
23/04/2012, 11:47
Vamos a ver, sí, java ha mejorado un huevo ... pero por favor no negueis la evidencia
Yo tb llevo un huevo de años trabajando con ello, especialmente para temas web (y ahora con Android) y ***** no hay color en usar JSPs a usar PHP. Si es un proyecto pequeño vale, pero para algo crítico de recursos lo siento pero yo no uso Java, porque me ha demostrado comer recursos como un monstruo en muchas situaciones.
Como digo para el proyecto tochisimo que he comentado antes se probó con J2EE (y obviamente el tomcat) y comia bastantes más recursos que cuando cambiamos a Apache normal + php.
Y que conste que a mi java me gusta mucho, desarrollo muy rápido, es muy útil y sobre todo no tiene punteros del terror (bueno internamente sí, pero digo de cara al "usuario") pero cada cosa para lo que es. No seais fanáticos ;)

PD. Tb me gusta mucho C++ pero tampoco lo usaría para una web xD

josepzin
23/04/2012, 12:01
Para una web lo mejor es Joomla, todo muy optimizado y fácil para el usuario :D :D :D :D y :D

^MiSaTo^
23/04/2012, 12:12
Para una web lo mejor es Joomla, todo muy optimizado y fácil para el usuario :D :D :D :D y :D

Mejor Mambo PHP-Nuke xD

Nathrezim
23/04/2012, 12:20
Una pregunta, ¿PHP escala igual de bien y de transparente como Java?

http://www.dosideas.com/noticias/java/271-introduccion-a-terracotta.html

jduranmaster
23/04/2012, 18:12
He leído tu post. Entero. Tranquilo. No quiero iniciar un flame ni que nos pelemos.
Si a ti te gusta Java, será porque cubre tus necesidades al 100%. A mi me las cubre al 50%, sólo lo uso para UIs y cosillas menores.
Me alegra que tengas experiencia y sepas de lo que hablas.
Supongo que tú también has desarrollado un motor 3d desde cero, sin mas dependencias que SDL y OpenGL, y que tienes experiencia creando compiladores a partir del código del GNU C y del Jikes.
En momento alguno he puesto en duda tu experiencia.
Si te has sentido ofendido, que sepas que la intención no es criticarte, si no criticar a Sun y a su marketing de dudosa moralidad.
[apacigueitor]

no me siento ofendido, en todo caso veo que tu si que te has sentido ofendido, y repito si hibueses leido mi post sabrías cual mi opinión al respecto de C/C++ el cual uso prácticamente a diario. Los lenguajes están ahí para estrujarlos al máximo cuando toca, si Java solo te resuelve el 50% de tus problemas será porque no necesitabas más pero Java cumple 100% con todo lo que he puesto en mi post. Y C/C++ cumple 100% con todo lo que he puesto en mi post. Así que te recomiendo una vez más que leas mi post por si todavía no te queda claro, que veo que no.

Por mi parte nada más.

Bizkaitarra
24/04/2012, 08:25
Yo después de leer el post y los debates varios, para servicio de hosting por el tema de soporte te recomiendo Dinahosting.

Es algo caro pero el servidor está aqui y tienen soporte 24 horas en castellano, vía chat, vía teléfono gratuito, vía skype...

Nosotros es el que usamos y estamos pensando en ofrecer colaboraciones y así