Optimizacion de la velocidad de carga de un website.
Me paso que una de las paginas que tengo la han bajado de posicion, y buscando la razon creí que di con ella.
Resulta que esta pagina tiene muchos comentarios, ya que a los usuarios le gusta participar en ella, y Google a empezado a tomar en cuenta el tiempo de carga de las paginas para organizar sus resultados, y creo que eso a afectado dicha pagina.
Aquí una muestra de la lentitud de la pagina:
Como se puede observar es extremadamente lenta, asi que decidi buscar el problema para darle solucion, lo primero que reconoci fue la cantidad de comentarios… en una de los posts tiene mas de 1800 comentarios… mas de un megabyte de puros comentarios.
Asi que empecé a buscar soluciones, y para mi sorpresa WordPress incluye una solucion para este problema, para activar en el panel da click en “Discussion” y activa la casilla que dice “Break comments into pages…” esto lo que hace es dividir el total de comentarios en diferentes paginas asi se reduce el tiempo de carga de la pagina del post principal.
La pagina en cuestion es http://versosdeamor.info le tuve que modificar el theme ya que ese fue creado cuando aun no existia esa opción.
Ya los posts cargan mas rapido los he limitado a 200 comentarios por pagina, lo siguiente sera seguir buscando donde optimizar mas.
Reinstalar archivos de configuracion de debian.
Me he encontrado con este problema de que si instalas un paquete lo remueves y lo reinstalas otra vez, algunas veces omite instalar el archivo de configuración.
Solución:
apt-get –purge remove Paquete
aptitude install Paquete
y queda como nuevo.
Optimizar tablas mysql.
Bueno con el post anterior acerca de optimizar mysql con Mysql Tuner, me encontré con el problema de que tengo muchas bases de datos con muchas tablas asi que me tuve que crear un script para realizar la tarea.
DBS=”$(mysql -pMYSQLPASSWORD -Bse ‘show databases’)”
for db in $DBS
do
echo $db
TABLES=”$(mysql -pMYSQLPASSWORD –database=$db -Bse ‘show tables’)”
for table in $TABLES
do
echo “Optimizing Table $table”
mysql -pMYSQLPASSWORD –database=$db -Bse “OPTIMIZE TABLE $table”
done
done
Basicamente el script lo que hace es tomar la lista de base de datos, luego con esa lista ir pasando en cada una y obtener las tablas, y ya con eso puedes ejecutar OPTIMIZE TABLE.
Si deseas utilizar este script cambia MYSQLPASSWORD por tu password de mysql, y copia el contenido en un archivo ponle un nombre por ejemplo optimiza.sh, y para ejecutarlo utiliza la siguiente linea:
sh optimiza.sh
Optimizar MYSQL.
Si tienes la necesidad de optimizar mysql puedes usar el siguiente programa:
MySQLTunner
http://blog.mysqltuner.com/download/
Lo descargas con
wget mysqltuner.pl
y lo ejecutas
perl mysqltuner.pl
Te preguntara el usuario de la base de datos, y el password de la base de datos.
y te dara instrucciones de que variables configurar en el archivo my.cnf asi como consejos para tus aplicaciones que usen mysql.
Ejemplo
Server:~# perl mysqltuner.pl
>> MySQLTuner 1.0.1 – Major Hayden
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with ‘–help’ for additional options and output filtering
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password:——– General Statistics ————————————————–
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.51a-24+lenny3-log
[OK] Operating on 64-bit architecture——– Storage Engine Statistics ——————————————-
[--] Status: +Archive -BDB -Federated -InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 175M (Tables: 419)
[OK] Total fragmented tables: 0——– Performance Metrics ————————————————-
[--] Up for: 20m 47s (6K q [5.370 qps], 1K conn, TX: 21M, RX: 525K)
[--] Reads / Writes: 96% / 4%
[--] Total buffers: 138.0M global + 2.6M per thread (300 max threads)
[OK] Maximum possible memory usage: 925.5M (45% of installed RAM)
[OK] Slow queries: 0% (0/6K)
[OK] Highest usage of available connections: 1% (4/300)
[OK] Key buffer size / total MyISAM indexes: 32.0M/31.8M
[!!] Key buffer hit rate: 89.2% (14K cached / 1K reads)
[OK] Query cache efficiency: 22.9% (839 cached / 3K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 273 sorts)
[!!] Joins performed without indexes: 13
[OK] Temporary tables created on disk: 24% (96 on disk / 394 total)
[OK] Thread cache hit rate: 99% (4 created / 1K connections)
[!!] Table cache hit rate: 5% (47 open / 925 opened)
[OK] Open file limit used: 2% (95/4K)
[OK] Table locks acquired immediately: 100% (2K immediate / 2K locks)——– Recommendations —————————————————–
General recommendations:
MySQL started within last 24 hours – recommendations may be inaccurate
Adjust your join queries to always utilize indexes
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
join_buffer_size (> 128.0K, or always use indexes with joins)
table_cache (> 2048)
Apple Update 10.6.3 Peligroso
Si tienes una mac, y vas a hacer el upgrade a la version 10.6.3 no lo hagas.
Multiples usuario estan experimentando muchos problemas como se puede ver en los foros de Apple http://discussions.apple.com/forum.jspa?forumID=1337&start=0
Repito no instales el update 10.6.3. :p.
Como instalar Windows XP en QEMU
Instalar Qemu:
aptitude install qemu
Crear el disco duro virtual
qemu-img create -f qcow windows.img 6G
Instalar desde el cdrom
qemu -localtime -cdrom /dev/cdrom -m 512 -boot d windows.img
O
Instalar desde una imagen ISO
qemu -localtime -cdrom cdimagefile.iso -m 512 -boot d windows.img
512 es el numero de megabytes de memoria, lo puedes cambiar a mas o menos dependiendo de tu maquina.
Una vez instalado podemos ejecutar la maquina virtual con el siguiente comando:
qemu -m 512 -localtime windows.img
Otro trem server.
Estaba pensando abrir otro servidor de tremulous, justo como lo hice con xserverx.com, que luego herede a otro jugador, aunque el dominio aun me pertenece y no pienso cederlo :>.
Básicamente lo que ha pasado desde que le pase el mando al otro jugador no me ha gustado como se han manejado los problemas y por eso estuve pensando en abrir otro servidor con mas features :p, para básicamente destruir el otro server meh, básicamente para bajar de el pedestal a esta gente que ni siquiera se lo gano(y no me refiero a mbp), ya que yo les cedí el puesto pero no he gustado que han hecho con el y esa es la razon.
Pero he decidido no hacerlo debido al tiempo y stress que conlleva.
If someone from X server read it and try translate it with a online service please note that, online translators make a mess, so don’t fuck around with what you think this means :p.
Reemplazar texto en multiples archivos.
Para reemplazar texto en múltiples archivos en diferentes directorios podemos usar los siguientes comandos de linux.
find . -name “*” -exec sed -i “s/reemplazaesto/porestootro/g” {} \;
Como descativar sendmail en freebsd.
Tengo una vps con la gente de RootBSD.net, y como en cualquier vps uno debe ahorrar todos los recursos que pueda, y como no necesito sendmail lo mejor sera desactivarlo.
Para evitar que se ejecuta al iniciar el sistema edita el archivo /etc/rc.conf y agrega la siguiente linea.
sendmail_enable=”no”
y para detenerlo sin tener que reiniciar ejecuta el siguiente comando:
/etc/rc.d/sendmail stop
Listo :>.
Como instalar apache en freebsd
Nos vamos al directorio del port en este caso yo quiero apache 2.2
cd /usr/ports/www/apache22/
y ejecutamos:
make install clean
Agregamos la siguiente linea a /etc/rc.conf para que apache inicie al iniciar el sistema.
apache22_enable=”YES”
Para iniciar de forma manual apache podemos usar el siguiente comando:
apachectl start
Acepta las opciones restart, graceful y stop, restart y stop se describen por si mismas, graceful es un restart sin forzar.
Tambien podemos usar la opcion configtest que nos dice si los archivos de configuracion no tienen errores.
Ejemplo:
[root@host ~]# /usr/local/sbin/apachectl configtest
Syntax OK
