免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chinafenghao
打印 上一主题 下一主题

MySQL版《每周一议》之吐槽DBA和开发人员的烦恼(积分已转账-2013-3-22) [复制链接]

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
11 [报告]
发表于 2013-01-09 12:10 |只看该作者
@DiDeCrouse
@Hongqiyaodao

一家人嘛,呵呵

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
12 [报告]
发表于 2013-01-09 12:10 |只看该作者
@seesea2517
是有点冷清,不知道是不是活动没啥吸引力,还是天雷冷,大家都不愿意打字了。

论坛徽章:
0
13 [报告]
发表于 2013-01-09 12:35 |只看该作者
这么好的活动必须得支持,大家一起加入进来讨论啊!

论坛徽章:
0
14 [报告]
发表于 2013-01-09 12:43 |只看该作者
下面谈一谈MYSQL基准测试,整理了一下以前的文档和资料如下

MySQL基准测试在数据库性能优化中是一个非常重要的分支。文中讨论了MySQL性能因素以及如何测试CPU性能,同时使用具体的例子来展示几种已被广泛接受测试MySQL系统的实践方法,希望对你有所启迪。
MySQL基准测试在数据库性能优化中是一个非常重要的分支。本文目的在于让读者对关系型数据库系统有一个基本的了解,掌握MySQL以及如何管理使用Linux。文中讨论了MySQL性能因素以及如何测试CPU性能,同时使用具体的例子来展示几种实用的测试MySQL系统的实践方法。

为什么数据库管理员要在MySQL系统上运行基准测试呢?答案显而易见,倘若在一个模拟的实时环境中系统设计能够承受住压力并且满足性能目标,那么数据库管理员也无需大费周章了。

在深入了解MySQL基准测试程序机制前,弄清楚什么是基准测试,这一点非常重要。简单来说,基准测试是“运行计算机程序或操作行为,通过运行一些标准测试和一系列的映衬来评估对象的相对性能。”

CPU基准测试主要用来测试硬件和运算能力,而软件基准测试更多的则是测试概念元素。

在我们的案例中,软件基准测试中数据库管理系统基准测试是一个很好的例子。这种类型的测试目的是衡量数据库管理系统的吞吐量和响应时间。最终的测试结果会以分数显示,而这些分数主要用来比较。

数据库管理员一般很难分清基准测试和压力测试之间的区别。这一点我们可以理解,因为这两种条件有着类似的目标,即数据库容量。两者明显的不同点在于:基准测试给出的结果,以数字呈现,能够允许你在每个基准测试和服务器/系统中调整设置,这是可以改变的,同时也能反应出数据库管理员是成功还是失败。而压力测试则是把系统推向极端边缘用以了解系统的极限有多大。

在MySQL服务器运行基准测试时,性能因素是数据库管理员必须考虑的问题。那么,有哪些性能因素?答案就是:吞吐量,延迟时间和可扩展性。将这三个因素结合在一起,代表了MySQL服务器的整体性能。

那么我们如何进行MySQL基准测试呢?为了获取正确的结果,请遵守以下一些规则:

应该多次检查输入的数据;
应该多次运行基准测试,至少5次;
重新启动MySQL服务器以消除任何不必要的缓存因素;
数据库管理员要有兴趣、认真对待进程。
下面有几个影响基准测试的例子,我们在任何时候都应当避免这种情况出现:

在一台单一的虚拟机上运行基准测试;
不可忽视不同网络基础设施的影响;
使用MySQL服务器默认设置;
无需根据服务器配置特定的和独特的业务需求;
无法消除缓存问题;
运行基准测试时,忽视任何不必要的缓存问题。
如何在MySQL上运行基准测试?

在构建MySQL网站时把现有的技术文档增加到MySQL基准测试中,这是一个非常实用的基准测试功能。MySQL开发团队称,BENCHMARK ()函数常被用来测试MySQL进程有多快?它适用于MySQL客户端。

详细功能显示如:BENCHMARK (count, expr): The BENCHMARK ()函数执行的表达式为expr重复计算次数。测试的结果值始终为0。基准测试最重要的数字出现在几秒钟时间内。如下图示例:



这里有一些技巧包括如何获得BENCHMARK () 函数正确结果。这几点如下:

建议多次执行该函数;
允许仅适用scalar表达;
表达式必须返回单个列或单个行;
该功能减少了由于网络或语法分析器而带来的干扰。
使用SysBench

MySQL的开发者建议使用一款流行的测试工具——SysBench(由MySQL开发者开发),这是一款多功能的工具允许数据库管理员测试CPU、文件IO以及MySQL性能。

下面我们就来看下利用SysBench对CPU、MySQL进行基准测试。

CPU性能

用于CPU性能基准测试命令显示如下:该命令将启动一个进程并且产出大量的数字。

sysbench --test=cpu --cpu-max-prime=20000 run

然而,最重要的数字是以总的时间(以秒为单位)为主。利用所花费的时间来计算所需要的被测试的计算参数。这一点很重要,你可以用来对比基准测试在横跨多个系统时最有价值的数据。

MySQL性能

SysBench可以用来测量MySQL性能。要想做到这一点,首先我们可以在数据库‘monitis’中创建1,000,000行数据测试表。通过以下命令执行:

sysbench --monitis=oltp --oltp-table-size=1000000 --mysql-db=monitis --mysql-user=root --mysql-password=yourrootsqlpassword prepare

接着在MySQL基准测试中输入:

sysbench --monitis=oltp --oltp-table-size=1000000 --mysql-db=monitis –mysql-user=root –mysql-password=yourrootsqlpassword –max-time=60 –oltp-read-only=on –max-requests=0 –num-threads=8 run

当基准测试结果显示后,查看交易列表。这个值是以每秒为交换单位。

为了确保所需要的基准测试在系统中能够很好的运行,这里只需要输入简单的命令:

sysbench -- monitis =oltp --mysql-db= monitis --mysql-user=root --mysql-password=yourrootsqlpassword cleanup

尽管可能会出现大量的MySQL性能基准测试类型,但上面的这些信息足够你使用了。

最后,MySQL性能测试针对不同的项目采用不同的解决方案。这是因为由不同的需求、时间,目标决定的。当然在MySQL系统上运行基准测试,就其技术本身而言在日常业务运作时也是非常必要的,希望这些实践对你有所帮助。

评分

参与人数 1可用积分 +5 收起 理由
chinafenghao + 5 很给力!

查看全部评分

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
15 [报告]
发表于 2013-01-09 13:08 |只看该作者
huzi1986 发表于 2013-01-08 21:54
1、权限:开始没有DBA的时候,便于开发方便 ,运维给开发开的都是all privileges

2、安全: 允许root远 ...

是啊,我们这里开发测试也都是所有权限,使用root。
用关键字命名还真是个大问题,我也有遇到,忘记写上去了,这个导致在 mysql4.0 dump 出来的文件在 mysql5 里无法使用,刚刚前两天发生的事情。

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
16 [报告]
发表于 2013-01-09 13:13 |只看该作者
回复 14# xike2002


    这个……会不会是回错帖子了

论坛徽章:
0
17 [报告]
发表于 2013-01-10 16:29 |只看该作者
seesea2517 发表于 2013-01-08 15:04
这个话题我最喜欢了,哈哈。

1. 索引的故事


开服人员,对于第 “3. 字段的故事” 深有感触,很烦总是要变更字段,于是就采取这种方法,美其名曰 封装,透明。
哈哈,苦了db

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
18 [报告]
发表于 2013-01-10 17:03 |只看该作者
回复 17# musezh2


    嘿嘿,你们的快乐是建立在DB的痛苦之上啊。

论坛徽章:
0
19 [报告]
发表于 2013-01-10 18:23 |只看该作者
xike2002 发表于 2013-01-09 12:43
下面谈一谈MYSQL基准测试,整理了一下以前的文档和资料如下

MySQL基准测试在数据库性能优化中是一个非常 ...


真好!

论坛徽章:
0
20 [报告]
发表于 2013-01-11 02:06 |只看该作者
回复 8# Hongqiyaodao

呵呵,不过有总比没有强啊
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP