Posted by Mario on Marzo 12th, 2008
La puesta en marcha de un servicio web de alto rendimiento no nace de la noche a la mañana. Es un trabajo constante en el que tienen que ir de la mano la cordinación de más de un departamento. El departamento de desarrollo tiene que preveer el crecimiento haciendo escalable el desarrollo de la aplicación coordinando con las necesidades y/o requisitos del departamento de sistemas.
Un papel fundamental para su crecimiento es la disponibilidad y velocidad del servicio. Aquí es donde se tiene que analizar como vamos a hospedar la web.
En cuanto al desarrollo hay que preveer la escabilidad técnica por parte del equipo de sistemas para el correcto funcionamiento con tráfico elevado.
El análisis de la base de datos es un papel muy muy pero muy importante en todo esto. Una vez completado el esquema de la BD es importante el definir que tablas tendrán más escritura para poder, en un mañana próspero y posible la separación de BD’s con tablas diferentes en caso de que así lo requiera el proyecto. No obstante, MySQL puede dar mucho juego. Desde el montar un cluster de BD a crear BD’s con replicación o separar las tablas de la BD en diferentes BD con la desventaja que ello podría acarrear en un futuro.
Ahora es cuando nos sentamos a pensar con que tecnología vamos a trabajar. Exceptuando los servicios de Microsoft no conozco ningún sitio web de alto rendimiento que esté funcionando con ISS por lo que por el momento vamos a comenzar con tecnologías libres.
Sistema Operativo: Debian Estable
Servidor Web: Apache 2
Base de datos: MySQL 5.0
Código: PHP 5.1
Tags:
web |
portal |
alto |
rendimiento |
php |
linuxCompártelo
Leer entradas relacionadas:
Posted by Mario on Febrero 7th, 2008
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.dominio.com/
No olvidar el “/” final en el URL
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)
Tags:
apache |
linux |
carga |
webCompártelo
Leer entradas relacionadas:
Posted by Mario on Diciembre 12th, 2007
Podeis leer información sobre lo que es un ataque de denegación de servicio (DOS) en Wikipedia.
Para que un Servidor Web deje de responder a tiempo enviándole miles de peticiones simultáneas puede llegar a provocar el mal funcionamiento del servicio e incluso el cuelgue del mismo. Una configuración descuidada o consultas creadas de manera inadecuada por el programador de la Web puede hacer que al recibir un ataque de estas características la Web deje de funcionar.
Por eso es recomendable que aunque la Web que se programe sea ligera de contenido que la optimización sea desde el principio del desarrollo. Así que no descuides tus programas por tiempo y/o sencillez aparente.
Tags:
dos |
ataques |
hacking |
flood |
servidor |
webCompártelo
Leer entradas relacionadas:
Posted by Mario on Agosto 10th, 2007
Si queremos tener subdominios dinámicos en nuestro sitio web, solo tendremos que crear esta sencilla regla de rewrite.
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(.+)\.dominio\.com
RewriteRule .* /index.php?s=%1 [L]
De esta manera si recibimos esto: http://usuario.dominio.com la regla lo que ejecuta es http://www.dominio.com/index.php?s=usuario
Obviamente tendremos que tener el apache configurado con el mod_rewrite.
Tags:
Apache |
RewriteCompártelo
Leer entradas relacionadas:
Recent Comments