Recientemente me han estado llegando correos de DreamHost, donde hospedo mis sitios de que algunos servicios se han reiniciado, pero no tenia muy claro a que se podrían referir, especialmente porque hace referencia al uso de memoria:
“Our monitoring systems show that one (or some) of your user accounts may be making your web hosting account operate inefficiently. We took a peek and noticed you’ve frequently hit the memory limits of your shared hosting plan over the last couple weeks. Each time that happens, our automated process watcher system stops the associated process which negatively impacts your website performance.
Here are the FTP/shell users on your account, alongside the number of times they’ve hit their memory limits:
snafu: 213, foo: 889
If you’re happy with the performance of your site, then we are too! Your site may continue to run into your shared hosting plan’s resource limits, and our automated system will restart your hosting processes as necessary.”
Y en alguna época ya tuve que revisar al respecto, ya que tenia más bien muchos procesos que consumían CPU, cosa que logre arreglar actualizando mis sitios y asegurándome que podían usar la versión mas nueva de php, que esta disponible, buscando como dice en la KB de DreamHost como optimizar mi sitio, me encuentro conque tengo activado en foo el análisis de uso de CPU [1]…
foo@bar:~/logs/resources$ more foo.sa.analyzed.* :::::::::::::: foo.sa.analyzed.0 :::::::::::::: Process CPU seconds user machine count average php56.cgi 1857.7200 99.589% 7.741% 164 11.328 php 4.5200 0.242% 0.019% 6 0.753 du 1.5000 0.080% 0.006% 4 0.375 mysqldump 0.8700 0.047% 0.004% 3 0.290 find 0.5400 0.029% 0.002% 11 0.049 sshd 0.1500 0.008% 0.001% 1 0.150 bash 0.0800 0.004% 0.000% 2 0.040 crontab 0.0100 0.001% 0.000% 1 0.010 perl 0.0000 0.000% 0.000% 1 0.000 perl 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 wc 0.0000 0.000% 0.000% 25 0.000 grep 0.0000 0.000% 0.000% 69 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ls 0.0000 0.000% 0.000% 22 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 more 0.0000 0.000% 0.000% 15 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sh 0.0000 0.000% 0.000% 15 0.000 ---------------------------------------------------------------------- Total: 1865.3900 100.000% 7.772% 369 Average per day: 1865.3900 1 days CPU percentage assumes 24000 cpu seconds per day total. :::::::::::::: foo.sa.analyzed.1 :::::::::::::: Process CPU seconds user machine count average php56.cgi 2085.8300 99.731% 8.691% 196 10.642 php 4.8800 0.233% 0.020% 6 0.813 mysqldump 0.7500 0.036% 0.003% 3 0.250 perl 0.0000 0.000% 0.000% 2 0.000 bash 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 sh 0.0000 0.000% 0.000% 15 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ---------------------------------------------------------------------- Total: 2091.4600 100.000% 8.714% 252 Average per day: 2091.4600 1 days CPU percentage assumes 24000 cpu seconds per day total. :::::::::::::: foo.sa.analyzed.2 :::::::::::::: Process CPU seconds user machine count average php56.cgi 1533.9300 99.564% 6.391% 223 6.879 php 5.8200 0.378% 0.024% 6 0.970 mysqldump 0.8900 0.058% 0.004% 3 0.297 perl 0.0000 0.000% 0.000% 2 0.000 bash 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 sh 0.0000 0.000% 0.000% 15 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ---------------------------------------------------------------------- Total: 1540.6400 100.000% 6.419% 279 Average per day: 1540.6400 1 days CPU percentage assumes 24000 cpu seconds per day total. :::::::::::::: foo.sa.analyzed.3 :::::::::::::: Process CPU seconds user machine count average php56.cgi 3101.5800 99.823% 12.923% 356 8.712 php 4.4400 0.143% 0.018% 6 0.740 mysqldump 1.0500 0.034% 0.004% 3 0.350 perl 0.0100 0.000% 0.000% 1 0.010 bash 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 sh 0.0000 0.000% 0.000% 15 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ---------------------------------------------------------------------- Total: 3107.0800 100.000% 12.946% 411 Average per day: 3107.0800 1 days CPU percentage assumes 24000 cpu seconds per day total. :::::::::::::: foo.sa.analyzed.4 :::::::::::::: Process CPU seconds user machine count average php56.cgi 2799.7100 99.804% 11.665% 183 15.299 php 4.6500 0.166% 0.019% 6 0.775 mysqldump 0.8400 0.030% 0.003% 3 0.280 perl 0.0000 0.000% 0.000% 2 0.000 bash 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 sh 0.0000 0.000% 0.000% 15 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ---------------------------------------------------------------------- Total: 2805.2000 100.000% 11.688% 239 Average per day: 2805.2000 1 days CPU percentage assumes 24000 cpu seconds per day total. :::::::::::::: foo.sa.analyzed.5 :::::::::::::: Process CPU seconds user machine count average php56.cgi 2790.0400 99.822% 11.625% 202 13.812 php 4.1900 0.150% 0.017% 6 0.698 mysqldump 0.7800 0.028% 0.003% 3 0.260 perl 0.0000 0.000% 0.000% 9 0.000 bash 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 sh 0.0000 0.000% 0.000% 15 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ---------------------------------------------------------------------- Total: 2795.0100 100.000% 11.646% 265 Average per day: 2795.0100 1 days CPU percentage assumes 24000 cpu seconds per day total. :::::::::::::: foo.sa.analyzed.6 :::::::::::::: Process CPU seconds user machine count average php56.cgi 2451.7000 99.793% 10.215% 287 8.543 php 4.2900 0.175% 0.018% 6 0.715 mysqldump 0.7900 0.032% 0.003% 3 0.263 perl 0.0000 0.000% 0.000% 4 0.000 bash 0.0000 0.000% 0.000% 1 0.000 dirname 0.0000 0.000% 0.000% 12 0.000 readlink 0.0000 0.000% 0.000% 3 0.000 postdrop 0.0000 0.000% 0.000% 1 0.000 which 0.0000 0.000% 0.000% 3 0.000 basename 0.0000 0.000% 0.000% 6 0.000 sendmail 0.0000 0.000% 0.000% 1 0.000 sh 0.0000 0.000% 0.000% 3 0.000 ---------------------------------------------------------------------- Total: 2456.7800 100.000% 10.237% 345 Average per day: 2456.7800 1 days CPU percentage assumes 24000 cpu seconds per day total. foo@bar:~/logs/resources$ ls -lah total 184K drwxr-xr-x 2 foo root 4.0K Aug 31 07:47 . dr-xr-x--- 15 foo dhapache 4.0K Dec 24 2011 .. -rw-r-xr-x 1 foo root 0 Jul 18 2006 access.log -rw-r-xr-x 1 foo root 0 Jul 18 2006 error.log -rwxr-xr-x 1 foo root 2.5K Mar 12 2010 sa.analysis.pl -rw-r-xr-x 1 foo root 0 Aug 31 07:47 foo.sa.analyzed -rw-r-xr-x 1 foo root 1.9K Aug 31 07:47 foo.sa.analyzed.0 -rw-r-xr-x 1 foo root 1.2K Aug 30 07:47 foo.sa.analyzed.1 -rw-r-xr-x 1 foo root 1.2K Aug 29 07:47 foo.sa.analyzed.2 -rw-r-xr-x 1 foo root 1.2K Aug 28 07:47 foo.sa.analyzed.3 -rw-r-xr-x 1 foo root 1.2K Aug 27 07:47 foo.sa.analyzed.4 -rw-r-xr-x 1 foo root 1.2K Aug 26 07:47 foo.sa.analyzed.5 -rw-r-xr-x 1 foo root 1.2K Aug 25 07:47 foo.sa.analyzed.6
Y después de revisar esto y los errores, encuentro que del 26 al 29 de agosto:
$ zgrep ModSecurity error.log.*.gz | wc 29 1097 13226 $ zgrep Premature error.log.*.gz | wc 58 828 7996
Según el propio KB, cuando se queda sin memoria php se encontraran en los logs “Premature end of script headers” y a mi me interesaba saber cuantas veces ModSecuriy detuvo un proceso, ya que estoy casi seguro que eso debe de afectar también.
Es decir me quedé 58 veces sin memoria en los procesos PHP… o al menos eso dicen los logs… entonces me quedo con la idea de que no estoy tan apretado con mi sitio, dicho sea de paso de snafu apenas active lo de la revisión del CPU tengo curiosidad de ver que tal va, según leo en la documentación se asumen como limite 300 minutos al día, en el propio reporte dice que toma 24000 segundos totales, es decir 400 minutos en mi día más ocupado utilice 3107, que son casi 52 minutos, entonces creo que estoy no tan mal.
Ya con datos de snafu, resulta que uso mucho más procesador en el mismo, estando normalmente en los 3000 segundos.
Supongo entonces que más bien me quieren vender que funciona mucho mejor su siguiente producto, el VPS, con memoria dedicada y discos duros de estado solido, lo cual es muy probable, pero el costo no me emociona.
Esto hizo que me preguntara un rato que tanto estoy hosteando e hiciera un rápido inventario de lo mismo y lo que quedo de lo que si uso:
5.61 MB rradiko.com
103.26 MB kermatronic.com
167.25 MB wiki.animeproject.org
334.77 MB historico.animeproject.org
2.01 GB anaserradilla.org
2.38 GB blografia.net
10.33 GB cobacha.animeproject.org
12.05 GB ociologia.org
22.93 GB ociologos.org
4.40 GB anime-project.org
Y después de quitar ociologia y ociologos que tienen fotos y/o mirror de sitios ya desaparecidos pero que si me interesan, casi que entro en un VPS con 20GB de disco duro de estado solido no necesariamente en DH, ya que para VPS se me ocurren opciones mejores como Digital Ocean, Linode o hasta OVH.
Pero Dreamhost me provee de un panel sin demasiadas complicaciones al que ya me acostumbre, bastante espacio, un desempeño aceptable para lo que realizo y un costo igual, el ejercicio me ayudo para pensar en un montón de cosas que debo de empezar a dejar ir, varios nombres de dominios y páginas que ya no uso y no parece que vaya a usar y un montón de archivos de respaldo de proyectos y trabajos que también ya acabaron y se acumularon con el tiempo, resultado, puedo moverme a un mejor servicio, pero tendría que dedicarle un tanto mas de trabajo sobre todo al migrar y configurar los mismos, cosa que pudiera ser útil, pero no urgente o necesario y que no tengo deseo de hacer.
La opción del VPS con DH no me conviene por el lado del costo, se va muy por encima de lo que me gustaría pagar y no me ofrece mayores beneficios que la competencia, para mis necesidades.
PS. foo corresponde con mi sitio de monos ojones animeproject y snafu con blografia, pero no me parece útil poner el nombre de servidor ni los usuarios que uso ;) ¡me lleve una sorpresa de que parece ser más popular y usar mayores recursos mi sitio de blogs que mi sitio de monos ojones!