Antiguo y abandonado blog de Ricardo Galli :-(

Thursday 6/9/2007

A condiciones de uso similares, la carga de los servidores varía con el horario

Filed under: Curiosidades, Trucos, Hackerdom — gallir @ 0:42

No sé si mucha gente que administre servidores por estos lares se ha dado cuenta. Lo cuento:

  1. Un servidor tiene más o menos el mismo número de visitas y páginas vistas por unidad de tiempo entre las 12 y 24 hs (incluso se incrementa después de las 22 hs).

  2. El tráfico total por períodos también bastante similar (lógico).

  3. El servidor está más “cargado de CPU” [1] (casi el doble) a las 12, 13 ó 15 horas que a las 22 horas.

  4. El servidor necesita más memoria RAM (un 20-25%) en las primeras horas que a las últimas de la noche.

La explicación es simple y lógica aunque no deja de ser curiosa (la dejo en suspense unas horas a ver si alguien lo explica mejor de lo que haría yo, también hay una solución para minimizar este impacto, lo comenté en algún apunte anterior).

[1] No es tan exacto, me refiero al load average. No es que consuma el doble de CPU sino que la longitud media de la lista de procesos para ejecutar es casi el doble. El tamaño de esta lista depende de dos factores fundamentales: el consumo de CPU y los cambios de contexto (schedules) que se produzcan.

38 Comments

  1. uix, no en tenc gaire idea, però si em permets que tiri una pedra a l’aire, ho provaré…

    Que la càrrega sigui distinta depenent de la hora, forçosament és que passa alguna cosa dins aquestes hores… se m’ocorren vàries idees (segur que no son totes certes):
    1.- El trafic te la mateixa quantitat de visites, però son peticions de distints tipus. (robots http?)
    2.- Altres processos dins el sistema que afecten a la càrrega. (cron?)
    3.- Les condicions externes, per exemple que la xarxa (dels clients?) estigui més saturada depenent de la franja horaria. Això faria que l’apache mantengui la connecció oberta més estona, per tan… més processos apache carregats a la ram i coes més llargues per entrar a la cpu.
    4.- Un problema causat per ones radioactives provinents de l’espai exterior que relentitzen el disc dur i la velocitat dels electrons per la circuiteria integrada.

    Sí? Alguna s’acosta a la realitat? :-$

    Comment by FrIkI — Thursday 6/9/2007 @ 1:32

  2. #1.

    1. No, al menos no nos hemos dado cuenta.

    2. No, las condiciones son similares.

    3. Es ésta.

    4. Lo sospechamos, pero no tenemos evidencias :-)

    Comment by gallir — Thursday 6/9/2007 @ 1:34

  3. Tengo que echarle una ojeada por tus posts a ver si tienes escrito algún artículo sobre el “load average”. Creo que falto un pequeño dato en el problema, si el servidor se trataba de un linux. Por lo que he visto en la Wikipedia la mayoría de UNIX solo contabilizan para el load average los procesos en CPU o en espera de CPU. Mientras que el kernel de Linux contabiliza también los que están en espera por algún recurso (disco, red, etc…), eso me tenía un poco despistado (pobre excusa la mía je je..)

    Bueno, lo dicho a ver si tienes algo escrito sobre el “Load Average” porque da para mucho el temita.

    Un saludo.

    Comment by Pontifex — Thursday 6/9/2007 @ 1:46

  4. #3 http://bulma.net/body.phtml?nIdNoticia=550

    Comment by gallir — Thursday 6/9/2007 @ 1:49

  5. Gracias. Por cierto, simpático 404 al pinchar en un enlace del post :-):

    http://bulma.net/pipermail/bulmailing/2001-March/000313.html

    Comment by Pontifex — Thursday 6/9/2007 @ 2:07

  6. Humm, ¿alguien podría traducirme el punto 3 de #1? No termino de pillarlo .

    Un saludo.

    Comment by errepunto — Thursday 6/9/2007 @ 9:22

  7. Hostias! Nunca me lo había planteado y tiene toda la lógica del mundo. Un gallifante para Friki que lo ha acertado. :-)

    Lo que nos lleva a que hacer un stress test de cualquier servidor web desde una red rápida y/o desocupada no presenta resultados reales de la capacidad del servidor.

    ¿Cómo solucionar esto? ¿Simulando tráfico en la red del cliente?

    Comment by Paco Ros — Thursday 6/9/2007 @ 9:33

  8. ¿Alguien podría traducir el post de Friki para que nos podamos enterar los cazurros españoles que no conocemos dialectos ilustres? Digo yo que el hecho de que el blog esté en castellano debería ser un pista. A mi no se me ocurre poner un comentario en español en un blog inglés, pero en fin, debe ser porque soy un analfabeto.

    Comment by Españordo — Thursday 6/9/2007 @ 9:46

  9. #8: Las condiciones externas, por ejemplo que la red (¿de los clientes?) esté más saturada dependiendo de la franja horaria. Esto haría que el apache mantenga la conexión abierta más tiempo, por tanto… más procesos apache cargados en la ram y coles más largas para entrar en la cpu.

    Ah, soy un cazurro español, de Madrid para más señas, que habrá estado en Cataluña y alrededores como tres veces en su vida. Simplemente es cuestión de leer despacio y de buena voluntad. Sólo he tenido un poco de duda con això y con estona, pero se saca por el contexto.

    Comment by krollspell — Thursday 6/9/2007 @ 10:20

  10. Ah, las erratas. Donde dice coles debería decir repollos, digo colas.

    Comment by krollspell — Thursday 6/9/2007 @ 10:22

  11. Un olé! para #9 demostrando que si se quiere se puede.

    Comment by Miquel — Thursday 6/9/2007 @ 10:40

  12. #8
    http://blogs.elpais.com/photos/uncategorized/2007/09/05/108.gif

    visto en microsiervos

    Comment by dani — Thursday 6/9/2007 @ 12:07

  13. #8, ¿Dialecto? Te sugiero un DeLorean y un condensador de Fluzo (en eBay está todo) para viajar al 1936, que necesitarán redactores para el No Do.

    Por cierto, si quieres la plaza cuidado con referirte a ti como español para diferenciarte de los que hablan catalán. Si lo haces está implícito decir que no son españoles, y a los comisarios de paquito (ese con los que como tu vivian mejor) no les gustará nada.

    Comment by Benjamí — Thursday 6/9/2007 @ 13:58

  14. Un andaluz que estuvo una vez en Catalunya y nunca en Ballears tambien se entero sin problemas. Otra cosa seria responder en el mismo idioma.

    Interesante lo de la carga. Ese comportamiento no hace especialmente vulnerable a Apache a ataques DoS-DDoS?

    Comment by uno que pasaba — Thursday 6/9/2007 @ 15:18

  15. #13.. lo que no entiendo Benjamí es porqué tiene que hacer el esfuerzo #8 en entender a #1 en vez de #1 en hacerse entender a ..el resto??.. puta manía por diferenciarnes en vez de parecernos.. joder.. yo cuando leo foros en inglés y veo un post en castellano se lo traduzco si puedo o sé y santaspascuas macho… porque además me parece a mí que Antoni Villalonga i Noceras del 85 tiene que sabe escribir castellano perfectamenete vamos.. claro otra cosa es que quiera… o a tí te parecería normal que yo te hubiera escrito esto en chino cantonés..!!! y mira que os admiro

    Comment by jmt — Thursday 6/9/2007 @ 16:21

  16. > porque además me parece a mí que Antoni Villalonga i Noceras del 85 tiene que sabe escribir castellano perfectamenete vamos..

    No hay que empezar a hacer suposiciones que seguramente son falsas.

    Además ¿por qué Friki debería hacer el esfuerzo y otros no? ¿qué obligación moral o legal tiene?

    En mi casa “yo dejo” hablar en catalán, lo hacen mis amigos e incluso a veces lo hago yo. ¿Por qué debería ser distinto en mi blog?

    Comment by gallir — Thursday 6/9/2007 @ 16:37

  17. #15: no es por darle al flame ni nada de eso, pero tú forma de escribir sin puntos, comas ni mayúsculas también supone un esfuerzo adicional para el lector.

    Comment by krollspell — Thursday 6/9/2007 @ 16:48

  18. #16 .. hombre Ricardo yo no estoy diciendo que no se pueda hablar/escribir en otro idioma.. lo que digo es que, si tu post es en castellano y los demás contestamos en castellano, pues que me parece lógico que sea así, no obstante se puede escribir como uno quiera, bendita libertad.. yo personalmente leo (en catalán digo..) hasta donde puedo y sé..y la controversia es porque alguien pidió que se tradujera pero vamos.. en fín que me dá que a veces buscamos la diferencia más que la unión vaya.. y de lo que se trataría.. creo yo.. es de sumar.. con respecto a mi suposición de que Antoni Villalonga (mis saludos y respetos para él) sabe escribir en castellano.. pues sí.. es una completa y absoluta suposición, realmente no me podría imaginar que no fuera así.
    #17 Krollspell creo que con tu contestación has intentado hacerme ver que leerme puede suponer un esfuerzo y así lo entiendo.. pero no obstante permíteme que piense que ni mucho menos igual que el de traducir de otro idioma.. y bueno el ejemplo de las comas y las mayúsculas.. en fín si te fijas tiene los mismos signos más o menos que tu texto.. y sabemos todos que escribir deprisa en una pantalla tiene esas cosas.. tú has puesto una tilde en “tú forma” que no la lleva y no creo por eso que no sepas que no la lleva
    Saludos.

    Comment by jmt — Thursday 6/9/2007 @ 17:13

  19. #15 y #8 De verdad, la gente no habla en catalán para diferenciarse o molestar a nadie, lo habla porque es su idioma y por tanto la mejor manera de expresarse que tienen, como además los dos idiomas tienen la misma raíz con un esfuerzo (muy pequeño) se entiende perfectamente para los castellano-parlantes.
    Si un italiano interesado en el tema, que puede leer castellano pero no se expresa correctamente posteara aquí en su idioma, molestaría tanto? Pediríais traducciones?
    No es cuestión de diferenciarse o parecerse, creo que es más una cuestión de respetarse y entenderse.

    Comment by Pedro Marce — Thursday 6/9/2007 @ 17:16

  20. #19 touché :) (espero que no haya que traducir esto :P ) Respecto a lo del italiano, pues italiano no, pero en inglés si que han escrito aquí algunos, y no se les ha dicho nada. Y respecto a lo de separar, el primero que ha venido con mal rollete ha sido Españordo. Pero en cualquier caso es igual, el blog es de Ricardo y se lo fo… digo pone las normas que quiere. Y ya ha dejado bien claro ahora y antes que esto es bilingüe.

    Comment by krollspell — Thursday 6/9/2007 @ 17:47

  21. #15, cosas de bilingues que no queréis o podéis entender los monolingues. Si Friki habla en catalán con Ricardo, es de Mallorca, se conocen, se ven en la UIB, es normal que se siga dirigiendo a él en esta lengua. Yo me expreso mucho mejor en catalán, hablaba en catalán con Ricardo en su blog, hasta que quedé harto de los que se quejan por una lengua. Gente que se mete en las conversaciones entre amigos en blogs personales. Personas que nos tratan como si fueramos una colonia o un territorio vencido. Fascistas nostálgicos del imperialismo. Hipócritas capaces de salvar una plantita en vias de extinción pero que querrían ver aniquiladas todas las lenguas que no fuesen la suya.

    Comment by Benjamí — Thursday 6/9/2007 @ 18:06

  22. #15, en los USA: «y mira que os admiro pero soys negros»
    En España «y mira que os admiro pero habláis catalán».

    Para mi es el mismo rechazo primario hacia la parte desconocida de la diversidad. Años atrás estaba socialmente aceptado rechazar un color de piel. Con un poco de suerte dentro de unos siglos estará mal visto socialmente rechazar una lengua.

    Comment by Benjamí — Thursday 6/9/2007 @ 18:13

  23. Bueno, y volviendo sobre el tema que planteabas …
    ¿Cachés (tanto de memoria como de ficheros) que se pierden durante la noche y se van cargando a lo largo del día?
    ¿Por la mañana se entran más noticias que meneos y por la noche es al revés?

    ¿Cual es la explicación real?

    Comment by Javier — Thursday 6/9/2007 @ 18:58

  24. #23

    Es la red. Cuando Internet tiene más tráfico se producen varios efectos.

    - La conexión de cada cliente dura más esto hace que haya más procesos concurrentes del Apache.

    - Hay más sockets abiertos, lo que también consume memoria.

    - Influye en la pila TCP/IP, hay más intercambios de mensajes.

    - Todo lo anterior además hace que haya más cambios de contexto entre procesos, por lo que la “carga” es mayor.

    Comment by gallir — Thursday 6/9/2007 @ 19:02

  25. Ohhhhh deu meu!! Que pesaditos algunos con el catalán. Voy a escribir un post mixto, doncs…
    Sóc canari i vaig estar vivint aquest any quatre mesos a barcelona. Y en dos meses comprendía perfectamente el hablado (molt mes facil es l’escrit). Pero para quien no tiene buena disposición y anda con prejuicios… pues que decir. També vaig tenir un company mahonés… a el no se le entendía tan bien pero.. ya se encargaban los barcelonins de hacerle las bromas (decía “idò”).

    Bueno, pues eso, a los amigos de paco_x_españa, que hay q aprender idiomas chicos, y no ser tan cazurros (paco era muy cazurro).

    P.D. Hay un traductor cojonudo llamado http://www.internostrum.com/
    Una pista para los remolones (tradueix = traduce)

    Comment by manuel — Thursday 6/9/2007 @ 19:08

  26. #15 “me parece a mí que Antoni Villalonga i Noceras del 85 tiene que sabe escribir castellano perfectamenete”

    Si et refereixes a mi, et puc assegurar que no escric perfectament en castellà, encara que sí que el se llegir i escriure. Et volia demanar una cosa… “85″? A que ve això? Jo visc al número 83, vaig néixer al 84… si et refereixes a 8.5 polsades més o menys has encertat… el que me preocupa és que ho sabessis. :-S

    Per cert… no hem de perdre de vista una cosa. A mnm qui comanda és en Ricardo i si algú m’ha de demanar que canvii l’idioma voldria que fos ell.

    Salut i NYU!

    Comment by FrIkI — Thursday 6/9/2007 @ 19:13

  27. Una pregunta Ricardo. Entonces, ¿como ves la idea de utilizar ajax en las nuevas webs así como utilizar arquitecturas SOA y servicios web desde el punto de vista de rendimiento en el servidor?
    Gracias.

    Comment by JorgeRubira — Thursday 6/9/2007 @ 19:44

  28. Siguiendo con el tema principal, ¿hay alguna manera de minimizar el impacto de este curioso efecto? ¿Algún parámetro de configuración de apache que nos saque del apuro?

    Un saludo.

    PD: ¿Por qué a la gente le gustarán tanto discutir sin llegar a ningún lado? Será parte de la naturaleza humana…

    Comment by errepunto — Thursday 6/9/2007 @ 19:46

  29. #27 y #28

    - Para minimizar este impacto lo mejor que se puede hacer es comprimir el html generado. Así lo hacemos en el menéame desde hace meses y la verdad que no podía creer la diferencia: http://mnm.uib.es/gallir/posts/2006/12/11/905/

    Por supuesto también vale todo lo demás:

    - Minimizar tamaño de imágenes.
    - Minimizar el número de conexiones necesarias (reduciendo el número de ficheros que tienen que bajar).
    - Si tienes muchas imágenes (o ficheros estáticos), servir las mismas con un servidor más ligero y dejar el Apache sólo para la parte dinámica.

    También es muy importante reducir el tiempo de procesamiento de cada scripts (en eso fui muy cuidadoso con el menéame). Por ejemplo tener conexiones persistentes con la base de datos o usar el memcache para lo que tome más tiempo de generar y puedas cachear: http://blog.meneame.net/2007/09/04/meneame-con-memcached/

    Comment by gallir — Thursday 6/9/2007 @ 19:54

  30. Entonces, ¿internet está más saturada al medio día que por la noche? Pensaba que sería al revés…

    Comment by unf — Thursday 6/9/2007 @ 20:56

  31. No entiendo la relación entre cambios de contexto y carga de CPU.

    La única forma de que aumente la carga de la CPU es que:

    1. Se creen más hilos.
    2. Que los hilos existentes entren más habitualmente en estado R. La única forma de que eso ocurra es debido a la actividad de E/S, por ejemplo procesamiento de tráfico de red. Si las conexiones de los clientes se vuelven más lentas, los procesos de Apache pasarán más tiempo en estado S, en lugar de estado R y, por tanto, no aumenará la carga de la CPU sino que disminuirá.

    Comment by Felipe Alfaro Solana — Friday 7/9/2007 @ 0:17

  32. #31, Felipe, ¿y por qué crees que los cambios de contexto no “consumen” cpu (más precisamente: ciclos de reloj)? De hecho el cambio de contexto es bastante “caro” (súmale el posible efecto ping-pong en varias cpus y empeora).

    > Apache pasarán más tiempo en estado S, en lugar de estado R y, por tanto, no aumenará la carga de la CPU sino que disminuirá.

    (Nota: S[suspended] === bloqueado, R[unning] === listo para ejecutar)

    Te olvidas que aunque haya más procesos bloqueados, las conexiones nuevas siguen llegando, lo que aumenta la cantidad de procesos simultáneos que deben ejecutarse igualmente

    Y finalmente como decía, el mayor “consumo” de la pila TCP/IP al tratar la congestión (ventanas más pequeñas, re-envios de paquetes, timeouts…).

    Comment by gallir — Friday 7/9/2007 @ 1:14

  33. #24, sorprendente
    Gracias

    Comment by Javier — Friday 7/9/2007 @ 12:50

  34. Pues mi caso particular, con unos cuantos millones de páginas vistas diarias, es que a las 12, 13, 14, la carga de mis servidores suele tener un load average de 0.80-0.90, y por la tarde-noche la cosa se complica una barbaridad, 1.60, 1.70, 1.80… y mi grafica de visitas es bastante parecida a la tuya de webalizer.

    Comment by Luis — Saturday 8/9/2007 @ 18:02

  35. No creo haber dicho que los cambios de contextos no consuman CPU.

    Lo que me pareció entender en uno de los comentarios era que la carga del sistema aumentaba debido a que a ciertas horas las conexiones de los clientes se volvían más lentas a causa de la saturación en sus ISP. Eso no tiene ningún sentido. Lo que dije en mi comentario anterior es que si las conexiones de los clientes se vuelven más lentas, la actividad de E/S disminuye y por ellos tanto los cambios de conexto como la actividad del sistema.

    Comment by Felipe Alfaro Solana — Sunday 9/9/2007 @ 13:00

  36. #29 ¿cómo arreglaste el problema de los CSS? O simplemente lo ignoraste ;)

    Comment by DN — Wednesday 12/9/2007 @ 17:00

  37. #36, perdona, que voy liado y no he mirado los comentarios del blog.

    Con el tema del CSS lo único que hicimos fue también comprimirlos “on-the-fly” en el apache y separa en CSS distinto aquellos que cargaban imágenes innecesarias para cada página. Por ejemplo la fisgona que tiene imágenes adicionales tiene un CSS adicional que solo se carga en esa página:

    http://meneame.net/sneak.php
    @import “/css/es/sneakcol.css”;

    Comment by gallir — Wednesday 12/9/2007 @ 18:18

  38. #37 Imperdonable… 1 hora y 18 minutos para responder!!! :P

    Interesante, y gracias por la información.

    Comment by DN — Wednesday 12/9/2007 @ 20:10

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress