Weblogs Código

RecorteX

» apache
73 usuarios y 243 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta apache

RSS
Recortes: 3

Etiquetas relacionadas:
htaccess
linux
php
web

Apache Benchmark - Prueba de carga a sitios web

La utilidad "ab" (Apache Benchmark) sirve para hacer pruebas de carga a un servidor apache.

Por ejemplo 100 consultas, con una concurrencia de 5 usuarios a la vez.

ab -n100 -c5 http://www.sitio.com/
No olvidar el "/" final en el URL

Probar con diferentes niveles de concurrencia. Y no olvidar ver las opciones con ab --info pues es batante flexible. A sudar servidores!

Usage: ab [options] [http://]hostname[:port]/path
Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make
    -t timelimit    Seconds to max. wait for responses
    -p postfile     File containing data to POST
    -T content-type Content-type header for POSTing
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. 'Apache=1234. (repeatable)
    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                    Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                    are a colon separated username and password.
    -P attribute    Add Basic Proxy Authentication, the attributes
                    are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -h              Display usage information (this message)

Cambiar URL cumplejas por URL simples con Mod_Rewrite de Apache

Veremos un ejemplo simple de como utilizar el modulo de apache "Mod_Rewrite", que nos permite crear reglas que serán procesadas por el servidor (siempre que este sea un servidor Linux)

Supongamos que nuestra url actual es de esta forma:
http://www.supagina.com/web/index.php?mod=news&id=2345
Y queremos cambiarla por esta otra:
http://www.mipagina.com/web/noticias/2345.html
Entonces deberíamos crear el directorio "noticias" (sin comillas) y allí subir un archivo .htaccess con la siguiente regla
 
RewriteEngine on 
RewriteBase /web/ 
RewriteRule ^noticias/(.*).html$ index.php?mod=news&id=$1
 
Si quisiéramos darle un poco mas de seguridad podríamos utilizar expresiones regulares más exactas, por ejemplo, que solo se permitan números entre 1 y 6 caracteres
 
RewriteEngine on 
RewriteBase /web/ 
RewriteRule ^noticias/([0-9]{1,6}).html$ index.php?mod=news&id=$1
 
Jugando con expresiones regulares podrás adaptar todas tus URL's complejas a URL's fáciles de recordar.

Vale destacar que con este mismo modulo de apache podremos generar distintas acciones y no solo redireccionar URL, por ejemplo, con una simple línea podríamos denegar el ingreso a un directorio.
Deny from all
 
Esto ultimo se utiliza mucho en, por ejemplo, directorios en donde se guardan los módulos de un sitio, ya que podremos incluir el archivo desde php, pero un extraño no podrá ingresar al archivo tipeando su dirección.

Redirigir todo el tráfico de sitio.com a www.sitio.com

Este código en el .htaccess hace que todo el tráfico de sitio.com se redirija a www.sitio.com. Esto hace que no se duplique el contenido en google y no se reparta el pagerank.
 
RewriteEngine On
 
RewriteCond %{HTTP_HOST} ^sitio\.com$ [NC]
RewriteRule ^/?(.*)$ http://www.sitio.com/$1 [R=permanent,L]
 
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin