<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hosting Al Descubierto</title>
	<atom:link href="http://hostingaldescubierto.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://hostingaldescubierto.com/wordpress</link>
	<description>Ayuda plesk  hosting, servidores dedicados y virtuales. ¿ problemas con spam, migraciones, installar aplicaciones ? podemos ayudarte</description>
	<lastBuildDate>Thu, 19 Aug 2010 15:48:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>[softaculous]  &#8220;ERROR LOADING DATA&#8221;</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/08/19/softaculous-error-loading-data/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=softaculous-error-loading-data</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/08/19/softaculous-error-loading-data/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 15:48:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/08/19/softaculous-error-loading-data/</guid>
		<description><![CDATA[Softacolous es un software para autoinstalar software en los paneles de alojamiento. Como el application vault de plesk, instalar paquetes como wordpress, joomla, etc&#8230; con un sólo click es un alivio para los administradores y para los clientes y esta compañía es en lo que se enfoca, en facilitar la vida de los de usuarios. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.softaculous.com/" target="_blank">Softacolous</a> es un software para autoinstalar software en los paneles de alojamiento. Como el application vault de plesk, instalar paquetes como wordpress, joomla, etc&#8230; con un sólo click es un alivio para los administradores y para los clientes y esta compañía es en lo que se enfoca, en facilitar la vida de los de usuarios. La version gratuita tiene 60 scripts y la de pago 146 paquetes de software. Es interesante al menos valorar si puede cuadrarnos en nuestra oferta a clientes.</p>
<p>En una prueba e instalación con Plesk 9.3 y Debian, hemos tenido un problema en la instalación con este error &#8221; ERROR LOADING DATA &#8220;. La experencia con el soporte técnico ha sido bastante buena, en 24-48 horas han estado contestandonos enviandonos un fichero php para realizar comprobaciones. Después de unos dias hemos dado con el problema.</p>
<p>Al parecer ( por que su script viene cifrado con ioncube y sólo hablamos de suposiciones )  su script ejecuta comandos usando system() o exec() e invocando a php en consola. El problema viene ocasionado por permisos de propietario y safe_mode:</p>
<pre>
Warning: file_get_contents(): SAFE MODE Restriction in effect. The
script whose uid is 0 is not allowed to access
/var/softtmp/0ae5f781a1f5e65fc712cc66b4b9f8de owned by uid 1001 in
/opt/psa/admin/htdocs/modules/softaculous/load.php on line 11 Warning:
file_get_contents(/var/softtmp/0ae5f781a1f5e65fc712cc66b4b9f8de):
failed to open stream: Inappropriate ioctl for device in
/opt/psa/admin/htdocs/modules/softaculous/load.php on line 11
&lt;pre&gt;

Así que la solución ha sido desactivar safe_mode en /etc/php5/cli/php.ini de esta forma ha funcionado.</pre>
</pre>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/08/19/softaculous-error-loading-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[debian] 17 años de Gnu</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/08/17/debian-17-anos-de-gnu/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=debian-17-anos-de-gnu</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/08/17/debian-17-anos-de-gnu/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 07:55:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/08/17/debian-17-anos-de-gnu/</guid>
		<description><![CDATA[Ayer 16 de Agosto de 2010, la distribución GNU/Linux Debian, ha cumplido 17 años. Podeis felicitarla en http://thank.debian.net/]]></description>
			<content:encoded><![CDATA[<p>Ayer 16 de Agosto de 2010, la distribución GNU/Linux Debian, ha cumplido 17 años.<br />
Podeis felicitarla en <a href="http://thank.debian.net/" target="_blank">http://thank.debian.net/</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/08/17/debian-17-anos-de-gnu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[navegadores] comparativa de velocidad de carga de navegadores</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/08/10/navegadores-comparativa-de-velocidad-de-carga-de-navegadores/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=navegadores-comparativa-de-velocidad-de-carga-de-navegadores</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/08/10/navegadores-comparativa-de-velocidad-de-carga-de-navegadores/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 22:38:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/08/10/navegadores-comparativa-de-velocidad-de-carga-de-navegadores/</guid>
		<description><![CDATA[He encontrado este curioso gráfico comparativo de rendimiento de los navegadores. Curiosamente Chrome queda el primero y firefox el segundo]]></description>
			<content:encoded><![CDATA[<p>He encontrado este curioso gráfico comparativo de rendimiento de los navegadores. Curiosamente Chrome queda el primero y firefox el segundo <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="attachment_396" class="wp-caption alignnone" style="width: 899px"><a href="http://hostingaldescubierto.com/wordpress/wp-content/uploads/2010/08/15-03_performance_comparison_of_web_browsers_large.jpg"><img class="size-large wp-image-396" title="15-03_performance_comparison_of_web_browsers_large.jpg" src="http://hostingaldescubierto.com/wordpress/wp-content/uploads/2010/08/15-03_performance_comparison_of_web_browsers_large-889x1024.jpg" alt="comparativa rendimiento navegadores" width="889" height="1024" /></a><p class="wp-caption-text">comparativa rendimiento navegadores</p></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/08/10/navegadores-comparativa-de-velocidad-de-carga-de-navegadores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ideas de cómo elegir una empresa de hosting para dominios</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/08/02/ideas-de-como-elegir-una-empresa-de-hosting-para-dominios/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ideas-de-como-elegir-una-empresa-de-hosting-para-dominios</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/08/02/ideas-de-como-elegir-una-empresa-de-hosting-para-dominios/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 16:10:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Empresas]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/08/02/ideas-de-como-elegir-una-empresa-de-hosting-para-dominios/</guid>
		<description><![CDATA[Aprovechando una respuesta en el blog de Leon Labs os pongo aquí la parrafada que le he dejado. Son ideas generales que usaría para valorar un buen hoster ( sólo en el caso de dominios ) con el que espero que contribuya alguién con un comentario Puntos a tener en cuenta para elegir un hoster: [...]]]></description>
			<content:encoded><![CDATA[<p>Aprovechando una respuesta en el blog de <a href="http://www.leon-labs.net/como-comenzar-un-blog-profesional/claves-escoger-hosting" target="_blank">Leon Labs</a> os pongo aquí la parrafada que le he dejado. Son ideas generales que usaría para valorar un buen hoster ( sólo en el caso de dominios ) con el que espero que contribuya alguién con un comentario <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Puntos a tener en cuenta para elegir un hoster:</strong></p>
<ul>
<li> Asistencia técnica: El problema es que no hay nada que certifique esto, te tienes que basar un poco en las experiencias de los demás ( cada una será distinta ). Hay tener muy en cuenta hasta donde llega la asistencia y donde se empieza a cobrar. Es muy cómodo creer que te lo van a hacer todo gratis y exigir, pero las cosas no son así <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
</ul>
<ul>
<li> S.L.A : los SLA ( Service Level Agreement, SLA ) o contratos en los que te aseguran que te indemnizan si cae la linea&#8230;. son muy bonitos si tienes una megainfraestructura. Para un cliente de hosting, una caida de unas horas o un día , puede suponer que te devuelvan 10 euros, por que va en porcentaje a lo que pagas <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , por lo que yo volvería al punto 1 , prefiero estar bien informado de lo que pasa con mi incidencia, que me den alternativas y planificar y hablar con mis clientes antes que me paguen 10 euros por las molestias.</li>
</ul>
<ul>
<li>Tiempos de acceso: es muy recomendable que te den alguna IP donde estaría alojado tu servicio y si no lo buscas, por el AS en ripe o por algún dominio conocido o lo buscas con las domain tools de http://www.domaintools.com/ lánzales unas trazas y ves los saltos y los tiempos de respuesta. Encontrarás de todo, pero unos 30-40 ms está más que de sobra. Piensa también lo que quieras pagar.</li>
</ul>
<ul>
<li>Velocidad = posicionamiento. Sí y no, puedes tener un ping muy bajo pero tu servidor apache no abrir ni los lunes por la mañana. Hay optimizar y parametrizar el servidor, y todo depende de las webs que tengas alojadas dentro.</li>
</ul>
<ul>
<li>Cuántos dominios vas a usar: normalmente tenemos entre 2 y 5 dominios con la esperanza de dar un pelotazo con alguno o revenderlo y luego na. Así que mejor elegir un plan de multidominio que empieza a ser el producto que se vende. eso sí, un poco más caro, claro.</li>
<li>Normalente los dominios los puedes contratar con otra empresa así que tampoco te hace falta que estén baratos en esa empresa. Sólo contrata lo que necesites.</li>
</ul>
<ul>
<li>Bases de datos: olvidate de buscar cosas como postgres o firebird, etc&#8230; tira de mysql 5 con phpmyadmin. Si necesitas algo más tocho vete a un virtual o un dedicado.Hay mucha gente que se quiere conectar en remoto a los mysql de los servidores con su aplicación GUI favorita. Yo personalmente lo veo una pérdida de tiempo y de recursos. Si estás en un entorno en producción, haz los cambios en desarrollo y sube a producción, para subir unos ficheros sql no te hace falta mucho más.</li>
</ul>
<ul>
<li>Seguridad en el hosting. Esto es muy importante y casi nadie le presta atención. He oido un millón de veces la frase : &#8221; en el ordenador de mi casa me funciona y aquí no &#8220;. La mayoría de la gente no se da cuenta de que el nivel de pereza y dejadez del manteniento provoca intrusiones en los servidores que acaban generando en la mayoría de los casos  spam, phising y ataques de denegacion de servicio . Para evitar en un 90% estos casos y evitar perjuicios a ti y a tus vecinos de hosting se tienen que poner medidas de seguridad. Esto incluye mod_security, activar safe_mode, desactivar allow_url_fopen,  desactivar curl, etc, etc, etc &#8230; Muchas veces son incómodas pero indican que por lo menos se preocupan de la seguridad. Yo pediría ayuda técnica a la empresa para solventar estos problemas, pero no me resignaría a trabajar con ellos.</li>
</ul>
<ul>
<li>Acceso a logs: importantísimo, que tengas unos logs donde mirar qué pasa con tu aplicación web, si no puedes estar dando vueltas durante días.</li>
</ul>
<ul>
<li>Copias de seguridad: Entérate bien de sí hay copias de seguridad por parte de la empresa, de si te va a costar dinero usar sus copias y de qué sistema tienes para hacerte tus copias. Siempre hazte las tuyas propias por si acaso.</li>
</ul>
<ul>
<li>Y para terminar, un panel decente: que sea fácil e intuitivo y sobre todo que funcione. Da igual que se bonito o no, que funcione , que funcione !!!</li>
</ul>
<p>Espero dar pie a una larga e interesante discusión que se repite cada año como la discusión entre los diplomados y no diplomados <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/08/02/ideas-de-como-elegir-una-empresa-de-hosting-para-dominios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30 de Julio día del SysAdmin</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/07/30/30-de-julio-dia-del-sysadmin/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=30-de-julio-dia-del-sysadmin</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/07/30/30-de-julio-dia-del-sysadmin/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 10:20:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[servidores]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/07/30/30-de-julio-dia-del-sysadmin/</guid>
		<description><![CDATA[Felicidades a todos los administradores de sistemas, incluyendo a los BOFH http://www.sysadminday.com/]]></description>
			<content:encoded><![CDATA[<p>Felicidades a todos los administradores de sistemas, incluyendo a los BOFH <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a target="_blank" href="http://www.sysadminday.com/">http://www.sysadminday.com/</a></p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/07/30/30-de-julio-dia-del-sysadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[php] Depurando / Profiling en php ( II )</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/07/28/php-depurando-profiling-en-php-ii/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-depurando-profiling-en-php-ii</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/07/28/php-depurando-profiling-en-php-ii/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 23:42:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Soporte]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[apd]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/?p=371</guid>
		<description><![CDATA[En este caso analizamos un hecho real, una web que tarda en cargar aleatoriamente entre 10 y 12 segundos. El problema es que al medir los tiempos en otro servidor no llega a 2 segundos. Después de revisar conectividad, carga de sistema, carga de apache &#8230; y demás parámetros habituales; todo estaba perfecto. Así que [...]]]></description>
			<content:encoded><![CDATA[<p>En este caso analizamos un hecho real, una web que tarda  en cargar aleatoriamente entre 10 y 12 segundos. El problema es que al medir los tiempos en otro servidor no llega a 2 segundos. Después de revisar conectividad, carga de sistema, carga de apache &#8230; y demás parámetros habituales; todo estaba perfecto. Así que decidimos relizar el profiling de la web para localizar el cuello de botella dentro de los scripts php.</p>
<p>En el artículo anterior <a href="http://hostingaldescubierto.com/wordpress/2010/07/23/php-depurando-profiling-en-php-i/">[php] Depurando / Profiling en php ( I )</a> dejamos instalado el módulo APD para capturar la información necesaria y luego procesarla. Recordamos que hay que usar la función <span style="color: #000000;"> <em>apd_set_pprof_trace();</em></span> para que se generen los datos. En nuestro caso hemos seleccionado la ruta /tmp en donde se almacenarán estos ficheros.</p>
<p>Ejecutamos unos cuantas veces el script php que nos interesa. Generamos una captura de una ejecución en 1-2 segundos (<em>/tmp/pprof.32231.1</em>) y seguimos ejecutando hasta que conseguimos una captura de datos de una ejecución que tardó unos 10-11 segundos (<em>/tmp/pprof.01666.0</em>)</p>
<p>Vamos a comparar la captura de los datos :</p>
<p>La ejecución buena :</p>
<pre># pprofp -R /tmp/pprof.32231.1

Trace for /var/www/vhosts/hostingaldescubierto.com/httpdocs/index.php
Total Elapsed Time = 0.36
Total System Time  = 0.03
Total User Time    = 0.07

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.0 0.00 0.36  0.00 0.07  0.00 0.03     1  0.0000   0.3589            0 main
96.1 0.00 0.34  0.00 0.08  0.00 0.03     5  0.0000   0.0690            0 require_once
59.1 0.00 0.21  0.00 0.01  0.00 0.00     8  0.0000   0.0265            0 include
58.9 0.00 0.21  0.00 0.01  0.00 0.00     1  0.0000   0.2113            0 call_user_func_array
58.9 0.00 0.21  0.00 0.01  0.00 0.00     1  0.0000   0.2113            0 Pages-&gt;index
58.9 0.00 0.21  0.00 0.01  0.00 0.00     1  0.0000   0.2112            0 Pages-&gt;show
58.9 0.00 0.21  0.00 0.01  0.00 0.00     1  0.0000   0.2112            0 Template-&gt;build
58.8 0.00 0.21  0.00 0.01  0.00 0.00     2  0.0000   0.1054            0 MY_Loader-&gt;view
58.6 0.00 0.21  0.00 0.01  0.00 0.00     2  0.0000   0.1052            0 MY_Loader-&gt;_ci_load
56.8 0.00 0.20  0.00 0.00  0.00 0.00     1  0.0000   0.2038            0 weather_google_api
56.8 0.20 0.20  0.00 0.00  0.00 0.00     1  0.2037   0.2037            0 simplexml_load_file
29.4 0.00 0.11  0.00 0.05  0.00 0.02     1  0.0000   0.1054            0 Pages-&gt;Pages
29.2 0.00 0.10  0.00 0.05  0.00 0.02     1  0.0000   0.1048            0 Pages-&gt;Public_Controller
13.9 0.00 0.05  0.00 0.03  0.00 0.02     1  0.0000   0.0497            0 Pages-&gt;MY_Controller
13.4 0.00 0.05  0.00 0.02  0.00 0.03     2  0.0000   0.0241            0 MY_Loader-&gt;_ci_autoloader
12.2 0.00 0.04  0.00 0.01  0.00 0.00     3  0.0000   0.0146            0 Banners_model-&gt;get_by_section
11.7 0.00 0.04  0.00 0.00  0.00 0.00    25  0.0000   0.0017            0 CI_DB_mysql_driver-&gt;query
11.5 0.00 0.04  0.00 0.01  0.00 0.00     6  0.0000   0.0069            0 Banners_model-&gt;add_hit
11.4 0.04 0.04  0.03 0.03  0.01 0.01    65  0.0006   0.0006            0 defined
10.9 0.00 0.04  0.00 0.00  0.00 0.00    25  0.0000   0.0016            0 CI_DB_mysql_driver-&gt;simple_query
</pre>
<p>El fichero de 10-12 segundos : </p>
<pre># pprofp -R /tmp/pprof.01666.0

Trace for /var/www/vhosts/hostingaldescubierto.com/httpdocs/index.php
Total Elapsed Time = 10.34
Total System Time  = 0.02
Total User Time    = 0.08

Real         User        System             secs/    cumm
%Time (excl/cumm)  (excl/cumm)  (excl/cumm) Calls    call    s/call  Memory Usage Name
--------------------------------------------------------------------------------------
100.1 0.00 10.35  0.00 0.09  0.00 0.02     5  0.0000   2.0692            0 require_once
100.0 0.00 10.34  0.00 0.08  0.00 0.02     1  0.0000   10.3394            0 main
99.1 0.00 10.24  0.00 0.01  0.00 0.00     8  0.0000   1.2802            0 include
99.0 0.00 10.24  0.00 0.01  0.00 0.00     1  0.0000   10.2409            0 call_user_func_array
99.0 0.00 10.24  0.00 0.01  0.00 0.00     1  0.0000   10.2409            0 Pages-&gt;index
99.0 0.00 10.24  0.00 0.01  0.00 0.00     1  0.0000   10.2409            0 Pages-&gt;show
99.0 0.00 10.24  0.00 0.01  0.00 0.00     1  0.0000   10.2409            0 Template-&gt;build
99.0 0.00 10.24  0.00 0.01  0.00 0.00     2  0.0000   5.1202            0 MY_Loader-&gt;view
99.0 0.00 10.24  0.00 0.01  0.00 0.00     2  0.0000   5.1200            0 MY_Loader-&gt;_ci_load
99.0 0.00 10.23  0.00 0.00  0.00 0.00     1  0.0000   10.2335            0 weather_google_api
<strong>99.0 10.23 10.23  0.00 0.00  0.00 0.00     1  10.2333   10.2333            0 simplexml_load_file</strong>
0.7 0.00 0.08  0.00 0.06  0.00 0.01     1  0.0000   0.0766            0 Pages-&gt;Pages
0.7 0.00 0.08  0.00 0.05  0.00 0.01     1  0.0000   0.0761            0 Pages-&gt;Public_Controller
0.5 0.00 0.05  0.00 0.04  0.00 0.01     2  0.0000   0.0266            0 MY_Loader-&gt;_ci_autoloader
0.5 0.00 0.05  0.00 0.04  0.00 0.01     1  0.0000   0.0524            0 Pages-&gt;MY_Controller
0.4 0.04 0.04  0.04 0.04  0.01 0.01    65  0.0006   0.0006            0 defined
0.4 0.00 0.04  0.00 0.02  0.00 0.01    38  0.0000   0.0010            0 MY_Loader-&gt;helper
0.3 0.00 0.04  0.00 0.03  0.00 0.00    10  0.0000   0.0036            0 MY_Loader-&gt;model
0.3 0.00 0.03  0.00 0.02  0.00 0.01     1  0.0000   0.0312            0 Pages-&gt;Controller
0.3 0.00 0.03  0.00 0.02  0.00 0.01     1  0.0000   0.0311            0 Pages-&gt;_ci_initialize
</pre>
<p>Vemos claramente esta linea que es la que penaliza el tiempo de ejecución del script:</p>
<pre><strong>99.0 10.23 10.23  0.00 0.00  0.00 0.00     1  10.2333   10.2333            0 simplexml_load_file</strong></pre>
<p>Perfecto, ya sabemos lo que tenemos que buscar el uso de la función <strong>simplexml_load_file</strong>. Buscamos los ficheros que usan esta funcion, por ejemplo así :</p>
<pre>find -name "*php" -exec grep -l simplexml_load_file {} \;</pre>
<p>Entre los resultados encontramos uno, que llama especialmente la atención, en el que solicita un fichero xml de google <strong>http://www.google.com/ig/api?weather=madrid&amp;oe=utf-8</strong>.<br />
Vamos a medir cuanto tiempo tarda en descargarlo :</p>
<pre># time wget 'http://www.google.com/ig/api?weather=madrid&amp;oe=utf-8'
--2010-07-26 18:27:47--  http://www.google.com/ig/api?weather=madrid&amp;oe=utf-8
Resolving www.google.com... 66.249.92.104
Connecting to www.google.com|66.249.92.104|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/xml]
Saving to: `api?weather=madrid&amp;oe=utf-8.1'

[ &lt;=&gt;                                                                                                                                      ] 1,291       --.-K/s   in 0s

2010-07-26 18:27:57 (12.0 MB/s) - `api?weather=madrid&amp;oe=utf-8.1' saved [1291]

real    0m10.157s
user    0m0.002s
sys    0m0.001s</pre>
<p>Parece bastante claro que la ejecución se ralentiza por la petición a google&#8230; una caché que se actualice cada día, hora o cada minuto solucionaría este problema.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/07/28/php-depurando-profiling-en-php-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[xinetd] FAIL: smtp per_source_limit from</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/07/27/xinetd-fail-smtp-per_source_limit-from-2/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=xinetd-fail-smtp-per_source_limit-from-2</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/07/27/xinetd-fail-smtp-per_source_limit-from-2/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 09:56:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Plesk]]></category>
		<category><![CDATA[imap]]></category>
		<category><![CDATA[inetd]]></category>
		<category><![CDATA[xinetd]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/07/27/xinetd-fail-smtp-per_source_limit-from-2/</guid>
		<description><![CDATA[Otro caso común es que los clientes que usan IMAP padecen errores de desconexión al chequear la cuenta. En Outlook por ejemplo aparece este error: (0x8004DF0B): &#8216; Outlook no puede descargar la carpeta (null) del servidor de correo electrónico IMAP para la cuenta hostingaldescubierto. Error : la conexión con el servidor no está disponible. Outlook [...]]]></description>
			<content:encoded><![CDATA[<p>Otro caso común es que los clientes que usan IMAP padecen errores de desconexión al chequear la cuenta. En Outlook por ejemplo aparece este error:</p>
<p><em>(0x8004DF0B): &#8216; Outlook no puede descargar la carpeta (null) del servidor de correo electrónico IMAP para la cuenta hostingaldescubierto. Error : la conexión con el servidor no está disponible. Outlook debe estar en linea o conectado para completar esta acción. Si sigue recibiendo ste mensaje, póngase ne contacto con el adminsistrador del servidor o con el proveedor de servicios de Internete (ISP).&#8217;</em></p>
<p><img style="max-width: 800px;" src="http://hostingaldescubierto.com/wordpress/wp-content/uploads/2010/07/xinetd-imap-conexiones1.jpg" alt="" /></p>
<p>El servicio imap limita el número de conexiones concurrentes desde una misma ip y en aplicaciones como thunderbird que abre varios threads o en oficinas con varios puestos de trabajo podemos llegar a usar el máximo de conexiones permitidas. Para verificarlo, podemos buscar en el fichero messages ( ejemplo de una instalación con CentOS ) :</p>
<pre>grep xinet messages | egrep -v "(START|EXIT)"

Jul 25 08:03:09 host05 xinetd[14777]: warning: can't get client address: Connection reset by peer
Jul 25 09:59:07 host05 xinetd[9558]: warning: can't get client address: Connection reset by peer
Jul 25 11:21:46 host05 xinetd[30946]: FAIL: smtp per_source_limit from=69.63.178.184
Jul 25 11:21:52 host05 xinetd[30946]: FAIL: smtp per_source_limit from=69.63.178.184
Jul 25 11:21:53 host05 xinetd[30946]: FAIL: smtp per_source_limit from=69.63.178.184
Jul 25 15:16:25 host05 xinetd[27990]: warning: can't get client address: Connection reset by peer
Jul 25 15:16:25 host05 xinetd[27991]: warning: can't get client address: Connection reset by peer
Jul 25 16:37:20 host05 xinetd[32733]: warning: can't get client address: Connection reset by peer
</pre>
<p>y buscamos el número de conexiones posibles:</p>
<pre>grep MAXPERIP /etc/courier-imap/imapd
MAXPERIP=4</pre>
<p>Con lo que vemos que el máximo de conexiones son 4 por IP, lo ampliamos manualmente como más nos guste y reiniciamos el servicio.</p>
<pre>/etc/init.d/courier-imap restart
 Stopping Courier-IMAP server:
 Stopping imap                                           [  OK  ]
 Stopping imap-ssl                                       [  OK  ]
 Stopping pop3                                           [  OK  ]
 Stopping pop3-ssl                                       [  OK  ]

Starting Courier-IMAP server:
 Starting imapd                                          [  OK  ]
 Starting imap-ssl                                       [  OK  ]
 Starting pop3                                           [  OK  ]
 Starting pop3-ssl                                       [  OK  ]
</pre>
<p>Este caso suele ser muy típico en instalaciones con Plesk.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/07/27/xinetd-fail-smtp-per_source_limit-from-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[php] Depurando / Profiling en php ( I )</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/07/23/php-depurando-profiling-en-php-i/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-depurando-profiling-en-php-i</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/07/23/php-depurando-profiling-en-php-i/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 16:50:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[servidores]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[profiling]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/07/23/php-depurando-profiling-en-php-i/</guid>
		<description><![CDATA[Para poder diagnosticar qué sucede en la máquina cuando se ejecuta un script en php es necesario instalar un depurador o profiler. En este caso instalamos Advanced Php Debugger. En máquinas Centos, como es usual no lo tenemos en el repositorio así lo instalaremos manualmente usando &#8216;pecl&#8216; que lo provee el paquete de php-pear . [...]]]></description>
			<content:encoded><![CDATA[<p>Para poder diagnosticar qué sucede en la máquina cuando se ejecuta un script en php es necesario instalar un depurador o profiler. En este caso instalamos <a target="_blank" href="http://php.net/manual/en/book.apd.php">Advanced Php Debugger</a>.</p>
<p>En máquinas Centos, como es usual no lo tenemos en el repositorio así lo instalaremos manualmente usando &#8216;<b>pecl</b>&#8216; que lo provee el paquete de php-pear .</p>
<pre>
pecl install apd
</pre>
<p>Será necesario tener instalado <b>make</b>, <b>gcc</b>&nbsp; y <b>autconf</b></p>
<p>Nos podemos encontrar con este error :</p>
<pre>
# pecl install apd
WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
downloading apd-1.0.1.tgz ...
Starting to download apd-1.0.1.tgz (36,643 bytes)
..........done: 36,643 bytes
15 source files, building
running: phpize
Configuring for:
PHP Api Version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20041225
Zend Module Api No:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20060613
Zend Extension Api No:&nbsp;&nbsp; 220060519
building in /var/tmp/pear-build-root/apd-1.0.1
running: /tmp/pear/download/apd-1.0.1/configure
checking for egrep... grep -E
checking for a sed that does not truncate output... //bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
ERROR: `/tmp/pear/download/apd-1.0.1/configure' failed
</pre>
<p>Normalmente es debido a que tenemos <b>/var</b> y <b>/var/tmp</b> con la opcion de <b>noexec.</b> Para poder ejecutarlo correctamente pondremos temporalmente estos puntos de montaje con permisos de ejecución y luego lo restauramos:</p>
<pre>
mount -o,remount,rw,exec /var/tmp
mount -o,remount,rw,exec /tmp
pecl install apd
mount -o,remount,rw,noexec /var/tmp
mount -o,remount,rw,noexec /tmp
</pre>
<p>Nos insteresa quedarnos con este contenido para configurar el fichero .ini :</p>
<pre>
running: make INSTALL_ROOT="/var/tmp/pear-build-root/install-apd-1.0.1" install
Installing shared extensions:     /var/tmp/pear-build-root/install-apd-1.0.1/usr/lib64/php/modules/
running: find "/var/tmp/pear-build-root/install-apd-1.0.1" | xargs ls -dils
  12   1 drwxr-xr-x 3 root root   1024 Jul 23 18:33 /var/tmp/pear-build-root/install-apd-1.0.1
2057   1 drwxr-xr-x 3 root root   1024 Jul 23 18:33 /var/tmp/pear-build-root/install-apd-1.0.1/usr
4113   1 drwxr-xr-x 3 root root   1024 Jul 23 18:33 /var/tmp/pear-build-root/install-apd-1.0.1/usr/lib64
6169   1 drwxr-xr-x 3 root root   1024 Jul 23 18:33 /var/tmp/pear-build-root/install-apd-1.0.1/usr/lib64/php
8225   1 drwxr-xr-x 2 root root   1024 Jul 23 18:33 /var/tmp/pear-build-root/install-apd-1.0.1/usr/lib64/php/modules
8226 129 -rwxr-xr-x 1 root root 130196 Jul 23 18:33 /var/tmp/pear-build-root/install-apd-1.0.1/usr/lib64/php/modules/apd.so

Build process completed successfully
Installing '/usr/lib64/php/modules/apd.so'
install ok: channel://pear.php.net/apd-1.0.1
</pre>
<p>Tendremos que crear un fichero en /etc/php.d/apd.ini  con este contenido </p>
<pre>
zend_extension = /usr/lib64/php/modules/apd.so
apd.dumpdir = /tmp
apd.statement_tracing = 0
</pre>
<p>y comprobamos que el modulo carga con <b>php -m</b></p>
<pre>
#php -m

....

[Zend Modules]
Advanced PHP Debugger (APD)
Zend Optimizer
</pre>
<p>Ahora ya podemos lanzar el profiling en nuestras páginas, para ello podemos incrustar este fragmento de código y activarlo sólamente cuando accedamos nosotros y no los clientes:</p>
<pre>
 &lt;?php
 $DEBUGIPS = array('93.174.6.8','192.168.1.1');
 if(array_search($_SERVER[REMOTE_IP], $DEBUGIPS)) {
   apd_set_pprof_trace();
 }
?&gt;
</pre>
<p>Y con esto acabamos la primera parte, atentos a la segunda <img src='http://hostingaldescubierto.com/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/07/23/php-depurando-profiling-en-php-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[wordpress]  Fatal error: Call to undefined function wp() in /var/www/vhosts/dominio.tld/httpdocs/wordpress/wp-blog-header.php on line 14</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/07/16/wordpress-fatal-error-call-to-undefined-function-wp-in-varwwwvhostsdominio-tldhttpdocswordpresswp-blog-header-php-on-line-14/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress-fatal-error-call-to-undefined-function-wp-in-varwwwvhostsdominio-tldhttpdocswordpresswp-blog-header-php-on-line-14</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/07/16/wordpress-fatal-error-call-to-undefined-function-wp-in-varwwwvhostsdominio-tldhttpdocswordpresswp-blog-header-php-on-line-14/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 10:41:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Soporte]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/07/16/wordpress-fatal-error-call-to-undefined-function-wp-in-varwwwvhostsdominio-tldhttpdocswordpresswp-blog-header-php-on-line-14/</guid>
		<description><![CDATA[Al hacer una instalación nueva de wordpress, puedes contrarte con este error : Fatal error: Call to undefined function wp() in /var/www/vhosts/dominio.tld/httpdocs/wordpress/wp-blog-header.php on line 14 Es debido a que el fichero wp-config.php esté vacio o mal configurado. La mejor opción es coger el fichero wp-config-sample.php y rellenarlo a mano. Sólo hay que especificar base de [...]]]></description>
			<content:encoded><![CDATA[<p>Al hacer una instalación nueva de wordpress, puedes contrarte con este error :</p>
<pre>
Fatal error: Call to undefined function wp() in /var/www/vhosts/dominio.tld/httpdocs/wordpress/wp-blog-header.php on line 14
</pre>
<p>Es debido a que el fichero wp-config.php esté vacio o mal configurado. La mejor opción es coger el fichero <b>wp-config-sample.php</b> y rellenarlo a mano. Sólo hay que especificar base de datos, usuariom, password y host.</p>
<p>Puedes usar esta plantilla para wordpress 3.0 si no tienes nada a mano</p>
<pre>
&lt;?php

define('DB_NAME', 'nombre_base_datos');

/** MySQL database username */
define('DB_USER', 'usuario');

/** MySQL database password */
define('DB_PASSWORD', 'password');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

#
# generado automaticametne desde:
# https://api.wordpress.org/secret-key/1.1/salt/
#

define('AUTH_KEY',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'pQ&lt;@NK%: 42QBJ&amp;$bhPZZzqs!vGZ}8Ph$R&gt;j~x8}Z+V+[%]10Z~oy!N#^#/pT&amp;}l');
define('SECURE_AUTH_KEY',&nbsp; ';CT`bP|YA&gt;[+|i(Kza+*K4x&lt;[8ce(cfEzJefBUnlm$kGo=|+#MDuc+3Eka3oEcUp');
define('LOGGED_IN_KEY',&nbsp;&nbsp;&nbsp; 'Ym_wh[WKu;q_}@N$Y&lt;A?u{{W5hg3&amp;^K5`l~RTIdiO;=|TiG/BD~FMWF b^qz7L_4');
define('NONCE_KEY',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'qDwCcdk?T8-PHo pFNOu(yCUsi0^&lt;$lP05A/A=D2PZ+5|xZ&lt;-z:Z&amp;=p?7$JK:hUT');
define('AUTH_SALT',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'YTJ1VYm1m[-9),*uxvB#c@MgFBAVpf6m~8Eg._uZ(|$c-%nsM}_#3&amp;48=H_E2PY&lt;');
define('SECURE_AUTH_SALT', '{RNOa149Lnw6jyQDMJ9L%KUTXoir.R$NLO.BHO=,A]#G;=C$ OS_&gt;4ed+l}ZUpF}');
define('LOGGED_IN_SALT',&nbsp;&nbsp; '&lt;fu@&amp;qA2j&amp;NK]1RLOI 0QtH/NY%.8ufHJrwum kc9&gt;Cmv!h}pkYHU.&lt;y~1%#y09o');
define('NONCE_SALT',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'G1NkJF3E3xI_KFu|[oLk??o6GagegY(6*=Gkk!adIv%bUNnU #@7R&amp;ZI85;~R$ki');

$table_prefix&nbsp; = 'wp_';

define ('WPLANG', '');

define('WP_DEBUG', false);

if ( !defined('ABSPATH') )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; define('ABSPATH', dirname(__FILE__) . '/');

require_once(ABSPATH . 'wp-settings.php');
</pre>
<p><b>Nota: el fichero acaba sin cerrar el script php , SIN ?&gt;</b></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/07/16/wordpress-fatal-error-call-to-undefined-function-wp-in-varwwwvhostsdominio-tldhttpdocswordpresswp-blog-header-php-on-line-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian Etch 4.0 : descatalogada y obsoleta</title>
		<link>http://hostingaldescubierto.com/wordpress/2010/07/08/debian-etch-4-0-descatalogada-y-obsoleta/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=debian-etch-4-0-descatalogada-y-obsoleta</link>
		<comments>http://hostingaldescubierto.com/wordpress/2010/07/08/debian-etch-4-0-descatalogada-y-obsoleta/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 10:44:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://hostingaldescubierto.com/wordpress/2010/07/08/debian-etch-4-0-descatalogada-y-obsoleta/</guid>
		<description><![CDATA[Desde esta semana Debian Etch es historia y queda en archives.debian.org para la posteridad. Aunque el soporte acababa en Febrero de 2010 se anunció la novena actualización el 22 de Mayo de 2010. Se recomienda pasar a &#8216;stable&#8217; aunque siempre es posible modificar las fuentes apt indicando en el repositorio : deb http://archive.debian.org/debian etch main [...]]]></description>
			<content:encoded><![CDATA[<p>Desde esta semana <a href="http://lists.debian.org/20100619084642.GA26963@hymers.org.uk" target="_blank">Debian Etch es historia</a> y queda en archives.debian.org para la posteridad. Aunque el soporte acababa en Febrero de 2010 se anunció la <a href="http://www.debian.org/News/2010/20100522" target="_blank">novena actualización</a> el 22 de Mayo de 2010.</p>
<p>Se recomienda pasar a <i> &#8216;stable&#8217; </i> aunque siempre es posible modificar las fuentes apt indicando en el repositorio :</p>
<p><source><br />
deb http://archive.debian.org/debian etch main contrib non-free<br />
deb http://archive.debian.org/debian-security etch/updates main contrib non-free</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://hostingaldescubierto.com/wordpress/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://hostingaldescubierto.com/wordpress/2010/07/08/debian-etch-4-0-descatalogada-y-obsoleta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
