Do not speak Portuguese? Translate this site with Google or Bing Translator
PHP 7.1+ Swoole v1.9.5 vs Node.js Benchmark Test PHP7 + Swoole beats Node.js

Posted on: January 29, 2020 12:18 PM

Posted by: Renato

Categories: Variados PHP

Views: 183

https://www.w3c-lab.com/php-7-1-swoole-v1-9-5-vs-node-js-benchmark-test-php7-swoole-beats-node-js/

https://github.com/swoole/swoole-src

Aplicações assíncronas com PHP, Swoole e Lumen

Um requisito básico de uma aplicação é sua eficiência na execução de sua tarefa. Com os anos passados desde a criação da computação, várias aproximações para os mais diversos problemas foram criadas para resolver esses problemas. Várias soluções foram criadas para solucionar esses problemas, e uma delas está fazendo sucesso para aplicações Web. Ela é atualmente muito utilizada em aplicações criadas usando C#JavaGoJavaScript, etc, e não poderia ser diferente com o PHP.

Para nos ajudar nessa solução, vamos usar um micro-framework web chamado Lumenque facilitará o manuseio das requisições. Já para as ferramentas necessárias para se trabalhar de forma assincronia a biblioteca Swoolefará esse trabalho. Para poder rodar tudo isso, vamos usar o PHP 7.3, mas lembre-se que tanto o Swoole quanto o Lumen rodam em versões anteriores do PHP.


Instalação

Antes de tudo, tenha em mente que você já deve ter instalado em sua maquina o PHP 7.3, Composer e o PECL. Infelizmente não irei abordar sobre a instalação deles, pois teria de tratar sobre cada peculiaridade existente em cada S.O. e em cada distribuição/versão.

Para começar, vamos instalar primeiramente a biblioteca Swoole, e para isso basta executar o comando a baixo (versão usada 4.2.12):

$ pecl install swoole

Depois disso podemos continuar instalando o Lumen (versão usada 5.7) executando:

$ composer global require "laravel/lumen-installer"

Com o Lumen e o Swoole instalado poderemos começar nosso projeto, para isso irei criar um projeto vazio com o nome async-api.

$ cd ~
$ lumen new async-api
$ cd async-api

Já dentro do projeto, você irá incluir nos requisitos do projeto o seguinte pacote PHP.

$ composer require swooletw/laravel-swoole

Agora com tudo que necessitamos instalado, falta agora só configura o Lumen, para isso, abra o arquivo ~/async-api/bootstrap/app.php e procure pela parte onde é registrado os Providers e adicione:

$app->register(SwooleTW\Http\LumenServiceProvider::class);

Pronto, basta iniciar seu projeto usando o código logo abaixo e desfrutará de um servidor PHP assíncrono de alto desempenho.

$ php artisan swoole:http start

Para ter acesso ao servidor, basta acessar a URL indicada no terminal.

https://www.php.net/manual/pt_BR/book.swoole.php

https://laravel-news.com/laravel-swoole


1

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (15) Variados (109) PHP (130) Laravel (158) Black Hat (3) front-end (28) linux (113) postgresql (39) Docker (27) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (54) devops (25) nodejs (5) npm (2) nvm (1) git (8) firefox (1) react (6) reactnative (5) collections (1) javascript (6) reactjs (7) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (1) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (11) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (4) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (1) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (40) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (1) jwt (4) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (2) Architecture (3) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (1) autorizacao (2) authentication (4) authorization (2) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1)

New Articles



Get Latest Updates by Email