• Nenhum resultado encontrado

5.8.1 Variante local VS variante cloud

Uma das funcionalidades mais importantes do sistema desenvolvido é a capacidade de pesquisa segura sobre um conjunto de metadados de um ficheiro armazenado. No en- tanto, esta pesquisa não apresenta características complexas de ranking, como foi menci- onado ao longo do documento, devolvendo um resultado com base no número de ocor- rências das palavras chave.

Para este estudo, foram efetuadas três tipos de pesquisas, cujos tempos se encontram na Tabela5.17. A primeira (Cloud Server) corresponde a uma pesquisa em claro, direta- mente no servidor onde é executado o Riak, sobre os ficheiros em disco e os metadados emplaintext. Aqui, a única latência existente corresponde ao envio do pedido e à receção

da resposta. Todo o processamento é feito localmente, do lado do servidor onde o Riak se encontra a ser executado.

A coluna T-Stratus Cloud apresenta os resultados obtidos para uma pesquisa no Riak, onde o mesmo se encontra no servidor na Lunacloud, como mencionado no inicio deste capítulo. Esta envolve a obtenção dos vários ficheiros do índice e processamento de cada um deles do lado domiddleware.

Por fim, a coluna T-Stratus Local diz respeito a uma pesquisa igual à anterior, mas onde o índice Riak executa na rede local, numa máquina virtual no próprio sistema onde se encontra omiddleware, descrito no inicio deste capítulo. A cache, para os vários testes,

5. AVALIAÇÃO 5.8. Pesquisas Seguras

Node ficheiros Cloud Server T-Stratus Cloud T-Stratus Local

100 0,138 1,43 0,336 200 0,15 2,165 0,603 300 0,163 3,197 0,862 400 0,169 4,082 1,119 500 0,17 5,505 1,359 600 0,181 6,13 1,624 700 0,181 6,976 1,903 800 0,188 8,435 2,199 900 0,193 9,144 2,359 1000 0,202 9,938 2,719

Tabela 5.17: Tempos medidos (em segundos) para operações de pesquisa de ficheiros No gráfico da Figura5.9, é possível ter uma ideia melhor da evolução à medida que o número de ficheiros no sistema aumenta. Nos dados da tabela, bem como no gráfico resultante, podemos observar que a pesquisa direta sobre os metadados dos ficheiros numa pasta local em disco é bastante mais rápida e pouco varia em relação ao aumento do número de ficheiros considerado. Esta discrepância é facilmente explicável pois o tempo de acesso ao disco é muito menor que a latência envolvida na obtenção de um ficheiro no índice. Neste último, é necessária uma operação de get para cada ficheiro do sistema, ao passo que na pesquisa local no Cloud Server o acesso é feito diretamente à memória. Posto isto, seria expectável um aumento linear do tempo de pesquisa nomiddlewarecom

o aumento do número de ficheiros existentes no sistema, dada a quantidade de pedidos geta efetuar ao índice. Ao passo que na pesquisa local no Cloud Server, e para os valores testados, obtemos quase uma função constante, na pesquisa do middleware na cloud a

complexidade já se situa na ordem de grandeza de O(n), notando-se uma evolução de cerca de 1 segundo para cada 100 ficheiros no sistema. Já para a execução do índice na rede local (T-Stratus Local), verifica-se uma curva menos acentuada, pois os tempos de acesso (latências) são significativamente menores. Assumindo como modelo que um utilizador tem, em média, 1000 ficheiros, sobretudo multimédia, de cerca de 10 MB cada, o valor máximo apresentado corresponde a um volume de dados de 100 GB, o que se pode considerar um valor expectável para uma pasta de um utilizador comum nos dias de hoje.

No entanto, a comparação direta do uso domiddlewareface a uma pesquisa local em

disco não é totalmente realista. Em ambos, é necessário aceder a todos os ficheiros indi- vidualmente, no entanto, o acesso a disco é bem mais rápido e escala melhor. O objetivo principal foi ver a forma como as três pesquisas evoluíam perante o aumento do nú- mero de ficheiros. A pesquisa nomiddleware(T-Stratus Cloud e T-Stratus Local) depende essencialmente da qualidade e capacidade dos canais de comunicação, que consequente- mente contribuem para a diminuição ou aumento da latência entre o sistema T-Stratus e

0 2 4 6 8 10 12 0 200 400 600 800 1000 T em p o d e ex ec u çã o ( seg u n d o s)

Número de ficheiros pesquisados

Pesquisas

Cloud Server

T-Stratus Cloud

T-Stratus Local

Figura 5.9: Gráfico correspondente aos valores da Tabela5.17

o servidor onde se encontra o Riak.

5.8.2 Pesquisas para múltiplos argumentos

Por fim, os próximos testes tiveram como objetivo avaliar a variação dos tempos de exe- cução da pesquisa (na sua vertente cloud e rede local) com o aumento do número de pa- lavras chave a procurar. As Tabelas5.18e5.19apresentam os resultados para a pesquisa com o aumento do número de palavras chave, respetivamente, para a variante cloud e variante local. Não é realista pensar em pesquisas com um número de palavras superior a 20, no entanto, esses valores foram considerados dada a pequena variação que se veri- ficou para valores menores, na tentativa de visualizar um padrão/tendência (gráfico da Figura5.10).

Nopalavras Cache Cache (%) Riak Riak (%) Tempo total

5 0,02 0,31 6,358 99,69 6,378 10 0,023 0,35 6,621 99,65 6,644 20 0,047 0,73 6,365 99,27 6,412 50 0,117 1,68 6,839 98,32 6,956 100 0,234 3,03 7,49 96,97 7,724 200 0,473 5,47 8,178 94,53 8,651

Tabela 5.18: Tempos medidos (em segundos) para a operação de pesquisa com aumento do número de argumentos, para um índice Riak numa instância cloud

5. AVALIAÇÃO 5.8. Pesquisas Seguras

Nopalavras Cache Cache (%) Riak Riak (%) Tempo total

5 0,021 1,41 1,463 98,52 1,485 10 0,023 1,58 1,433 98,42 1,456 20 0,047 2,94 1,554 97,06 1,601 50 0,117 6,38 1,717 93,62 1,834 100 0,234 9,66 2,189 90,34 2,423 200 0,474 12,95 3,184 87,02 3,659

Tabela 5.19: Tempos medidos (em segundos) para a operação de pesquisa com aumento do número de argumentos, para um índice Riak numa máquina na rede local do utiliza- dor

Ao analisar os dados das Tabelas5.18e5.10verifica-se que a pesquisa na cache, visto ser local, não apresenta praticamente alterações entre as duas variantes. Já quanto ao tempo total, era esperada uma diferença considerável devido às diferentes latências en- tre as duas variantes. Em ambas as variantes a cache passa a ter uma relevância maior à medida que o número de palavras a pesquisar aumenta, verificando-se que a percen- tagem do tempo ocupada pelo processamento da mesma aumenta com o aumento do número de palavras. No entanto a parametrização do tamanho da cache é um tradeoff que é preciso ter em conta, pois quanto maior, mais memória persistente irá ocupar na máquina onde se encontra a instância T-Stratus.

0 2 4 6 8 10 5 10 20 50 100 200 Te m p o d e ex ecu ção ( seg u n d o s)

Quantidade de palavras a pesquisar

Pesquisa por múltiplas palavras

Pesquisa T-Stratus Local Pesquisa T-Stratus Cloud