[en] CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS
Ano de defesa: | 2007 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Tese |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
MAXWELL
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763&idi=1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763&idi=2 http://doi.org/10.17771/PUCRio.acad.9763 |
Resumo: | [pt] Os desenvolvedores de sistemas cliente-servidor constantemente se deparam com questões de desempenho e escalabilidade, muitas vezes o número de clientes simultâneos de um servidor pode crescer de forma significativa. Além disso, se esses sistemas podem executar códigos de terceiros, passa a existir a preocupação com a questão de segurança da execução destes trechos de códigos. O objetivo desse trabalho é testar o desempenho de diversas combinações de modelos de concorrência e sandboxes. Como exemplo de sistema sujeito a solicitações concorrentes que precisa permitir a execução de programas de terceiros, temos os servidores web. O Xavante é um servidor web desenvolvido na linguagem de programação Lua que originalmente utiliza um modelo de programação concorrente baseado em co-rotinas. Esse servidor já possuía a flexibilidade de mapear tipos de requisição a tratadores diferentes. Alguns desses tratadores de requisi ção permitem a utilização de código de terceiros em tempo de execução e, por isso, já fazem uso de sandboxes a fim de oferecer um ambiente de execução protegido. Nesse trabalho testamos o uso dessas sandboxes nativas ao Xavante além de outros tipos de sandboxes. Também aumentamos as possibilidades de extensão do servidor, flexibilizando a arquitetura de modo a permitir diferentes estratégias de concorrência. Utilizando a nova arquitetura testamos o desempenho das diversas combinações de sandboxes e modelos de programação concorrente, permitindo a comparação dos modelos não só do ponto de vista qualitativo mas também medindo o impacto de desempenho do seu uso. |