DEV Community

Mateus Galasso
Mateus Galasso

Posted on

Swoole Benchmark in Laravel

Ola pessoas tudo bem?

Hoje trago um teste que eu fiz quando fiquei sabendo do Swoole.

O que é Swoole?
Traduzindo da documentação oficial: Swoole é uma estrutura de rede de alto desempenho que usa um modelo de E / S sem bloqueio, assíncrono e orientado a eventos. Pode ser usado para desenvolver TCP, UDP, socket Unix, HTTP, serviços Websocket simultâneos de alto desempenho, escalonáveis.

Entendeu nada? Em poucas palavras o Swoole é um servidor PHP assíncrono.

O Setup do Teste
Testei na minha própria máquina. Windows 10, I7 1.8 GHz 16 GB de RAM.

Testei em um projeto brásico usando Laravel com um model chamado empresa com 4 campos.

Criei 3 ambientes distintos, um rodando no windows mesmo com o php artisan serve (para gerar o servidor via php), os outros dentro do Debian (WSL), um rodando php artisan serve e outro rodando no Swoole

Criei um Crud normal e cadastrei 100 empresas.

O banco de dados usado foi o SQLITE mesmo. Preguiça de instalar o mysql.

O teste era somente chamar 100 vezes (de uma vez só) as 100 empresas e ver quanto tempo levaria para retornar todos os requests

O Resultado
Em primeiro lugar………………….SWOOLE. os 100 requests com 100 empresas cada levou somente 6.71s para retorar todos os requests

Image description

Em segundo lugar ficou no Debian puro sem Swoole, com 15 seg.

Image description

E em último lugar obviamente ficou o windows levando os longos 34.54 seg para retornar todos os requests

Image description

Conclusões
A diferença entre windows e o swoole foi de 566%. Maior que eu eu imaginei.

E o que me surpreendeu foi que somente colocando no Linux o tempo levando metade do tempo do windows.

Top comments (0)