Cet article vous présentera les différences de performances entre LUA et PHP dans les applications WEB. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
La comparaison des performances d'analyse de LUA et PHP dans les applications WEB est ce que cet article présentera. Le framework LUA utilisé dans le développement WEB ces derniers jours est terminé et. le framework comprend une base de données. Les fonctions d'opération et d'opération de modèle peuvent être appliquées facilement et commodément au développement WEB. A cette époque, j'ai effectué des stress tests complets sur le framework LUA et l'application WEB développés respectivement par PHP
Configuration du serveur : un serveur WEB, un serveur de stress test, tous deux dual-core + mémoire 4G, CentOS 64- bit Système d'exploitation
Environnement réseau : LAN
Environnement logiciel : yo2lua (50 threads), Nginx+PHP-FPM (50 processus)
Les applications sont toutes connectées à MySQL requête de base de données 1 ligne de données et sortie (il n'y a qu'une seule ligne de données dans la table)
Logiciel de test de stress : httperf+autobench
Ligne de commande d'opération :
autobench --host1=192.168.200.251 --port1=8001 --host2=v2.54xing.com --port2=80 --uri1=/ --uri2=/a.php --quiet --low_rate=500 --high_rate=5000 --rate_step=100 --num_call=1 --num_conn=10000 --timeout=10 --file /tmp/result.tsv
Commencez simultanément de 500 à 5000 Concurrency, chaque test est basé sur 10 000 connexions pour obtenir la valeur moyenne, comme le montre la figure :
À partir de l'analyse des résultats des tests, PHP atteint 800 de simultanéité, les performances sont sérieusement dégradées et instables. LUA, en revanche, a connu une baisse soudaine de ses performances lorsqu'il a atteint 3 200 simultanéités. Lorsqu'il a atteint 3 800 simultanéités, ses performances ont chuté de moitié et sont devenues instables, mais il a quand même pu se maintenir au-dessus de 2 000 simultanéités.
Ce test simple m'indique que les performances de LUA dans les applications WEB peuvent être plus de 4 fois supérieures à celles de PHP, et lorsque LUA exécute 3000 simultanéités, il consomme très peu de ressources serveur, ce qui est bien inférieur à PHP beaucoup.
Le cadre de développement WEB de LUA est positionné pour être simple et performant. Certaines fonctions complexes peuvent ne pas être réalisées. Je pense que ces fonctions peuvent être développées dans des langages de type PHP. Il n'est pas nécessaire de l'utiliser. cadre de développement. C'est devenu compliqué et énorme, sinon cela s'écartera de l'objectif initial simple et efficace
La connexion transparente entre LUA et C m'a complètement conquis_- !! mémoire serveur WEB Exécutez un test de résistance et obtenez une simultanéité stable de 4 500 simultanéités/seconde.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!