并发问题是每个程序员都要考虑的。
并发,简单的说,就是当多人一同访问你的系统,你的系统能否正常运行。
1.并发实例
下面我们来看一个数据库并发实例。
a) 如果我们程序中以name查找,比如 select * from testbatch where name is null
能查出多条记录,而且比较明显,在16:00:59分有2条记录,16:02:36也是。
这样来看该程序在并发上没控制好。
b) 如果我们光看id这一列,我们认为该程序控制住了并发。当然在实际应用,大型项目中,
我们使用自动增长列是会有问题的。通常的做法是用UUID来生成主键。
并发的控制,要控制好数据的事务(transaction), 也要考虑业务需求。
- 并发测试工具 jmeter
jmeter是apache的一个开源项目,我们可以用他来进行简单的并发测试。
首先从jmeter官网下载bin文件,然后双击 jmeter.bat来启动jmeter。
首先,修改测试计划名称,保存路径。
创建线程组。右键,添加-> Threads(Users)->线程组
设置线程数量
然后,创建http请求
添加响应断言。(添加->断言->响应断言)
上面的断言意思是,只要结果的字符中包含data则表示正确响应。
接着添加监听。(添加->监听器->察看结果树)
接着添加监听-Aggregate Graph
接着添加定时器 Synchronizing Timer.
接着启动测试。