<?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>Mundo Geek &#187; optimizacion</title>
	<atom:link href="http://mundogeek.net/etiqueta/optimizacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:09:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>El tamaño sí importa</title>
		<link>http://mundogeek.net/archivos/2010/02/16/el-tamano-si-importa-2/</link>
		<comments>http://mundogeek.net/archivos/2010/02/16/el-tamano-si-importa-2/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 10:03:54 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[paginas]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=4979</guid>
		<description><![CDATA[El tamaño es muy importante, al menos a la hora de crear una página web: cuantos menos ocupen los archivos que componen nuestra web, menos tiempo tardará en descargarlos el usuario y menos ancho de banda consumiremos. Veamos algunos métodos para ahorrar algunos kilobytes en nuestras imágenes, hojas de estilo o scripts. Reducir el tamaño [...]]]></description>
			<content:encoded><![CDATA[<p>El tamaño es muy importante, al menos a la hora de crear una página web: cuantos menos ocupen los archivos que componen nuestra web, menos tiempo tardará en descargarlos el usuario y menos ancho de banda consumiremos. Veamos algunos métodos para ahorrar algunos kilobytes en nuestras imágenes, hojas de estilo o scripts.<span id="more-4979"></span></p>
<h2>Reducir el tamaño de los PNG</h2>
<p>Últimamente, y para imágenes muy vistas, como el logo de la página, suelo utilizar este método que descubrí en su día <a href="http://en.wikipedia.org/wiki/Wikipedia:Preparing_images_for_upload#PNG_tips">en las recomendaciones sobre imágenes de la Wikipedia</a>. Necesitarás las herramientas <a href="http://advsys.net/ken/utils.htm">PNGOUT</a>, <a href="http://optipng.sourceforge.net/">OptiPNG</a>, <a href="http://www.walbeehm.com/download/">DeflOpt</a> y <a href="http://advancemame.sourceforge.net/comp-readme.html">AdvDef</a>:</p>
<p class="code">optipng -o7 imagen.png<br />
advdef -z4 imagen.png<br />
pngout /ks imagen.png<br />
deflopt imagen.png</p>
<p>Para imagenes que no van a verse tantas veces, me basta con el plugin <a href="http://registry.gimp.org/node/33">Save for web</a> para GIMP.</p>
<h2>Reducir el tamaño de los JPEG</h2>
<p>Para reducir el tamaño de las imágenes jpg podemos utilizar, por ejemplo, <a href="http://www.ijg.org/">jpegtran</a> (<a href="http://gnuwin32.sourceforge.net/packages/jpeg.htm">binarios para Windows</a>):</p>
<p class="code">jpegtran -optimize -outfile optimizada.jpg imagen.jpg</p>
<p>Este comando no provoca pérdidas respecto de la imagen original.</p>
<h2>Reducir el tamaño de los CSS</h2>
<p>El primer paso debería ser, evidentemente, eliminar las reglas obsoletas que ya no se utilizan, pero que se han mantenido en la hoja de estilo, bien por despiste o bien por dejadez. Para ello puede ser útil, por ejemplo, <a href="https://addons.mozilla.org/es-ES/firefox/addon/5392">Dust-Me Selectors</a>, una extensión para Firefox que nos informará de los selectores no utilizados en la página actual. También puede comprobar una serie de páginas listadas en un sitemap (aún no está actualizado para Firefox 3.6, así que si lo queréis usar en esta versión, podéis actualizarlo usando mi aplicación <a href="http://mundogeek.net/update-xpi/" title="Actualizar extensiones para Firefox">Update XPI</a>, por ejemplo).</p>
<p>Una vez hemos eliminado las reglas obsoletas, podemos pasar a reducir la hoja de estilo, usando propiedades de atajo, como <code>font:bold 12px verdana</code> en lugar de <code>font-weight:bold</code>, <code>font-size:12px</code> y <code>font-family:verdana</code>; eliminando comentarios o eliminando espacios en blanco innecesarios. Podemos hacer esto utilizando, por ejemplo, <a href="http://csstidy.sourceforge.net/">CSSTidy</a>:</p>
<p class="code">csstidy.exe estilo.css &ndash;&ndash;template=highest &ndash;&ndash;remove_last_;=true estilo-comprimido.css</p>
<p>Para volver a tener un css legible, de forma que podamos hacer cambios fácilmente, podemos ejecutar csstidy con las opciones por defecto:</p>
<p class="code">csstidy.exe estilo-comprimido.css estilo.css</p>
<h2>Reducir el tamaño de los JS</h2>
<p><a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>, de la librería de YUI de Yahoo!, es posiblemente la mejor opción, aunque es necesario tener instalado el JRE o el JDK de Java para poder utilizarlo:</p>
<p class="code">java -jar yuicompressor-2.4.2.jar script.js -o optimizado.js</p>
<h2>Comprimir en el servidor</h2>
<p>Al comprimir el contenido al vuelo en el servidor podemos reducir aún más el tamaño de los archivos, pero, a cambio, consumiremos más CPU y memoria en cada petición, lo que puede provocar que el servidor se colapse, o que se tarde más en servir cada petición. Por lo tanto, en este caso, es necesario sopesar si va a merecer la pena.</p>
<p>Apache cuenta con un par de módulos para comprimir el contenido en el servidor: mod_gzip y mod_deflate. mod_deflate, por defecto, comprime menos que mod_gzip, aunque es más rápido que este. Puedes comprobar si alguno de ellos está activado en tu servidor creando un archivo PHP que llame a la función phpinfo:</p>
<blockquote><p>&lt;?php phpinfo(); ?&gt;</p></blockquote>
<p>Otra opción a tener en cuenta para comprimir el contenido en el servidor es utilizar <a href="http://code.google.com/p/minify/">minify</a>, un script PHP que combina, comprime y cachea las hojas de estilo y los scripts.</p>
<p>Por último, para archivos estáticos, otra opción, sólo recomendada para gente con algún conocimiento básico sobre Apache, sería comprimir nosotros mismos los ficheros. Sólo tenemos que usar gzip para crear los archivos comprimidos</p>
<p class="code">gzip -c estilo.css &gt; estilo.css.gz</p>
<p>y editar el archivo .htaccess para que el servidor sirva las versiones comprimidas cuando el navegador del cliente mande la cabecera Accept-Encoding.</p>
<blockquote><p>AddEncoding x-gzip .gz</p>
<p>&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On</p>
<p>RewriteCond %{HTTP:Accept-Encoding} gzip<br />
RewriteCond %{REQUEST_FILENAME}.gz -f<br />
RewriteRule ^(.+)$ $1.gz [L]<br />
&lt;/IfModule&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/02/16/el-tamano-si-importa-2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Servicios de Windows 7 que puedes desactivar para mejorar el rendimiento</title>
		<link>http://mundogeek.net/archivos/2009/09/16/servicios-de-windows-7-que-puedes-desactivar-para-mejorar-el-rendimiento/</link>
		<comments>http://mundogeek.net/archivos/2009/09/16/servicios-de-windows-7-que-puedes-desactivar-para-mejorar-el-rendimiento/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 17:41:40 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=3913</guid>
		<description><![CDATA[Los servicios son aplicaciones que se ejecutan en segundo plano, de forma transparente al usuario, para proporcionar funcionalidades varias. Sin embargo hay muchos de estos servicios que puedes no necesitar, y que, sin embargo, consumen recursos en tu máquina que podrías utilizar para otros menesteres. Puedes ver una lista de los servicios instalados en tu [...]]]></description>
			<content:encoded><![CDATA[<p>Los servicios son aplicaciones que se ejecutan en segundo plano, de forma transparente al usuario, para proporcionar funcionalidades varias. Sin embargo hay muchos de estos servicios que puedes no necesitar, y que, sin embargo, consumen recursos en tu máquina que podrías utilizar para otros menesteres.</p>
<p>Puedes ver una lista de los servicios instalados en tu equipo, así como pararlos, iniciarlos o desactivarlos, en Inicio -> Panel de control -> Sistema y seguridad -> Herramientas administrativas -> Servicios.</p>
<p>Una fuente bastante buena a la que recurrir para saber qué servicios puedes desactivar de forma segura para mejorar el rendimiento es <a href="http://www.blackviper.com/" title="BlackViper">BlackViper.com</a>, que además de para Windows 7, mantiene una lista de servicios para Windows Vista, Windows XP y Windows 2000.<span id="more-3913"></span></p>
<p>Para Windows 7 los servicios que puedes desactivar sin mayores problemas son los siguientes:</p>
<ul>
<li>Windows Search (WSearch): Indexa archivos, correo electrónico y otro tipo de contenido para agilizar las búsquedas.</li>
<li>Servicio de uso compartido de red del Reproductor de Windows Media (WMPNetworkSvc): Comparte las bibliotecas del Reproductor de Windows Media con otros dispositivos multimedia y reproductores en red.</li>
<li>Captura SNMP (SNMPTRAP): Recibe mensajes del protocolo SNMP (Servicio de Protocolo simple de administración de redes) y los retransmite a los programas de administración de SNMP que se estén ejecutando en el equipo.</li>
<li>Directiva de extracción de tarjetas inteligentes (SCPolicySvc): Permite configurar el sistema para bloquear el escritorio del usuario al quitar la tarjeta inteligente.</li>
<li>Tarjeta inteligente (SCardSvr): Administra el acceso a tarjetas inteligentes leídas por el equipo.</li>
<li>Registro remoto (RemoteRegistry): Permite modificar el registro a usuarios remotos.</li>
<li>Ubicador de llamada a procedimiento remoto (RpcLocator): Utilizado para RPC en versiones anteriores de Windows. Actualmente sólo está presente por motivos de compatibilidad.</li>
<li>Parental Controls (WPCSvc): Utilizado para el control parental en Windows Vista. Se mantiene sólo por motivos de compatibilidad.</li>
<li>Archivos sin conexión (CscService): Realiza actividades de mantenimiento en la caché de archivos sin conexión, responde a eventos de inicio y cierre de sesión del usuario, implementa la información interna de la API pública y procesa eventos interesantes para los interesados en las actividades de archivos sin conexión y los cambios de estado de la caché.</li>
<li>Agente de Protección de acceso a redes (napagent): Administra información de los equipos de una red para garantizar que tengan el software y la configuración dictadas por directivas de mantenimiento. No es necesario para una red de un hogar.</li>
<li>Net Logon (Netlogon): Mantiene un canal seguro entre el equipo y el controlador de dominio para autenticar usuarios y servicios. No es necesario para una red de un hogar.</li>
<li>Servicio del iniciador iSCSI de Microsoft (MSiSCSI): Administra las sesiones SCSI de Internet (iSCSI) de este equipo a los dispositivos iSCSI remotos.</li>
<li>Aplicación auxiliar IP (iphlpsvc): Proporciona conectividad de túnel mediante tecnologías de transición IPv6 (6to4, ISATAP, Proxy de puerto y Teredo) e IP-HTTPS. La mayoría de los ISP no utilizan ninguno de los dos.</li>
<li>Cliente de seguimiento de vínculos distribuidos (TrkWks): Mantiene los vínculos entre archivos NTFS dentro de un equipo o entre equipos de una red. Se puede desactivar si no utilizas enlaces simbólicos en Windows.</li>
<li>Propagación de certificados (CertPropSvc): Copia los certificados de usuario y certificados raíz de tarjetas inteligentes en el almacén de certificados del usuario actual, detecta la inserción de una tarjeta inteligente en un lector de tarjetas inteligentes y, si es necesario, instala el minicontrolador Plug and Play para tarjetas inteligentes.</li>
<li>BranchCache (PeerDistSvc): Este servicio almacena en caché el contenido de la red de los sistemas del mismo nivel de la subred local. Es un servicio pensado para redes corporativas.</li>
<li>Servicio de compatibilidad con Bluetooth (bthserv): Permite la detección y asociación de dispositivos Bluetooth remotos. Se puede desactivar si no vas a utilizar dispositivos Bluetooth.</li>
</ul>
<p>Personalmente, además de estos servicios también tengo deshabilitados:</p>
<ul>
<li>Brillo adaptable (SensrSvc), que permite utilizar los sensores de luz ambiental que tienen algunos monitores para auto ajustar su brillo</li>
<li>Servicio de detección automática de proxy web WinHTTP (WinHttpAutoProxySvc) para descubrir el proxy que utiliza la red</li>
<li>Administración remota de Windows (WinRM)</li>
<li>Servicio Informe de errores de Windows (WerSvc), para enviar los informes de error a Microsoft</li>
<li>Sistema de color de Windows (WcsPlugInService), necesario para el uso de perfiles de color</li>
<li>Servicio de puerta de enlace de nivel de aplicación (ALG), necesario para utilizar la función de Conexión compartida a Internet (ICS)</li>
<li>Servicio Cifrado de unidad BitLocker (BDESVC), para cifrar discos duros</li>
<li>Sistema de cifrado de archivos (EFS), para almacenar archivos cifrados en particiones NTFS</li>
<li>Fax (Fax)</li>
<li>Acceso a dispositivo de interfaz humana (hidserv), para el uso de botones de acceso directo predefinidos en algunos teclados, controles remotos y otros dispositivos multimedia</li>
<li>Configuración de Escritorio remoto (SessionEnv)</li>
<li>Servicios de Escritorio remoto (TermService)</li>
<li>Redirector de puerto en modo usuario de Servicios de Escritorio remoto (UmRdpService)</li>
<li>Servicio de entrada de Tablet PC (TabletInputService)</li>
<li>Servicio biométrico de Windows (WbioSrvc)</li>
</ul>
<p>Por último, os dejo un <a href="http://mundogeek.net/wp-content/desactivar-servicios.zip" title="Desactivar servicios de Windows 7">zip con par de archivos bat</a> que podéis ejecutar para desactivar todos estos servicios con un solo par de clics. Basta con que hagáis clic con el botón derecho sobre el bat que prefiráis, mi configuración o la de BlackViper, y seleccionéis Ejecutar como administrador.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2009/09/16/servicios-de-windows-7-que-puedes-desactivar-para-mejorar-el-rendimiento/feed/</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
		<item>
		<title>apt-build, optimizando los paquetes para nuestra máquina</title>
		<link>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/</link>
		<comments>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/#comments</comments>
		<pubDate>Sat, 12 May 2007 06:00:19 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compilador]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/</guid>
		<description><![CDATA[Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento. Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema: sudo aptitude install apt-build Se nos preguntará por el nivel de optimización que queramos [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento.</p>
<p>Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema:</p>
<p class="code">sudo aptitude install apt-build</p>
<p>Se nos preguntará por el nivel de optimización que queramos conseguir; cuanto más trabajo haga el compilador para optimizar la aplicación que instalemos, mejor rendimiento obtendremos con ella, pero evidentemente, más tardaremos en compilar. Recomendado dejarlo en Medio.</p>
<p>También nos preguntará por la arquitectura de nuestro procesador. Si dudais os puede ser de utilidad la sección de <a href="http://gentoo-wiki.com/Safe_Cflags" title="Flag arquitectura compilador gcc">flags seguros de Gentoo-wiki</a>; fijaros en el flag -march. Yo tengo un Intel Core 2 Duo T7200 pero el flag -march=core2 que sería el correspondiente a las arquitecturas Core 2 Duo no está disponible más que a partir de la versión 4.3 de gcc (la de Ubuntu Feisty Fawn es la 4.1.2), así que utilizo Prescott. <span id="more-1077"></span></p>
<p>Antes de empezar a usarlo hay que comprobar que los repositorios con las fuentes de las aplicaciones no estén comentadas en el archivo de fuentes:</p>
<p class="code">sudo gedit /etc/apt/sources.list</p>
<p>y comprobad que para cada uno de los repositorios que nos interesen haya no sólo una línea que comience con deb, si no otra que comience con deb-src y que no haya un símbolo de almohadilla (#) al comienzo de la línea (si ese es el caso, borrad la almohadilla para descomentarlo).</p>
<p>Vereis que durante la instalación de apt-build se ha añadido una nueva fuente a sources.list que será parecido a esto:</p>
<p class="code">deb file:/var/cache/apt-build/repository apt-build main</p>
<p>Esto es porque apt-build funciona haciendo un apt-get source para descargar el código fuente, compilándolo con dpkg-buildpackage y poniendo el paquete resultante en este nuevo repositorio local para que apt-get lo encuentre.</p>
<p>Primero vamos a modificar el archivo /etc/apt/preferences para que los paquetes de este nuevo repositorio local tengan prioridad sobre los del resto de repositorios:</p>
<p class="code">sudo gedit /etc/apt/preferences</p>
<p>y añadimos las líneas:</p>
<p class="code">Package: *<br />
Pin: release o=apt-build<br />
Pin-Priority: 990</p>
<p>Esto especifica que todos los paquetes (*) del release apt-build tienen una prioridad de 990 (apt-get instalará los paquetes de mayor prioridad).</p>
<p>El uso de apt-build es muy similar a apt-get o aptitude; tenemos todos los comandos típicos: update para actualizar la lista de paquetes, upgrade para actualizar los paquetes a las últimas versiones o install para instalar un paquete (en este caso compila, crea un paquete e instala).</p>
<p>Vamos a actualizar primero la lista de los paquetes disponibles:</p>
<p class="code">sudo apt-build update</p>
<p>y ahora instalemos una aplicación cualquiera para comprobar que todo funciona correctamente, por ejemplo vamos a reinstalar gzip:</p>
<p class="code">sudo apt-build install gzip</p>
<p>apt-build descargará las fuentes, compilará e intentará instalar el nuevo paquete, pero como ya está instalado y es la misma versión nos informará de que la versión instalada ya está en su versión más reciente. Si hacemos</p>
<p class="code">sudo apt-build &#8211;reinstall install gzip</p>
<p>para reinstalar el paquete se quejará de que el tamaño de la versión de los repositorios es distinto de la versión de nuestro repositorio local. Si indicamos a apt-get que instale el paquete sin preocuparse por autentificarlo:</p>
<p class="code">sudo apt-get &#8211;reinstall &#8211;allow-unauthenticated install gzip</p>
<p>ahora si, habremos sustituido la versión de gzip original por una optimizada para nuestra máquina.</p>
<p>Una última opción (bastante peligrosa) es world, que compila y reinstala todos los paquetes del sistema para adaptarlos a la máquina en la que se ejecuta. Si quereis más información sobre su uso (que no aconsejo) podeis echarle un vistazo a <a href="http://www.ubuntu-es.org/index.php?q=node/1265" title="Tutorial apt-build">Primera experiencia con apt-build</a> o <a href="http://cronopios.net/Traducciones/apt-build.es.html" title="Manual apt-build, Optimice los paquetes Debian para su sistema">apt-build &#8211; Optimice los paquetes Debian para su sistema</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

