Medir ancho de banda con PHP
June 30th, 2007 by BusindreMuchos son los que preguntan por un sistema de medición de ancho de banda (Que no sea de pago) al estilo de los que tienen las grandes compañías ISP y conocidos portales de ADSL. Hay un proyecto (software libre) llamado “bandwidthmeter” que permite usar esta funcionalidad en nuestra web de forma libre, dando a nuestros visitantes un servicio verdaderamente útil mediante php y muy fácil de instalar como veremos.
Paquete bandwidthmeter: http://www.gambitdesign.com/bandwidthmeter/bandwidthmeter-0.72.zip
Demo: http://www.gambitdesign.com/bandwidthmeter/meter.php
Instalar:
$ unzip bandwidthmeter-0.72.zip
# mv bandwidthmeter-0.72 /var/www/htdocs/
Configuración:
Usuario: bandwidthmeter
Base de datos: bandwidthmeter
Tabla de bandwidthmeter: readings
Password: meter
# mysqladmin --user=root -p create bandwidthmeter
$ mysql -u root -p bandwidthmeter
mysql> GRANT ALL ON bandwidthmeter.* TO bandwidthmeter@% IDENTIFIED BY ‘meter’;
mysql> flush privileges
mysql> exit
NOTA: El archivo donde podemos variar la anterior configuración es “config.inc.php“, podemos modificar el usuario, password, cabecera,.. En el archivo “results.php” también podemos modificar las frases que se nos presentan en la pantalla de medición del ancho de banda, por ejemplo para cambiarlas de idioma (Ingles).
Ahora demos la posibilidad de que la aplicación guarde un log interactivo para nuestra consulta.
$ mysql -u bandwidthmeter -p bandwidthmeter
mysql> CREATE TABLE readings (date timestamp(14) NOT NULL, speed float NOT NULL default ‘0′, ip text NOT NULL, name text NOT NULL) TYPE=MyISAM;
Ahora debemos poner en el navegador (Dependerá de la configuración): http://127.0.0.1/bandwidthmeter-0.72/install.php
Si sale mal (En caso de no realizar la parte de configuración para la creación de logs):
Unable to insert test record into database
En este caso no tendremos logs sobre las peticiones de ancho de banda. Pero es perfectamente funcional.
Cuando tenemos la funcionalidad de logs:
Payload file successfully found and opened.
Successfully connected to database.
Successfully selected the database.
Successfully inserted test record.
Successfully deleted test record.
SUCCESSFULLY PASSED TESTS.
You may now test your download speed at http://127.0.0.1:6895/bandwidthmeter-0.72/initialmeter.php
Una vez configurado y funcionando, las URL son:
http://127.0.0.1:6895/bandwidthmeter-0.72/meter.php -> Mide ancho de banda
http://127.0.0.1:6895/bandwidthmeter-0.72/admin/ -> Consultas de logs (IP, hostnames, hora, velocidad)
Como vemos es muy fácil ofrecer un servicio útil de medición del ancho de banda y podemos usarlo como servicio al público en nuestra web de forma cómoda y sin perder mucho tiempo, como hemos visto.
Posted in Internet |