本文采用多线程对MySQL进行并发读取访问,其中以返回用户所需的数据并显示在终端为测试结束节点,即将数据从MySQL集群读取后存储于客户端本地内存中。
测试过程如下:分别针对4种应用场景,从10、20、50、100个线程对MySQL展开测试。测试结果表明:对场景1)一般的并发访问能够满足需求;对于场景2)和3)响应时间在分钟级,分别处于1-3分钟和10分钟左右;对于场景4)则经常会抛出异常,并且以异常点为基准,其响应时间在30 分钟左右。
测试环境
硬件环境:
Localhost:CPU: Intel Core I5, 主频:3.10G, 内存:4G
MySQL集群:9台服务器
软件环境:
Localhost: Win7,jdk 1.8
MySQL集群: MySQL5.6.25(社区版)
数据规模:
数据条目:一个月的股票数据,2亿4千万余条记录,表结构为50个字段左右,具体内容见下面表结构。
表结构:
DROP TABLE IF EXISTS `TAQ_201504`;
CREATE TABLE `TAQ_201504` (
`SECCODE` varchar(6) NOT NULL,
`SECNAME` varchar(20) NOT NULL,
`TDATE` varchar(10) NOT NULL,
`TTIME` varchar(6) NOT NULL,
`LASTCLOSE` decimal(19,3) DEFAULT NULL,
`OP` decimal(19,3) DEFAULT NULL,
`CP` decimal(19,3) DEFAULT NULL,
`TQ` decimal(19,3) DEFAULT NULL,
`TM` decimal(19,3) DEFAULT NULL,
`TT` decimal(18,0) DEFAULT NULL,
`CQ` decimal(18,0) DEFAULT NULL,
`CM` decimal(19,3) DEFAULT NULL,
`CT` decimal(19,3) DEFAULT NULL,
`HIP` decimal(19,3) DEFAULT NULL,
`LOP` decimal(19,3) DEFAULT NULL,
`SYL1` decimal(19,3) DEFAULT NULL,
`SYL2` decimal(19,3) DEFAULT NULL,
`RF1` decimal(19,3) DEFAULT NULL,
`