解析LUA與PHP在WEB應用的性能對比
解析LUA與PHP在WEB應用的性能對比是本文要介紹的內容,這幾天用在WEB開發的LUA框架已經完成,框架中已包括數據庫操作和模板操作的功能,能夠很簡單方便的應用在WEB開發上。在此時我對這個LUA框架和PHP開發的WEB應用分別進行充分的壓力測試
服務器配置:WEB服務器一臺,壓力測試服務器一臺,均為雙核+4G內存,CentOS 64位操作系統
網絡環境:局域網
軟件環境:yo2lua (50線程),Nginx+PHP-FPM (50進程)
應用程序均為連接MySQL數據庫查詢1行數據并輸出(表中就只有一行數據)
壓力測試軟件:httperf+autobench
操作命令行:
- 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
從500并發起步,直到5000個并發,每次測試以10000個連接為基準取得平均值,如圖:
從測試結果中分析得出,PHP在并發數達到800的時候,性能出現嚴重的下降并且不穩定。而LUA則一直達到3200個并發時出現一次突發的性能下降,上升到3800個并發后性能下降一半并且不穩定,但依然能維持在2000個并發以上。
這份簡單的測試告訴我,LUA在WEB應用上,性能可以是PHP的4倍以上,并且LUA在3000個并發時,占用的服務器資源非常少,遠比PHP要低得多。
這個LUA的WEB開發框架定位就是簡單、高性能,也許一些復雜的功能無法實現,我認為這部分功能可以轉到PHP類的語言進行開發就可以,不必要把這個開發框架變得復雜龐大起來,不然就背離原來簡單、高效的宗旨了
LUA跟C的無縫對接,徹底征服俺了 _-!! ~ 剛用一臺四核8G內存的WEB服務器跑個壓力測試,穩定達到4500個并發/秒。
小結:解析LUA與PHP在WEB應用的性能對比的內容介紹完了,希望人、通過本文的學習能對你有所幫助!