第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > golang php mysql性能_golang vs dlang vs nodejs vs php 性能对比较量

golang php mysql性能_golang vs dlang vs nodejs vs php 性能对比较量

时间:2022-03-12 13:30:08

相关推荐

golang php mysql性能_golang vs dlang vs nodejs vs php 性能对比较量

这是我本机开的一个单核1G内存的Hyper-V虚拟机,首先我们使用的语言和框架版本给大家看一下:

root@kerisy:/home/zoujiaqing#goversion

goversiongo1.5.1linux/amd64

root@kerisy:/home/zoujiaqing#ldc2--version

LDC-theLLVMDcompiler(0.15.0):

basedonDMDv2.066.1andLLVM3.5.0

Defaulttarget:x86_64-pc-linux-gnu

HostCPU:core-avx2

-/LDC

RegisteredTargets:

aarch64-AArch64(littleendian)

aarch64_be-AArch64(bigendian)

arm-ARM

arm64-AArch64(littleendian)

arm64_be-AArch64(bigendian)

armeb-ARM(bigendian)

cpp-C++backend

hexagon-Hexagon

mips-Mips

mips64-Mips64[experimental]

mips64el-Mips64el[experimental]

mipsel-Mipsel

msp430-MSP430[experimental]

nvptx-NVIDIAPTX32-bit

nvptx64-NVIDIAPTX64-bit

ppc32-PowerPC32

ppc64-PowerPC64

ppc64le-PowerPC64LE

r600-AMDGPUsHD2XXX-HD6XXX

sparc-Sparc

sparcv9-SparcV9

systemz-SystemZ

thumb-Thumb

thumbeb-Thumb(bigendian)

x86-32-bitX86:Pentium-Proandabove

x86-64-64-bitX86:EM64TandAMD64

xcore-XCore

root@kerisy:/home/zoujiaqing#nodejs

nodejs

root@kerisy:/home/zoujiaqing#nodejs--version

v4.2.2

root@kerisy:/home/zoujiaqing#php--version

PHP5.6.14-1(cli)

Copyright(c)1997-ThePHPGroup

ZendEnginev2.6.0,Copyright(c)1998-ZendTechnologies

withZendOPcachev7.0.6-dev,Copyright(c)1999-,byZendTechnologies

可以看到对应的版本:

golang: 1.5.1

dlang(ldc2): 2.066.1

nodejs: 4.2.2

php: 4.6.14

golang代码:

packagemain

import(

"io"

"net/http"

"log"

)

funcHelloServer(whttp.ResponseWriter,req*http.Request){

io.WriteString(w,"hello,world!\n")

}

funcmain(){

http.HandleFunc("/hello",HelloServer)

err:=http.ListenAndServe(":1234",nil)

iferr!=nil{

log.Fatal("ListenAndServe:",err)

}

}

dlang代码:

importstd.stdio;

importkerisy.http.server;

importkerisy.utils;

;

intmain(string[]args)

{

Addressaddress=Address("0.0.0.0",9999);

HTTPServerserver=newHTTPServer;

server.listen(address);

return0;

}

nodejs代码:

varhttp=require('http');

varurl=require('url');

http.createServer(function(req,res){

varpath=url.parse(req.url).pathname;

vardt=newDate();

res.writeHead(200,{'Content-Type':'text/plain'});

res.write("Hello,World!\n"+dt.getTime());

res.end();}).listen(8888,"127.0.0.1");

php代码:

#!/usr/bin/envphp

require__DIR__.'/vendor/autoload.php';

$app=require_once__DIR__.'/application/bootstrap.php';

$status=$app->handleConsole(

newSymfony\Component\Console\Input\ArgvInput,

newSymfony\Component\Console\Output\ConsoleOutput

);

exit($status);

运行结果如下:

root@kerisy:/home/zoujiaqing#ab-n10000-c1000http://127.0.0.1:9999/

ThisisApacheBench,Version2.3

Copyright1996AdamTwiss,ZeusTechnologyLtd,/

LicensedtoTheApacheSoftwareFoundation,/

Benchmarking127.0.0.1(bepatient)

Completed1000requests

Completed2000requests

Completed3000requests

Completed4000requests

Completed5000requests

Completed6000requests

Completed7000requests

Completed8000requests

Completed9000requests

Completed10000requests

Finished10000requests

ServerSoftware:

ServerHostname:127.0.0.1

ServerPort:9999

DocumentPath:/

DocumentLength:15bytes

ConcurrencyLevel:1000

Timetakenfortests:0.760seconds

Completerequests:10000

Failedrequests:0

Totaltransferred:1170000bytes

HTMLtransferred:150000bytes

Requestspersecond:13152.77[#/sec](mean)

Timeperrequest:76.030[ms](mean)

Timeperrequest:0.076[ms](mean,acrossallconcurrentrequests)

Transferrate:1502.81[Kbytes/sec]received

ConnectionTimes(ms)

minmean[+/-sd]medianmax

Connect:025.0125

Processing:2126.910215

Waiting:2106.59213

Total:3159.911217

Percentageoftherequestsservedwithinacertaintime(ms)

50%11

66%14

75%17

80%19

90%23

95%42

98%45

99%48

100%217(longestrequest)

root@kerisy:/home/zoujiaqing#ab-n10000-c1000http://127.0.0.1:1234/

ThisisApacheBench,Version2.3

Copyright1996AdamTwiss,ZeusTechnologyLtd,/

LicensedtoTheApacheSoftwareFoundation,/

Benchmarking127.0.0.1(bepatient)

Completed1000requests

Completed2000requests

Completed3000requests

Completed4000requests

Completed5000requests

Completed6000requests

Completed7000requests

Completed8000requests

Completed9000requests

Completed10000requests

Finished10000requests

ServerSoftware:

ServerHostname:127.0.0.1

ServerPort:1234

DocumentPath:/

DocumentLength:19bytes

ConcurrencyLevel:1000

Timetakenfortests:1.039seconds

Completerequests:10000

Failedrequests:0

Non-2xxresponses:10000

Totaltransferred:1760000bytes

HTMLtransferred:190000bytes

Requestspersecond:9622.04[#/sec](mean)

Timeperrequest:103.928[ms](mean)

Timeperrequest:0.104[ms](mean,acrossallconcurrentrequests)

Transferrate:1653.79[Kbytes/sec]received

ConnectionTimes(ms)

minmean[+/-sd]medianmax

Connect:01817.61650

Processing:02818.424217

Waiting:02213.319217

Total:04633.646217

Percentageoftherequestsservedwithinacertaintime(ms)

50%46

66%60

75%75

80%84

90%95

95%99

98%112

99%117

100%217(longestrequest)

root@kerisy:/home/zoujiaqing#ab-n10000-c1000http://127.0.0.1:8888/

ThisisApacheBench,Version2.3

Copyright1996AdamTwiss,ZeusTechnologyLtd,/

LicensedtoTheApacheSoftwareFoundation,/

Benchmarking127.0.0.1(bepatient)

Completed1000requests

Completed2000requests

Completed3000requests

Completed4000requests

Completed5000requests

Completed6000requests

Completed7000requests

Completed8000requests

Completed9000requests

Completed10000requests

Finished10000requests

ServerSoftware:

ServerHostname:127.0.0.1

ServerPort:8888

DocumentPath:/

DocumentLength:28bytes

ConcurrencyLevel:1000

Timetakenfortests:1.827seconds

Completerequests:10000

Failedrequests:0

Totaltransferred:1290000bytes

HTMLtransferred:280000bytes

Requestspersecond:5474.02[#/sec](mean)

Timeperrequest:182.681[ms](mean)

Timeperrequest:0.183[ms](mean,acrossallconcurrentrequests)

Transferrate:689.60[Kbytes/sec]received

ConnectionTimes(ms)

minmean[+/-sd]medianmax

Connect:013113.40998

Processing:122430.820428

Waiting:122430.820428

Total:1238136.725

Percentageoftherequestsservedwithinacertaintime(ms)

50%20

66%22

75%24

80%25

90%28

95%32

98%61

99%1026

100%1425(longestrequest)

root@kerisy:/home/zoujiaqing#ab-n10000-c1000http://127.0.0.1:8080/

ThisisApacheBench,Version2.3

Copyright1996AdamTwiss,ZeusTechnologyLtd,/

LicensedtoTheApacheSoftwareFoundation,/

Benchmarking127.0.0.1(bepatient)

Completed1000requests

Completed2000requests

Completed3000requests

Completed4000requests

Completed5000requests

Completed6000requests

Completed7000requests

Completed8000requests

Completed9000requests

Completed10000requests

Finished10000requests

ServerSoftware:swoole-http-server

ServerHostname:127.0.0.1

ServerPort:8080

DocumentPath:/

DocumentLength:12bytes

ConcurrencyLevel:1000

Timetakenfortests:1.466seconds

Completerequests:10000

Failedrequests:0

Totaltransferred:1600000bytes

HTMLtransferred:120000bytes

Requestspersecond:6819.48[#/sec](mean)

Timeperrequest:146.639[ms](mean)

Timeperrequest:0.147[ms](mean,acrossallconcurrentrequests)

Transferrate:1065.54[Kbytes/sec]received

ConnectionTimes(ms)

minmean[+/-sd]medianmax

Connect:235911.56089

Processing:248423.379156

Waiting:206015.259110

Total:8214324.4139207

Percentageoftherequestsservedwithinacertaintime(ms)

50%139

66%150

75%155

80%160

90%174

95%191

98%204

99%205

100%207(longestrequest)

按照这个ab测试结果来看性能最差的是nodejs,最好的是dlang的框架,其次是golang的http模块,php的worker框架性能还是可以的,相信php7出来以后还能有很多提升。

golang: 9622 qps

dlang: 13152 qps

nodejs: 5474 qps

php: 6819 qps

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。