Rui Gaspar

Those who cannot remember the past are condemned to repeat it

Foogle – Motor de Pesquisa Semântico sobre Futebol

February 7th, 2010

Com o crescimento exponencial da informação que existe na internet, torna-se essencial que os resultados dos motores de busca sejam os que o utilizador pretende encontrar. As pesquisas baseadas em match de palavras-chave são muito limitadas, uma vez que obriga o utilizador a dizer ao motor de pesquisa exactamente o que pretende encontrar. Isto funciona se o utilizador souber o que encontrar, mas se o utilizador não souber, torna o processo de pesquisa muito mais ineficiente.
Para contornar este problema, existe a pesquisa semântica, onde não apenas pesquisamos palavras, mas também conceitos.
Com este intuito, desenvolveu-se este projecto que tem como finalidade a pesquisa semântica num domínio específico.

Poderá descarregar aqui o artigo referente a este projecto: Relatorio Foogle

Aqui poderá encontrar o código fonte da solução: http://code.assembla.com/WebSemantica/subversion/nodes

WebServer Benchmarking

April 6th, 2009

Actualmente o apache lidera o ranking de utilização dos Web Servers. No entanto existem outros Web Servers que não tendo o grau de popularidade do apache conseguem ter um desempenho muito interessante.

Por esse motivo procedi a um teste de desempenho a 4 Web Servers, sendo eles: Apache httpd, Nginx, LiteSpeed e Lighttpd.
Para este teste fora usadas duas máquinas. Uma fazendo de servidor e outra simulando os clientes, usando uma ferramenta de medição (JMeter).

Todos os servidores foram testados usando uma páginas estática (HTML) e uma página dinâmica (PHP) com uma repetição de 5 vezes em cada teste para impedir possíveis erros circunstanciais.

O primeiro teste mostra Throughput (respostas por segundo) dos diversos servidores quando sujeitos a 100 clientes simultâneamente com cada um a pedir 500 páginas e com a opção KeepAlive activa.

webserver_benchmark_throughput
Fig.1 – Throughput (Requests/Sec)

Podemos também ver o estado da memória e do CPU do servidor durante a execução de cada teste.

webserver_benchmark_serverload
Fig.2 – ServerLoad

Com estes testes, verificamos que existem outras boas alternativas ao Apache. Para uso de conteúdo estático o nginx teve um desempenho muito bom, enquanto que para conteúdo dinâmico, o apache continuar a ser a melhor opção. Mas temos que ter em mente que a maioria dos sites, tem na sua maioria conteúdo estático (imagens, css, html, js, etc.).
Relativamente a carga de CPU, o nginx também é o que menos CPU consome, o que se vem reforçar a liderança deste benchmarking.
O único ponto a apontar ao Nginx, foi o facto de a sua instalação não ser simples, e requereu alguma pesquisa principalmente para colocar o modulo php a funcionar.