上一下代码
我的疑问:
1. 我用 ab -c 10 -n 100000 'http://192.168.81.130:8080/increase?key=user&count=1' 去压, server 端,应该是多 go routine 去处理, m 应该是保证不了原子性的吧?但是我的出来的值,却是
curl 'http://192.168.81.130:8080/debug'
debug v = map[user:100000]
很精准的值 100000 。。。测了多次都是。。。
所以,问题,是这个 http 包保证了?还是 map 保证了?还是其他?
我是否要用 https://golang.org/pkg/sync/atomic/ 包去保证原子性?
2. ab 的结果,如下图
Failed requests: 99991 有这么多 failed ?但是值又都有。这是为什么?
我的疑问:
1. 我用 ab -c 10 -n 100000 'http://192.168.81.130:8080/increase?key=user&count=1' 去压, server 端,应该是多 go routine 去处理, m 应该是保证不了原子性的吧?但是我的出来的值,却是
curl 'http://192.168.81.130:8080/debug'
debug v = map[user:100000]
很精准的值 100000 。。。测了多次都是。。。
所以,问题,是这个 http 包保证了?还是 map 保证了?还是其他?
我是否要用 https://golang.org/pkg/sync/atomic/ 包去保证原子性?
2. ab 的结果,如下图
Failed requests: 99991 有这么多 failed ?但是值又都有。这是为什么?