Go语言主打高并发,这里就编写一个简单的HTTP服务器,然后用ab测试不加Nginx的Golang并发能力。

编译Linux固件:CGO_ENABLED=0;GOOS=linux;设置到GOENV中,set GOENV=C:\Users\gaochaowei\AppData\Roaming\go\env;

Aliyun服务器本地,ab -n 10000 -c 1000 http://localhost:6500/

当设置并发5000时,出现问题:socket: Too many open files (24)

提示文件描述符打开过多。这样的话就搞他,用ulimit -a查看一下:

 

 确实默认的最大文件打开数是1024,ulimit -n 102400可以修改一下,但是这个只能临时修改,具体永久修改方法不在这里说明,文件是/etc/security/limits.conf。

并发性能果然出色,有空具体分析吧。