Última Atualização: 8 de dezembro de 2002 18:34 BRST | |||||||||||
|
Próximos passosServidor multi-threadedO servidor (br.shob.server.Server) cria uma nova thread cada vez que um cliente se conecta a ele. Nossa primeira idéia seria implementar um thread pool no servidor. Esta é apenas uma questão de performance e escalabilidade que pode ser alvo de melhorias. Reaproveitamento de sockets (pipelining)Uma das melhorias de grande valia no protocolo HTTP foi a introdução do mecanismo de pipelining, pelo qual os agente fazem várias requisições na mesma conexão. Queremos utilizar uma idéia parecida mantendo as conexões recentes abertas por um tempo, na esperança de que elas sejam utilizadas novamente. Tanto conexões com o servidor quanto conexões entre clientes poderiam ser reaproveitadas sem uma sobrecarga muito grande do protocolo. Atualmente o gargalo em uma transação é a criação de sockets (são entre 7 e 10 novos sockets em uma chamada de método de escrita), sendo que as transmissões são quase sempre curtas. Coleta de entradas inválidas no cache clienteOs clientes (ou seja, cada instância de br.shob.SharedSpace) possuem uma Faltou apenas dar aos clientes a opção de remover esta cópia! Ou seja, mesmo depois que o objeto "desaparece", os clientes continuam usando a última cópia que eles tinham, mas não podem mais escrever no objeto.
|