Foro

Rendimiento nocturno: medidas a tomar

Comunidad Umbría :: La web en general :: Rendimiento nocturno: medidas a tomar

Este hilo ha sido cerrado.
16/02/2012, 18:44
Editado: 16/02/2012, 18:49

Buenas tardes.

No es una novedad que por las noches tenemos unos importantes problemas de rendimiento en la web y que éstos provocan largos colapsos e incluso ausencia de respuesta.

Nos gustaría informar que se está trabajando duramente en solucionar definitivamente el problema. No queremos que os llevéis la falsa impresión de que nos conformamos con que la web renquee por la noche.

Tenemos dos frentes que estamos atacando:

  1. El chat es un engendro chuparrecursos. El martes retiramos el acceso al chat por la noche para verificar esta teoría y la respuesta del servidor fue infinitamente mejor. Para que os hagáis una idea si el rendimiento de un servidor se mide del 1 al 10 (siendo el 1 el mejor rendimiento posible) con chat obtenemos un rendimiento de 8, sin chat el rendimiento es 3. Estamos discutiendo alternativas e informaremos cuando tomemos una decisión. Estamos valorando pros y contras de establecer un IRC como servidor constante pero aún no lo tenemos del todo claro. Si sabéis de otra alternativa, estamos encantados de escucharos.
  2. La base de datos. Ésta es nuestra némesis, el gran enemigo que nos trae a todos de cabeza. Umbría necesita mucha base de datos y para trabajar con una base de datos tan grande necesitaríamos saber algo más de configuración y optimización de consultas. Pero somos lo que somos y hacemos todo lo posible por empollarnos todo lo que se pone delante nuestro pero, particularmente yo no doy más de mi. Sea como sea ya se nos hace difícil manejar una base de datos tan grande con la memoria tan escasa que tenemos en el servidor así que vamos a aprovechar la excusa para ampliar la memoria. Para ello tendremos que hacer dos parones del servicio: uno este fin de semana (del que ya se os ha avisado) y otro el fin de semana que viene (del que seréis convenientemente avisados). Esperamos que esto mejore considerablemente el rendimiento. Si no lo hace yo, sinceramente, me pego un tiro.

Como podéis imaginar más memoria en el servidor significa más dinero (en este caso no porque hemos conseguido una buena oferta por seis meses pero después de estos...).

Afortunadamente los carnés cubren el coste del servidor para todo el año (la nueva hornada de carnés está al caer) y eso es algo que a mi, personalmente, me hace sentir muy bien. Y desgraciadamente los carnés valen para poco más... pero para mi (hablo como usuario, es decir, es mi opinión personal no la de Umbría) esto es mucho. Os pido (nuevamente hablo de una petición personal mía, lejos de contrastarla con mis compañeros) que toméis en consideración lo que os digo a la hora de valorar si necesitáis o no renovar el carné (ahora es cuando Chemo me lapida).

¡Muchas gracias!

P.D: No quiero dejar de agradecer a javierrivera2 y a un amigo de Unai (no umbriano) su desinteresada colaboración para tratar de identificar y abordar el problema.

Puck
 
Carné Umbriano nº287
16/02/2012, 19:57

Muchas gracias por vuestros esfuerzos, la verdad es que es terrible la conexión y ya no sólo por las noches, sino por las tardes también. Acabo de perder un par de posts con el tema de "Too many connection BBQQ" o como se diga.

En mi caso la alternativa sería quitar el chat. Es muy duro, pero esto es una pagina de rol, con unos foros anexos, y si alguien quiere chat, tiene msn gtalk y un montón de recursos alternativos para ello (es mi opinión eh, que no quiero ofender a nadie).

Edit: De hecho llevo toda la tarde para poner un post... y no se siquiera si podré poner esto en el foro :S

16/02/2012, 20:02

Muy bien. Desde mi punto de vista, ya sabemos todos para que sirve realmente el carnet.
¿Que sirve para mas cosas?. Vale.
¿Que no?. Vale también.
Y tomaos un descanso gente. Mañana, mira tu por donde, es viernes. Os lo digo por si no os hubierais dado cuenta. Y ya sabemos todos para que sirven los viernes.
En cuanto a todo lo demás. Que si picos de rendimiento, que si base de datos que si chat, yo me callo lo que iba a decir pues de esas cosas, no entiendo.

Je,je,je.

Chemo
 
Demiurgo (Fundador de la web) Carné Umbriano nº1
16/02/2012, 20:05

Hum... y es posible que mientras no hagamos la ampliación de la memoria es posible tengamos que desactivar el chat umbriano temporalmente porque la cosa está realmente chunga.

Pero luego lo tenemos que reponer: ¿por qué? Porque hay gente que juega a rol por chat (yo entre ellos) y no pienso quedarme sin él. Y no me vale poner el chat para partidas y no ponerlo general, porque quedamos en las mismas. Aquí la historia es la de siempre: vamos creciendo y se nos quedan pequeños los trajes, jeje.

Sobre lo del carnet: eso ya es cosa de cada cual. No voy a poner una foto mía a lo wikipedia (sobre todo porque yo tengo cara de cabronazo y no me funciona el truco de los ojos de gato) pero prometo gastarme todo lo que recaudemos en Gasolina Super con Plomo para mi Ferrari... digo pagar el nuevo servidor ;D

El caso es que después del cambio, como siempre, esto volverá a funcionar bien (¡toquemos madera!). Para los más veteranos esto ya no es una novedad.

Y yo que sólo quería juntar a una docena de personas para jugar de vez en cuando...

En fin: paciencia estas dos semanas gente, que pronto pasamos de fase.

16/02/2012, 20:29

Me parece buena idea lo que dice Sharak de habilitar un IRC, aunque sea como algo temporal.

16/02/2012, 20:35

Ferraris.
Claaro que si hombre, claaro que si.

Si es que los colecciona y todo. Ejem. Y ya me callo por aquí y no digo nada mas. Que este es un hilo serio.

16/02/2012, 20:43

Claaro que si hombre, claaro que si.

Esos son los Bugatti Veyron oficiales de los capataces, no la Ferrari de Chemo:

Chemo
 
Demiurgo (Fundador de la web) Carné Umbriano nº1
16/02/2012, 20:48

El IRC si se monta no será temporal. Será fijo. Los Capataces pensamos que es la mejor opción aunque por ahí adelante está claro que los IRCs ya no están de moda. Estamos sopesando las alternativas (por si hay alternativas mejores y viables) y cuando lo hayamos decidido ya os informaremos, descuidad.

No desvirtuéis, que os estamos viendo (y además todo el mundo sabe que mi Ferrari está tuneado para parecer un Citröen Xsara, que la envidia es muy mala).

16/02/2012, 20:51

Cita:

Sobre lo del carnet: eso ya es cosa de cada
cual. No voy a poner una foto mía a lo
wikipedia (sobre todo porque yo tengo cara
de cabronazo y no me funciona el truco de
los ojos de gato)

Solución para los chats no tengo, pero para esto si. Amenaza a Drawnin con matar a su PJ si no te dibuja un gatito adorable recapta donaciones. Y habilita el renuevo de los carnets cuanto antes. Que a este paso lo haréis cuando no nos quede dinero.

16/02/2012, 20:56

Perdón, perdón, no me resistí a indicar que esos eran autos de otro fabricante italiano XD

No sé el motivo, obviamente, pero es cierto que esta última quincena el rendimiento de la web se ha degradado sobremanera. Errores de BBDD, no_response, están a la orden del día cuando no pasaba casi nunca antes :(

En fin, ojalá que le encuentren la vuelta para darle estabilidad, ánimo!

Lo de los chats se espera, también tengo ganas de empezar a usar la herramienta por aquí. Pero ni idea de IRC, así que no puedo opinar. Es increible que un módulo que permita el chat consuma tantos recursos; cómo hacen esas páginas que tienen "shoutbox" en la portada? No parecen lentas para nada.

Chemo
 
Demiurgo (Fundador de la web) Carné Umbriano nº1
16/02/2012, 21:00

Los shoutbox no son lo mismo. Y hay que tener en cuenta que Umbría es una página 'tocha'. No es sólo el chat: son los cientos de peticiones simultáneas que se hacen al servidor. Si no revienta por los chats lo hará por otra cosa. Es algo que tengo aprendido con los años.

Sobre la renovación de los carnés: he delegado en Unai el procedimiento, y con lo diligente que es Unai eso quiere decir que muy pronto estarán activos con mejoras a todos los niveles.

16/02/2012, 21:03

Los shoutbox no son lo mismo. Y hay que tener en cuenta que Umbría es una página 'tocha'. No es sólo el chat: son los cientos de peticiones simultáneas que se hacen al servidor. Si no revienta por los chats lo hará por otra cosa. Es algo que tengo aprendido con los años.

Por eso digo que no se nada, pensé que eran una implementación similar. Con todo el respeto ;)

Pero ha pasado algo notable en las últimas semanas que justifique la baja de estabilidad? A ver si Sharak desenchufó la refrigeración del CPU y esto solo se recalienta... (ok, el chiste es malo, pero la pregunta es de verdad).

Sobre la renovación de los carnés: he delegado en Unai el procedimiento, y con lo diligente que es Unai eso quiere decir que muy pronto estarán activos con mejoras a todos los niveles.

Excelente.

16/02/2012, 21:32

Respondiendo a la pregunta de Willen: la base de datos crece y crece y llega un momento que afecta al rendimiento. Cuando ésto ocurre intentamos reconfigurar el servidor para que la cosa vaya mejor y lo mejor que nos ocurre es que empeoramos las cosas (lo que tiene la ignorancia). Pero sobre todo, lo que ocurre, es que en determinadas épocas del año tenemos más tráfico. Ten en cuenta que las semanas anteriores eran de fiestas navideñas y se nota que el tráfico es menor.

Por otro lado yo creo que ya no vamos a desconectar el chat. De esta semana queda hoy de día comprometido. Mañana es viernes y el tráfico baja mucho y luego viene el fin de semana que no tenemos problemas. 

16/02/2012, 21:57

Si necesitáis ayuda para optimizar querys y demás, me ofrezco como apoyo.

Bien es cierto que no creo que posea mayores conocimientos que los capataces en cuanto a desarrollo (de hecho por ejemplo no se php), pero en el equipo de desarrollo en que trabajo soy "el que maneja más SQL" a pesar de tener que defenderme con la genial implementación de SQL "informix".

Dicho esto, antes de nada quisiera saber en qué lenguaje tenéis programado umbría y qué gestor de BBDD utilizáis, sobre todo para saber si mi ayuda podría ser realmente eficaz o no.

16/02/2012, 22:00

PHP+MySQL

16/02/2012, 22:05
Editado: 16/02/2012, 22:05

Personalmente creo que hacer un proyecto grande como este con php es una mala opción, y más teniendo en cuenta que tienes que tirar a BBDD a lo bruto sin ningún servidor de aplicaciones que te gestione un pool.

PHP como he dicho, no lo conozco (aun así según tengo entendido no es nada complicado), pero en la parte de BBDD puedo echar una mano con mis modestos conocimientos.

No creo que solucione nada, sinceramente, porque creo que vosotros sabéis más que yo, pero por intentarlo que no quede.

 

16/02/2012, 22:23

Buenas.

Llevo poco tiempo por aquí pero si necesitáis ayuda para el tema de la BBDD me ofrezco también. Mientras espero a que el "presi" de este país me de trabajo, puedo dedicarme a otras cosas.

Soy desarrollador principalmente de .net, pero me defiendo también con php y MySql. 

Lo dicho, si necesitáis ayuda, aquí estoy

16/02/2012, 22:28

Por cierto, no se cómo haréis las consultas para comprobar novedades en partidas y las novedades del resto de cosas. Yo propondría separarlo, porque así cada vez que un usuario pulsa f5, solo se ejecutarían la mitad de consultas a BBDD.

Vale que las consultas no sean pesadas, (ya que presupongo que vais sobre una fecha que lo mismo tenéis codificada como entero directamente para hacer un < y que tarde menos que con fechas), pero si hay que hacer una consulta para el foro, una para reseñas literarias, una para las galerías de imágenes.... ¡Son un montón! Y se pueden llenar el número de peticiones simultáneas a BBDD.

No creo que esto fuese a provocar un cambio muy significativo, pero creo que un poco se podría mejorar.

16/02/2012, 22:31

Pero todos querríamos saber las novedades tanto en partidas como en el resto de cosas, así que al final acabaríamos haciendo lo mismo pero dando a dos botones, ¿no? No sé, soy un ignorante total en la materia... >_<

Así que mejor en este tema no opino y me voy a afeitar un cactus, o algo... xD

16/02/2012, 22:54

Pero todos querríamos saber las novedades tanto en partidas como en el resto de cosas, así que al final acabaríamos haciendo lo mismo pero dando a dos botones, ¿no? No sé, soy un ignorante total en la materia... >_<

La diferencia sería que no todo el rato se estaría consultando todo.

Es decir, yo al menos, cada vez que actualizo la página en la misma hora, no lo hago por si ha aparecido una foto nueva o una reseña, lo hago por novedades de partida y por novedades del foro (en menor medida). Si eso se separasen para que hubiese que dar "a un botón" diferente para consultar cada cosa, eliminarías todas las consultas innecesarias de cosas que el usuario no necesita saber en ese momento.

Esto es teniendo en cuenta que no tengo ni idea de la cantidad de recursos que están consumiendo esas consultas, estimo que serán pocos, pero al ser varias, el problema que le veo es la concurrencia de muchas conexiones a la base de datos.

DS
 
16/02/2012, 22:59
Editado: 16/02/2012, 23:10

Yo también me ofrezco, lo mio es el postgresql, aunque no se sobre que BD funciona Umbria... a que es mysql que lo pone arriba Sharak... mysql, uff. ANIMO!

Chemo
 
Demiurgo (Fundador de la web) Carné Umbriano nº1
16/02/2012, 23:02

@Albertinizao: no quiero parecer borde pero si controlas de informática o programación sabrás que dar respuestas al vuelo sin conocer la estructura completa del sistema ni poder hacer un análisis de recursos/funcionamiento no es de gran ayuda. Agradezco tu interés pero en estos momentos te aseguro que gente muy capacitada está trabajando en el problema.

Lo mismo os digo a los demás: agradezco de verdad vuestro interés, pero os aseguro que la peña que estamos en Umbría conoce bien el terreno que pisa.

DS
 
16/02/2012, 23:06

Nadie duda de vuestra capacidad, animo! ^^

16/02/2012, 23:06

Pero albertinizao, si yo hago F5 y veo que hay novedades en el sincla, por ejemplo, y veo un hilo que me gusta, le doy para leerlo. Eso implica que al volver a la portada, tengo que volver a hacer todas las consultas de nuevo, porque se carga la página de cero. Y si no lo haces así, lo harías con Ajax. En cualquier caso, las peticiones a la bbdd no creo que disminuyesen.

Por mi parte, lo primero es decir que no soy para nada experto en bbdd. Sí, ya lo sé, no es una buena carta de presentación, pero es lo que hay (decir lo contrario sería contraprudecente).

Pero si hubiera alguna manera sencilla de que algunos usuarios pudiesemos ayudar en esa tarea, yo ya he dicho en varias ocasiones que pongo mi disponibilidad ayudar en lo que buenamente pueda. Seguramente será poco o nada comparado con los conocimientos de Sharak, Unai, javierrivera2, y muchos más, pero es lo único que puedo aportar. Sé programar en php y lo que le rodea: javascript, jquery (es una maravilla, me encanta) y mysql.

Por si sirve de algo, yo intento reducir al máximo el número de consultas a la bbdd. Prefiero una consulta con joins y guardarlo en un array (incluso en javascript, que así la memoria corre de la cuenta del usuario) que un bucle con select repetidas. Quizá esto demuestre mi ineptitud en estos temas y acabo de decir una estupidez, pero es lo que yo hago. Así podréis medir lo útil o insensata que sería mi ayuda :-)

16/02/2012, 23:13
Editado: 16/02/2012, 23:14

Nosotros sólo podemos estaros agradecidos por el esfuerzo. =)

¡Ánimo, y laceradles las espaldas a los goblins sin piedad! xD

Chemo
 
Demiurgo (Fundador de la web) Carné Umbriano nº1
16/02/2012, 23:18

Que no pesaos... que ya lo tenemos todo bajo control. ¡Sharak! ¡Cuidado con ese bug! AARGH...

Nada, en serio chicos: que más o menos estamos capeando el temporal. Gracias por vuestro interés y si necesitamos algo ya lo pedimos, pero en teoría a partir del domingo todo irá mucho mejor.

@Drawnin: A los goblins no les damos latigazos. Los tratamos con cariño y comprensión. ¿Qué clases de tiranos crees que somos? ¡Sharak! ¡Zúrrale a ese gob...! digo... dile a ese goblin que por favor sostenga el índice de la BD... ;D

16/02/2012, 23:18

@Albertinizao: no quiero parecer borde pero si controlas de informática o programación sabrás que dar respuestas al vuelo sin conocer la estructura completa del sistema ni poder hacer un análisis de recursos/funcionamiento no es de gran ayuda. Agradezco tu interés pero en estos momentos te aseguro que gente muy capacitada está trabajando en el problema.

No me lo tomo a mal, había entendido que, aunque no era el objetivo primario del hilo, se pretendía recibir también alguna idea que pudiese ayudar (ahora rebuscando no encuentro por qué había pensado eso, a si que me considero estúpido).

Soy consciente de que todos los capataces tenéis muchos más conocimientos de programación que yo, y no me gustaría que por este hilo alguien se lleve la idea equivocada de que trato de deciros "como hacer vuestro trabajo", lo he dicho (además de porque creía que lo habíais pedido), simplemente porque a veces de tanto darle vueltas a un problema, uno ignora soluciones algo más simples, y alguien que ve "fresco" el problema pese a no poder dar una solución real por desconocimiento del sistema, puede dar un punto de vista que ayude a resolver el problema.

De todas formas, habiendo comprobado que me he inventado lo de que habíais pedido "colaboración", dejo el tema.

¡Y seguid así que seguro dais con una buena solución!

16/02/2012, 23:18

Veamos... el problema que tenemos no es que no sepamos hacer las consultas a la base de datos sino que la base de datos tiene un tamaño tan grande que hay que afinar mucho con los índices para que las consultas sean eficientes. No tiene que ver tanto con el número de consultas como de la eficiencia de éstas.

Lo que necesitamos es afinar al milímetro la configuración del servidor MySQL (afinando parámetros del my.cnf) y afinar al máximo la creación de índices en las tablas y hace consultas eficientes que se aprovechen de éstos.

Si os consideráis competentes en ese terreno escribirme un MP y vemos como podéis ayudarnos. 

Os agradecemos enormemente la ayuda pero, como véis, necesitamos ayuda especialista. Para trabajo de campaña ya estamos los capataces y, por ahora, no es hay remolachas para ampliar personal.

16/02/2012, 23:43

Yo también quiero poner mis dos centavos no en la BD pero si en el rendimiento de PHP, dicen que con la tecnología de HipHop se gana bastante rendimiento, aunque debe ser bastante denso de implementar :P

17/02/2012, 00:46

¡Umbría de pago! ¡Umbría de pago!

No, ahora en serio. Creo que cerrar el chat, como han propuesto algunos no es la solución. Sí, se que no se va a hacer, pero bueno, también quiero aportar mis dos centavos. El chat es una parte importante tanto de la Comunidad como del Rol de la página. No veo que puede beneficiar en nada a la página a largo plazo el quitar el chat.

Pero bueno, lo que yo me pregunto es ¿El problema es que el servidor se queda pequeño? Sí, sé que habrá que optimizar y demás, pero después de eso... ¿No se puede mirar para pillar un servidor más grande? Total, sólo será cuestión de tiempo que esto se nos quede pequeño, y creo que cada vez es cuestión de menos tiempo lo que nos queda para que esto se nos quede pequeño.

Este hilo ha sido cerrado.