无标题文章

2018-05-13  本文已影响0人  水手_c814

作业:

1.用sysbench压测MySQL,通过orzdba监控工具分析机器的容量,容量指标如下:LOAD/CPU/TPS/QPS。

下载上传sysbench-0.5.zip

解压sysbench-0.5.zip

安装依赖包

执行./autogen.sh

执行configure

[root@localhost sysbench-0.5]# ./configure --with-mysql-includes=/u01/svr/mysql5.6/include --with-mysql-

libs=/u01/svr/mysql5.6/lib

make && make install

执行prepar

[root@localhost sysbench-0.5]# /apps/svr/sysbench-0.5/sysbench/sysbench --test=/apps/svr/sysbench-0.5/sysbench/tests/db/select.lua --oltp-table-size=20000 --mysql-table-engine=innodb --mysql-user=root --mysql-password= --mysql-port=3306 --mysql-host=127.0.0.1 --mysql-db=test --max-=0 --max-time=60 --oltp-tables-count=20 --report-interval=10 --num_threads=2 prepare

执行run

/apps/svr/sysbench-0.5/sysbench/sysbench --test=/apps/svr/sysbench-0.5/sysbench/tests/db/select.lua --oltp-table-size=20000 --mysql-table-engine=innodb --mysql-user=root --mysql-password=  --mysql-port=3306 --mysql-host=127.0.0.1 --mysql-db=test --maxrequests=0 --max-time=60 --oltp-tables-count=20 --report-interval=10 --num_threads=2 run

开启orzdba监控

2.在订单表中(分库分表),有70%查询是通过主键和userId字段查询(userId是分库分表策略字段),

有20%要通过order_num(订单号)查数据,请问order_num(订单号)要怎么设计才能快带找到订单记录是在哪个库的哪个表?

有10%是非主键字段(比如:字段、渠道、商品,档期,品牌,收件人信息、金额等字段)去查记录,非主键字段要怎么设计才能快带定位到记录?

order_num设计思路:userId直接定位到库和表,order_num不能直接定位到库和表,如果通过order_num能查询到userId,问题解决。

解决方案: 

1)建立一个索引表记录order_num->userId的映射关系 

2)用order_num来访问时,先通过索引表查询到userId,再定位相应的库 

非主键字段可建立联合索引查询。

上一篇下一篇

猜你喜欢

热点阅读