一两风 發表於 2020-3-7 15:50:00

mongodb性能测试报告

<h1>1&nbsp;<strong>测试目的</strong></h1>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">模拟生产环境,测试当前mongoDB的各项性能。</span></p>
<h1>2 测试环境<strong><span style="font-family: 宋体"><br></span></strong></h1>
<h2>2.1&nbsp;<strong>软件配置</strong></h2>
<p style="margin-left: 30px"><span style="font-family: 宋体"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307154254782-803159302.png"></span></p>
<h2>2.2&nbsp;<strong>硬件配置</strong></h2>
<p style="margin-left: 30px">&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307154414870-1797552903.png"></p>
<h1>3&nbsp;<strong>测试工具</strong></h1>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">YCSB是雅虎开源的NoSQL测试工具,通常用来对noSQL数据库进行性能,这里我们使用的是ycsb-mongodb-binding-0.15.0.tar.gz包。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">需要新建配置文件,并调整参数,并利用load/run命令,加载数据进行性能测试。</span></p>
<h2><strong>3.1</strong><strong>使用简介</strong></h2>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#ycsb包解压后的目录结构</span></p>
<p style="margin-left: 30px"><strong><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307154543507-1245787399.png"></strong></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#使用前,我们要先了解命令结构</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">命令示例:</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#/opt/ycsb/ycsb-mongodb-binding-0.15.0/bin/ycsb load mongodb -threads 1 -P workloads/workloada -p fieldcount=1 &nbsp;-p fieldlength=1024&nbsp; &nbsp;-p table=ycsb1 -p clientbuffering=true -p mongodb.url=mongodb://用户:密码@ip:port/test?authSource=admin</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表1-4 命名参数说明</span></p>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">参数</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">含义</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">bin/ycsb</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">命令本身。</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">load/run/shell</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">指定这个命令的作用,分别代表加载数据/运行测试/交互界面。</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongodb/hbase10/basic..</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">指定这次测试使用的驱动,也就是这次究竟测的是什么数据库,有很多选项,可以ycsb --help看到所有。</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">threads</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">线程数,模拟客户端数</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">-P</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">选择加载的配置文件</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloads/workloada</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">指定测试的参数文件,默认有6种测试模板,加一个大模板;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloada:读写均衡型,50%/50%,Reads/Writes</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadb:读多写少型,95%/5%,Reads/Writes</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadc:只读型,100%,Reads</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadd:读最近写入记录型,95%/5%,Reads/insert</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloade:扫描小区间型,95%/5%,scan/insert</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadf:读写入记录均衡型,50%/50%,Reads/insert</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workload_template:参数列表模板</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">-p fieldcount=1</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">单条记录字段个数:1</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">-p fieldlength=1024</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">每个字段的大小: 1024Bytes</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;-p table=</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">自定义表名</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">-p clientbuffering=true</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">客户端写缓存&nbsp;&nbsp;&nbsp;</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="195">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">-p mongodb.url=</span></p>


















</td>
<td valign="top" width="373">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">指定测试的数据库的认证信息,账号密码,地址端口和库名</span></p>


















</td>


















</tr>


















</tbody>


















</table>
<p style="text-align: left">&nbsp;</p>
<h2><strong>3.2 </strong><strong>YCSB<span style="font-family: 宋体">测试参数解析</span></strong></h2>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloads目录里面下包含自带了6种压力测试场景。 如下图:</span></p>
<p style="text-align: left; margin-left: 30px"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307160641219-258723681.png"></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">文件和相应场景的对应关系如下:</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloada:读写均衡型,50%/50%,Reads/Writes</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadb:读多写少型,95%/5%,Reads/Writes</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadc:只读型,100%,Reads</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadd:读最近写入记录型,95%/5%,Reads/insert</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloade:扫描小区间型,95%/5%,scan/insert</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workloadf:读写入记录均衡型,50%/50%,Reads/insert</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">示例文件:</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#vim&nbsp;workloads/workloada</span></p>
<p style="text-align: left; margin-left: 30px"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307160719372-1377859361.png"></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表1-5 workload参数含义</span></p>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">参数</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">含义</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">recordcount=1000</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">YCSB&nbsp;load(加载元数据)命令的参数,默认值1000表示默认加载的记录条数,可以在命令行显示修改该值。</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">operationcount=1000</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">YCSB&nbsp;run(运行压力测试)命令的参数,默认值1000表示默认选取数据库中的1000条数据进行压力测试。对于workloada这种测试场景,就意味着读数据在500左右,写数据也在500左右。</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">workload=com.yahoo.ycsb.workloads.CoreWorkload</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">指定了workload的实现类为&nbsp;com.yahoo.ycsb.workloads.CoreWorkload</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">readallfields=true</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表示查询时是否读取记录的所有字段</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">readproportion=0.5</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表示读操作的比例,该场景为0.5</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">updateproportion=0.5</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表示更新操作的比例,该场景为0.5</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">scanproportion=0</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表示扫描操作的比例</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">insertproportion=0</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表示插入操作的比例</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="299">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">requestdistribution=zipfian</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>


















</td>
<td valign="top" width="268">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表示请求的分布模式,YCSB提供uniform,&nbsp;zipfian,&nbsp;latest三种分布模式,</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">Uniform(等概率随机选择记录)、Zipfian(随机选择记录,存在热纪录)和Latest(近期写入的记录是热记录)</span></p>


















</td>


















</tr>


















</tbody>


















</table>
<p style="text-align: left">&nbsp;</p>
<h2><strong>3.3 </strong><strong>YCSB</strong><strong>测试工具命令</strong></h2>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1.先为指定的库和表指定hash分片</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongo&nbsp; &nbsp;ip:端口</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&gt;sh.enableSharding("test")</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&gt;sh.shardCollection("test.usertable", {_id:"hashed"})</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">2.修改业务模型</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#cd /opt/ycsb-mongodb-binding-0.15.0/workloads</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#只插入100万条数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#vi workload-s1</span></p>
<p style="text-align: left"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307161022606-152346711.png"></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;3.数据写入</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#cd /opt/ycsb/ycsb-mongodb-binding-0.15.0</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#/opt/ycsb/ycsb-mongodb-binding-0.15.0/bin/ycsb load mongodb -threads 50&nbsp;-P workloads/workload-s1-p &nbsp;fieldcount=1 &nbsp;-p fieldlength=1024&nbsp; </span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">-p clientbuffering=true &nbsp;-p table=ycsb1 &nbsp;&nbsp;&nbsp;&nbsp;-p mongodb.url=mongodb://账号:密码@ip:端口,ip:端口,ip:端口/test?authSource=admin</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">4.查看插入的数据</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">#mongo&nbsp; ip:端口</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&gt;use test</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&gt;db.stats();</span></p>
<p><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307161352247-84009192.png"></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">插入100万条数据后,可以看到每个share上都有33万多的objects,</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">5.结果参数说明</span></p>
<p><span style="font-size: 14px"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307161455151-367764278.png"></span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">表1-6 ycsb运行结果说明</span></p>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">参数</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">说明</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">RunTime(ms):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">运行总时间(毫秒)</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">Throughput(ops/sec):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">吞吐量,每秒操作数</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Count:</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;Parallel Scavenge 回收次数</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Time(ms):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;Parallel Scavenge 回收时间</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Time(%):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;Parallel Scavenge 回收时间百分比</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Count:</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">PS MarkSweep 回收次数</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Time(ms):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">PS MarkSweep 回收时间</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Time(%):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">PS MarkSweep 回收时间百分比</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Count:</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">全局 GC 次数</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Time(ms):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">全局 GC 时间</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">, Time(%):</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">全局 GC 时间百分比</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">不同操作类型:READ\UPDATE\INSERT\SCAN等;</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">Operations</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">总操作数</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">AverageLatency(us)</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">平均延迟(微秒)</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">MinLatency(us)</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">最小延迟(微秒)</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">MaxLatency(us)</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">最大延迟(微秒)</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">95thPercentileLatency(us)&nbsp;:</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">95%的样本延迟低于该值</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">99thPercentileLatency(us)</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">99%的样本延迟低于该值</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="301">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">Return=OK&nbsp;&nbsp;</span></p>


















</td>
<td valign="top" width="266">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">结果(正确),总操作数</span></p>


















</td>


















</tr>


















</tbody>


















</table>
<p>&nbsp;</p>
<h1><strong>4 测试方法</strong></h1>
<ul>
<li><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">使用YCSB-mongoDB对测试环境下test库进行各项测试。</span></li>


















</ul>
<h2>4.1&nbsp;<strong>测试环境</strong></h2>
<p style="margin-left: 30px"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307161616069-518169666.png"></p>
<h2><strong>4.2</strong><strong><span style="font-family: 宋体">测试模型</span></strong></h2>
<p style="margin-left: 30px"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307161642135-129859886.png"></p>
<h2><strong>4.3</strong><strong><span style="font-family: 宋体">测试指标</span></strong></h2>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">(1)OPS:Operator per Second,数据库每秒执行的操作数。</span></p>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">(2)AverageLatency,平均响应时间。</span></p>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">(3)评判指标:直到发现ops不再增加而平均响应时间继续增加;</span></p>
<h2><strong>4.4<span style="font-family: 宋体">测试步骤</span></strong></h2>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1.先为指定的库和表指定hash分片</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#mongo&nbsp; &nbsp;ip:端口</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&gt;sh.enableSharding("test")</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&gt;sh.shardCollection("test.ycsb1", {_id:"hashed"})</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2.文档模型:</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">修改YCSB配置,每个文档大小约为1KB,默认“_id”索引。</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">3.配置workload文件。</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">按照表1-8业务模型所示的业务模型,配置workload中的“readproportion”、“insertproportion”、“updateproportion”等值。</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">4.以业务模型workload_s1为例,执行以下命令,准备数据。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#cd /opt/ycsb/ycsb-mongodb-binding-0.15.0</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#/opt/ycsb/ycsb-mongodb-binding-0.15.0/bin/ycsb<span style="background-color: rgba(255, 255, 0, 1)"> load</span> mongodb -threads 50 -P workloads/workload-s1 -p fieldcount=1 &nbsp;-p fieldlength=1024</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; -p clientbuffering=true -p table=ycsb1&nbsp;&nbsp; -p mongodb.url=mongodb://账号:密码@ip:端口,ip:端口,ip:端口/test?authSource=admin&nbsp;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp;1&gt;workload_s1_load.result &nbsp;2&gt; workload_s1_load.log</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">5.以业务模型workload_s1为例,执行以下命令,测试性能</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#cd /opt/ycsb/ycsb-mongodb-binding-0.15.0</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">#/opt/ycsb/ycsb-mongodb-binding-0.15.0/bin/ycsb <span style="background-color: rgba(255, 255, 0, 1)">run</span>&nbsp;mongodb -threads 50 -P workloads/workload-s1 -p fieldcount=1 &nbsp;-p fieldlength=1024</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"> -p clientbuffering=true&nbsp;-p table=ycsb1 -p&nbsp;mongodb.url=mongodb://账号:密码@ip:端口,ip:端口,ip:端口/test?authSource=admin</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; 1&gt;workload_s1_run.result &nbsp;2&gt; workload_s1_run.log</span></p>
<h1>5&nbsp;<strong>测试用例</strong></h1>
<h2>5.1&nbsp;<strong>&nbsp;<span style="font-family: 宋体">用例</span>1 insert </strong><strong>mongoDB<span style="font-family: 宋体">测试库</span></strong></h2>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td colspan="2" valign="top" width="568">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试用例1:</strong><strong>插入</strong><strong>mongoDB测试库</strong></span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试目的</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">在测试库100% 导入1亿条数据,观察请求状态</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>前置条件</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1、mongoDB正常运行</span><br><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">2、客户端运行正常</span></p>



















</td>



















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>步骤</strong></span></p>



















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1、根据需求测试项,指定mongodb分片,调整测试模型</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">2、准备数据&nbsp;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">/opt/ycsb/ycsb-mongodb-binding-0.15.0/bin/ycsb&nbsp;load&nbsp;mongodb</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"> -threads 50 -P workloads/workload-s1 -p fieldcount=1 </span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;-p fieldlength=1024&nbsp; &nbsp;&nbsp;-p clientbuffering=true -p&nbsp;&nbsp;</span><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">table=ycsb1&nbsp;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp; -p mongodb.url=mongodb://账号:密码@ip:端口,ip:端口,ip:端口/test?authSource=admin&nbsp;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1&gt;workload_s1_load.result &nbsp;2&gt; workload_s1_load.log</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">3、测试数据</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">/opt/ycsb/ycsb-mongodb-binding-0.15.0/bin/ycsb&nbsp;run&nbsp;mongodb -threads 50&nbsp; -P workloads/workload-s1 -p fieldcount=1 &nbsp;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">-p fieldlength=1024&nbsp; &nbsp;&nbsp;-p clientbuffering=true&nbsp;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">-p table=ycsb1 -p&nbsp;mongodb.url=mongodb://账号:密码@ip:端口,ip:端口,ip:端口/test?authSource=admin</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;1&gt;workload_s1_run.result &nbsp;2&gt; workload_s1_run.log</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">4、记录测试结果</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">5、调整线程数,继续测试,并记录结果</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">6、通过调整线程数,直到发现ops不再增加而响应时间继续增加。</span></p>



















</td>



















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>获取指标</strong></span></p>



















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1、读写耗时、吞吐量、平均响应时间</span></p>



















</td>



















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>参数化变量</strong></span></p>



















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;</span></p>



















</td>



















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>数据准备要求</strong></span></p>



















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;</span></p>



















</td>



















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>备注</strong></span></p>



















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">在测试前,确保网络畅通</span></p>



















</td>



















</tr>



















</tbody>


















</table>
<p>&nbsp;</p>
<h2><strong>5.2 <span style="font-family: 宋体">用例</span><span style="font-family: &quot;Times New Roman&quot;">2 update&amp;read </span></strong><strong>mongoDB<span style="font-family: 宋体">测试库</span></strong></h2>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td colspan="2" valign="top" width="568">
<p align="center"><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>测试用例2:</strong><strong>update</strong><strong>&amp;read </strong><strong>&nbsp;mongoDB测试库</strong></span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>测试目的</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">在测试库90%更新和10%读取测试1亿条数据,观察请求状态</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>前置条件</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1、mongoDB正常运行</span><br><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">2、客户端运行正常</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>步骤</strong></span></p>


















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1、根据需求测试项,指定mongodb分片,调整测试模型</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">2、预备数据 </span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">3.测试数据</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp; &nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">4、记录测试结果;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">5、调整线程数,继续测试,并记录结果;</span></p>
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">6、通过调整线程数,直到发现ops不再增加而响应时间继续增加。</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>获取指标</strong></span></p>


















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">1、读写耗时、吞吐量、平均响应时间</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>参数化变量</strong></span></p>


















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>数据准备要求</strong></span></p>


















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">&nbsp;</span></p>


















</td>


















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;"><strong>备注</strong></span></p>


















</td>
<td valign="top" width="462">
<p><span style="font-size: 15px; font-family: &quot;Microsoft YaHei&quot;">在测试前,确保网络畅通</span></p>


















</td>


















</tr>


















</tbody>

















</table>
<p>&nbsp;</p>
<h2><strong>5.3 <span style="font-family: 宋体">用例</span><span style="font-family: &quot;Times New Roman&quot;">3 read&amp;insert&amp;update </span></strong><strong>mongoDB<span style="font-family: 宋体">测试库</span></strong></h2>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td colspan="2" valign="top" width="568">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试用例3:</strong><strong>update&amp;read mongoDB测试库</strong></span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试目的</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在测试库65%读取,10%插入和25%更新测试1亿条数据,观察请求状态</span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>前置条件</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、mongoDB正常运行</span><br><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2、客户端运行正常</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>步骤</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、根据需求测试项,指定mongodb分片,调整测试模型</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2、预备数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">3.测试数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">4、记录测试结果;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">5、调整线程数,继续测试,并记录结果;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6、通过调整线程数,直到发现ops不再增加而响应时间继续增加。</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>获取指标</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、读写耗时、吞吐量、平均响应时间</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>参数化变量</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>数据准备要求</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>

















</td>

















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>备注</strong></span></p>

















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在测试前,确保网络畅通</span></p>

















</td>

















</tr>

















</tbody>
















</table>
<p>&nbsp;</p>
<h2><strong>5.4 <span style="font-family: 宋体">用例</span><span style="font-family: &quot;Times New Roman&quot;">4 read&amp;update </span></strong><strong>mongoDB<span style="font-family: 宋体">测试库</span></strong></h2>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td colspan="2" valign="top" width="568">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试用例</strong><strong>4</strong><strong>:</strong>read&amp;update<strong>&nbsp;mongoDB测试库</strong></span></p>














</td>














</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试目的</strong></span></p>














</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在测试库50%读取,50%更新测试1亿条数据,观察请求状态</span></p>














</td>














</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>前置条件</strong></span></p>














</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、mongoDB正常运行</span><br><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2、客户端运行正常</span></p>
















</td>
















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>步骤</strong></span></p>
















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、根据需求测试项,指定mongodb分片,调整测试模型</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2、预备数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">3.测试数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">4、记录测试结果;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">5、调整线程数,继续测试,并记录结果;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6、通过调整线程数,直到发现ops不再增加而响应时间继续增加。</span></p>
















</td>
















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>获取指标</strong></span></p>
















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、读写耗时、吞吐量、平均响应时间</span></p>
















</td>
















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>参数化变量</strong></span></p>
















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>
















</td>
















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>数据准备要求</strong></span></p>
















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>
















</td>
















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>备注</strong></span></p>
















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在测试前,确保网络畅通</span></p>
















</td>
















</tr>
















</tbody>















</table>
<p>&nbsp;</p>
<h2><strong>5.5 <span style="font-family: 宋体">用例</span><span style="font-family: &quot;Times New Roman&quot;">5 read &nbsp;</span></strong><strong>mongoDB<span style="font-family: 宋体">测试库</span></strong>&nbsp;</h2>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td colspan="2" valign="top" width="568">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试用例</strong><strong>5</strong><strong>:</strong><strong>read mongoDB测试库</strong></span></p>













</td>













</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试目的</strong></span></p>













</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在测试库100%读取1亿条数据,观察请求状态</span></p>













</td>













</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>前置条件</strong></span></p>













</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、mongoDB正常运行</span><br><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2、客户端运行正常</span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>步骤</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、根据需求测试项,指定mongodb分片,调整测试模型</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2、预备数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">3.测试数据</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp; &nbsp; &nbsp; &nbsp;参照如上命令</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">4、记录测试结果;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">5、调整线程数,继续测试,并记录结果;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6、通过调整线程数,直到发现ops不再增加而响应时间继续增加。</span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>获取指标</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1、读写耗时、吞吐量、平均响应时间</span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>参数化变量</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>数据准备要求</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>















</td>















</tr>
<tr>
<td valign="top" width="105">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>备注</strong></span></p>















</td>
<td valign="top" width="462">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在测试前,确保网络畅通</span></p>















</td>















</tr>















</tbody>














</table>
<p>&nbsp;</p>
<h1>6&nbsp;&nbsp;<strong>测试场景</strong></h1>
<table border="1" cellspacing="0">
<tbody>
<tr>
<td rowspan="2" valign="top" width="93">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>测试类别</strong></span></p>













</td>
<td rowspan="2" valign="top" width="87">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>场景</strong></span></p>













</td>
<td valign="top" width="209">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>场景的组织</strong></span></p>













</td>
<td rowspan="2" valign="top" width="141">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>场景的控制</strong></span></p>













</td>













</tr>
<tr>
<td valign="top" width="209">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>用例</strong></span></p>













</td>













</tr>
<tr>
<td valign="top" width="93">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongoDB性能测试</span></p>













</td>
<td valign="top" width="87">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">场景1</span></p>













</td>
<td valign="top" width="209">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6.1插入性能测试&nbsp;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">100% insert</span></p>













</td>
<td valign="top" width="141">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">云服务自带监控</span></p>













</td>













</tr>
<tr>
<td valign="top" width="93">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongoDB性能测试</span></p>













</td>
<td valign="top" width="87">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">场景2</span></p>













</td>
<td valign="top" width="209">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6.2更新,读取性能测试</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">90% update ,10% read</span></p>













</td>
<td valign="top" width="141">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">云服务自带监控</span></p>













</td>













</tr>
<tr>
<td valign="top" width="93">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongoDB性能测试</span></p>













</td>
<td valign="top" width="87">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">场景3</span></p>













</td>
<td valign="top" width="209">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6.3读取,插入,更新性能测试</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">65% read ,25% insert, 10% update</span></p>













</td>
<td valign="top" width="141">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">云服务自带监控</span></p>













</td>













</tr>
<tr>
<td valign="top" width="93">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongoDB性能测试</span></p>













</td>
<td valign="top" width="87">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">场景4</span></p>













</td>
<td valign="top" width="209">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6.4 读取,更新性能测试</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">50% read , 50% update</span></p>













</td>
<td valign="top" width="141">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">云服务自带监控</span></p>













</td>













</tr>
<tr>
<td valign="top" width="93">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongoDB性能测试</span></p>













</td>
<td valign="top" width="87">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">场景5</span></p>













</td>
<td valign="top" width="209">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">6.5 读取性能测试</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">100% read</span></p>













</td>
<td valign="top" width="141">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">云服务自带监控</span></p>













</td>













</tr>













</tbody>













</table>
<h1>7&nbsp;<strong>测试结果分析</strong></h1>
<h2>7.1&nbsp;<strong>&nbsp;Intert</strong><strong>性能测试</strong></h2>
<h3>7.1.1&nbsp;<strong>测试参数记录</strong></h3>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">分片集群100% insert写入测试记录结果如下:</span></p>
<table border="0" cellspacing="0">
<tbody>
<tr>
<td valign="center" width="49">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>线程</strong></span></p>













</td>
<td valign="center" width="96">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>类型</strong></span></p>













</td>
<td valign="center" width="61">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>数据条数</strong></span></p>













</td>
<td valign="center" width="88">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>runtime(</strong><strong>m</strong><strong>s)</strong></span></p>













</td>
<td valign="center" width="89">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>O</strong><strong>ps/sec</strong></span></p>













</td>
<td valign="center" width="138">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>AverageLatency(</strong><strong>u</strong><strong>s)</strong></span></p>













</td>
<td valign="center" width="89">
<p align="center"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px"><strong>操作执行数</strong></span></p>













</td>













</tr>
<tr>
<td valign="center" width="49">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">50</span></p>













</td>
<td valign="center" width="96">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">分片-insert</span></p>













</td>
<td valign="center" width="61">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="88">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="89"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></td>
<td valign="center" width="138"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></td>
<td valign="center" width="89">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>













</tr>
<tr>
<td valign="center" width="49">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">100</span></p>













</td>
<td valign="center" width="96">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">分片-insert</span></p>













</td>
<td valign="center" width="61">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="88">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="89">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="138"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></td>
<td valign="center" width="89">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>













</tr>
<tr>
<td valign="center" width="49">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">200</span></p>













</td>
<td valign="center" width="96">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">分片-insert</span></p>













</td>
<td valign="center" width="61">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="88">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="89"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></td>
<td valign="center" width="138">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="89">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>













</tr>
<tr>
<td valign="center" width="49">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">400</span></p>













</td>
<td valign="center" width="96">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">分片-insert</span></p>













</td>
<td valign="center" width="61">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="88">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="89">
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></p>













</td>
<td valign="center" width="138"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></td>
<td valign="center" width="89"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;</span></td>













</tr>













</tbody>













</table>
<h3>7.1.2<strong>测试结果</strong></h3>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;绘制图表</span></p>
<h3>7.1.3&nbsp;<strong>资源情况分析</strong></h3>
<p>&nbsp; &nbsp; <span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;Mongos是数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器,</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">mongos自己就是一个请求分发中心,它负责把对应的数据请求请求转发到对应的shard服务器上。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1.下图100线程时,使用mongostat监测到mongos的情况;</span></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165020726-81911242.png"></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">参数解释:</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">inserts &nbsp;&nbsp;每秒插入次数</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">command &nbsp;每秒的命令数</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">vsize &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;虚拟内存使用量</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">res &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;物理内存使用量</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">net_in/net_out &nbsp;网络进出流量</span></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2.下图为200线程时,mongos的cpu和带宽使用情况;</span></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165153460-382144067.png"></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165158888-19757778.png"></p>
<p><span style="font-size: 14px">&nbsp; </span>&nbsp; &nbsp;<span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">Mongos的cpu使用率稳定在50%左右,输入流量稳定在13MB/s;mongos进行协调请求,</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">再将数据进行转发到后端;通过监控到mongos的cpu,内存,网络带宽一直处在稳定的状态;</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 14px">&nbsp;</span><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">3.Config server,为配置服务器,存储所有数据库元信息(路由、分片)的配置。在生</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;产环境通常有多个 config server 配置服务器,因为它存储了分片路由的元数据,防止数据丢失。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">下图为400线程下config的cpu和内存使用率;cpu稳定在20%以下,内存稳定在30%以下;</span></p>
<p style="text-align: left"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165421562-11683137.png"></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165425567-740664607.png"></p>
<p>&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">4.每个分片都是一个独立的数据库,所有的分片组合起来构成一个逻辑上的完整的数据库。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">分片机制降低了每个分片的数据操作量及需要存储的数据量,达到多台服务器来应对不断增加的负载和数据的效果。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">下图为400线程,share的cpu,内存和带宽使用情况,看到cpu大部分时间已处于100%的状态;内存使用率在60%以下,带宽为16MB/s;</span></p>
<p style="text-align: left"><img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165520253-716640616.png"></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165524817-1638870003.png"></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/i-beta/1963340/202003/1963340-20200307165532837-690109318.png"></p>
<p>&nbsp;</p>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">在云环境上,后端为分布式存储池,无法监控具体的磁盘写入情况;</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">但每当内存中的数据累计到一定量(或者一定时间),MongoDB会将内存数据flush到磁盘,</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">并清理脏页数据,此时该shard的cpu使用率也会飙升,达到规格上限;</span></p>
<p style="text-align: left">&nbsp;</p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">后续省略</span></p>
<p style="text-align: left"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">。</span></p>
<p style="text-align: left"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">。</span></p>
<p style="text-align: left"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">。</span></p>
<h1>8&nbsp;<strong>测试结果总结</strong></h1>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">1.当前测试结果绘制图表</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">2.当前瓶颈分析</span></p>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">Sharding cluster是一种可以水平扩展的模式,在数据量很大时特给力,实际大规模应用一般会采用这种架构去构建。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">&nbsp;sharding分片很好的解决了单台服务器磁盘空间、内存、cpu等硬件资源的限制问题,把数据水平拆分出去,降低单节点的访问压力。</span></p>
<p><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px">从以上测试记录,当share的cpu达到100%时,插入,更新和读取等操作性能有所下降,综上,目前性能受限于分片的cpu。</span></p>
<p style="margin-left: 30px"><span style="font-family: &quot;Microsoft YaHei&quot;; font-size: 15px; background-color: rgba(255, 255, 0, 1)"><span style="color: rgba(255, 0, 0, 1)"><strong>特别说明</strong></span>:测试结论只适用于本次测试;</span></p><br><br>
来源:https://www.cnblogs.com/llwxhn/p/12434732.html
頁: [1]
查看完整版本: mongodb性能测试报告