Classificação dos frameworks da web de alta velocidade 2020
Outro dia fiquei intrigado ao escolher uma solução para o servidor de um construtor de sites carregado. A arquitetura atual é construída sobre a popular estrutura MVC no bom e velho PHP. Essa estrutura é boa para o desenvolvimento rápido de uma grande quantidade de funcionalidades e um início rápido, todos nós sabemos disso. Somente após esse início, chega o momento em que surgem gargalos que exigem desempenho aprimorado e a estrutura universal usual não pode mais lidar.No processo de encontrar uma solução, deparei-me com a análise da velocidade de processamento de solicitações para um grande número de estruturas existentes hoje. Eu escolhi dentre eles aqueles que têm mais de 5.000 estrelas no GitHub e que processam mais de 150.000 solicitações por segundo. Na fórmula para calcular a classificação, o segundo parâmetro é quadrado, pois as flutuações das estrelas são muito maiores.Como resultado, a fórmula é a seguinte:Número de estrelas no GitHub * (Número de solicitações por segundo) ^ 2Líderes em negrito em termos de velocidade de processamento de solicitações são destacados em negrito.1. Beego [go] - 359 2792. Gin [go] - 252 8953. FastHttp [go] - 420 4984. Echo [go] - 262 9405. ASP.NET Core[csharp] - 263 7256. Trabalhador [php] - 349 8977. Mux [go] - 263 5858. Koa [js] - 159 0329. Perfeito [swift] - 218 63410. Chi [go] - 274 50711. Fastify [js] - 177 37212. Falcon [python] - 208 80513. Bottle [python] - 168 77614. Ktor [kotlin] - 162 84215. owboy [elixir] - 160 063Medições do número de solicitações em segundo realizado usando wrk. O mecanismo de contagem é baseado em respostas em três cenários:- abrindo a página principal com a resposta 200 e o conteúdo em branco- abra as páginas / user com a resposta 200 e o conteúdo em branco- abra as páginas / user / __ ID__ com a resposta 200 ec __ID__ no conteúdoSe você não encontrou sua estrutura favorita, procure a fonte, lá estão elas mais de cem. Caso contrário, aparecerá em breve e a classificação será revisada. Você pode acelerar isso criando uma solicitação pull com sua estrutura.Fonte de dados: GitHub e frameworks da Web.Se você tiver experiência em usar qualquer um desses frameworks, ficarei feliz em discutir com você nos comentários.Source: https://habr.com/ru/post/undefined/
All Articles