搜索
首页数据库mysql教程数据库性能基准的5个问题

简介 数据库已经是绝大多数IT应用的核心,各种数据库看上去很大不同,多层体系结构以及SOA的发展,使得应用逻辑的实现前移。数据库的性能,与其功能相比较,变得越来越重要了。因此,性能是衡量数据库的非常重要的方面,我们这里将讨论数据库性能基准的五个

简介

数据库已经是绝大多数IT应用的核心,各种数据库看上去很大不同,多层体系结构以及SOA的发展,使得应用逻辑的实现前移。数据库的性能,与其功能相比较,变得越来越重要了。因此,性能是衡量数据库的非常重要的方面,我们这里将讨论数据库性能基准的五个常见问题。

1.Windows和Linux,哪个操作系统的性能基准结果更好?

这是一个有争议的很难回答的问题。虽然大部分可能认为Linux可能更快一些,但是Windows server平台在过去的几年中已经快速成熟了。下面是图表1,它是在相同的硬件环境下执行得到的在线TPC-C基准结果的图表,使用了32位和64位的Windows 2003 Server Release 2 和 CentOS 4 Update 3 (一个免费Redhat的企业版本)。

你可以看到,技术上看来是不分胜负的。因此,你可以按自己意愿选择,或者考虑到培训成本,可以选择拥有较多系统管理员的那个操作系统。

数据库性能基准的5个问题
图1

2. 32位还是64位,哪种更好?这会影响操作系统的选择吗?

64位Unix 服务器已经有很多年了,但64位的Windows操作系统才刚刚变成现实。(Windows NT可运行在DEC Alpha上,但一直没有真正进入主流。)很长一段时间,AMD的Athlon-64和Opteron处理器一直很出色。直到2006年中Intel的二代双核CPU的出现,它的表现相当让人惊讶!现在我们可以用更好的价格购买这些硬件。我们将能耗和房间制冷都计算到TCO中。

与32位相比,64位真的有明显差异吗?根据图表1,回答是否定的。但那是因为64位提供的主要优势在于增加了可寻址内存。图表2将再次显示TPC-C基准执行的结果,但系统和数据库可以分配的内存的总数量增加了。

数据库性能基准的5个问题
图2

我们有了这些很清楚的结果。这些数据显示,如果你的服务器有2GB或少一些的内存,在32位和64位的处理下没有明显的差别。但当你的服务器的内存增加到超过2GB以后,64位的优势就会显示出来.尽管诸如Oracle数据库有32位联接选项来欺骗数据库,使之可以访问稍多的内存(知名的巨大内存模型),这仅仅只能有一点效果。特大内存对系统和数据库来说,可以不断实现性能的改进。

一般情况下,服务器的内存大于4GB时,建议使用64位。不过值得注意的是,有时某些类型的硬件(例如驱动器,iSCS)和更新的数据库选项(例如,ASM,OCFS)在32位的Linux上工作得更好。

3.哪个数据库拥有最好的性能基准:Oracle 10g,SQL Server 2005 还是MySQL 5.0?

这也是一个有争议的问题。说到它,仅仅是把经常提到最多的三个数据库拿来讨论。(这里并不是有意忽略DB2-UDB,PostgreSQL或所有的其他数据库)。我们知道数据库厂商一般是不欢迎公布性能基准数据的,特别是在它们之间的比较情况。尽管如此,我们来讨论这个常见的问题。图表3显示了在MySQL,SQL Server和Oracle数据库上执行的TPC-C基准的结果。

数据库性能基准的5个问题
图3

碰巧的是我们不必冒任何厂商愤怒的风险,因为性能结果显示,它们的技术不分胜负。同样,你可以按照你的意愿选择数据库,或者是哪个数据库管理员多就选择哪一个。

当然,在这些厂商之间的花费是不同的,但是因为没有人会按照报价购买产品,所以按照这个因素进行比较TPC-C是很困难的。

4.如何确定一个服务器所能支持的最大并发OLTP用户数?

这始终是一个很难回答得问题,因为人们经常想听到,“Dell 1850能处理多少的并发用户量。”事实上,即使是同一系列的服务器,有相同的内存容量,但是也会由于CPU的数量、CPU的时钟频率、CPU的内核数、高速缓冲存储器的大小等因素导致能力的差异。比较服务器是很困难的,除非你有看起来几乎一样配置的机器。但是你也需要比较相同的网络和磁盘IO等情况。假设你那样做,问题变成你如何分析这样的基准结果,并准确确定那台服务器的最大并发用户负载。图表4显示了TPC-C基准的结果,只在一台服务器上确定拐点(即用户负载开始对响应时间有负面影响)。

数据库性能基准的5个问题
图4

如果你的最终用户要求响应时间(最常见的指标)少于2秒,那么在200个并发用户这个点你应该停下来。图4显示这个服务器可支持多达250个用户并发直到响应时间达到无法接受的急骤上升的点. 在这种情况下,TPS比率开始趋于平缓或减少,这个例子中碰巧,这两个点同时出现。但是并不总是如此明显;这是因为有时两个拐点并不一定排列的这么整齐。当拿不准时,建议通常关注TPC-C或OLTP类型事务的响应时间。

5.如何确定一个服务器所能支持的最大数据仓库大小?

这又是一个很难回答的问题,因为大多数人想听到是,“处理X千兆字节的数据需要一台Dell 1850。”上文中提到,比较服务器是不容易的事情,除非你拥有的主机几乎有一样的配置,以及一样的网络和磁盘I/O环境。磁盘I/O在这里是特别重要的,因为TPC-H结果大部分是由磁盘数量来决定的。如果能比较服务器,那么问题就变为如何从基准结果中确定那台指定服务器的最大数据仓库的大小。在图表5中,显示了基于几个强大的Oracle RAC服务器配置的TPC-H基准的测试结果。这些服务器访问分布在多个SAN和超过100个磁盘上的300GB数据。

数据库性能基准的5个问题
图5

在TPC-H中,值得注意的是,应该同时关注整体运行时和间平均响应时间。TPC-H的询问是非常复杂的,通常要花数个小时,或好几天才能完成。

根据图表6,最好的硬件配置大运行5小时,平均响应时间约4小时。然而,通过几次运行时间很长的测试,实际的响应时间的变化是很倾斜的。因此,如果你的用户对于高度复杂的决策支持查询能接受运行时间在4个小时的,8个节点的集群将可以满足要求。如果不能接受的话,那么需要购买更多磁盘,而不是增加更多的服务器。对于千兆容量的数据仓库,使用500到1000个磁盘可以达到最佳的效果,这种情况并不少见。

数据库性能基准的5个问题
图5
 
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
MySQL的角色:Web应用程序中的数据库MySQL的角色:Web应用程序中的数据库Apr 17, 2025 am 12:23 AM

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

mysql:构建您的第一个数据库mysql:构建您的第一个数据库Apr 17, 2025 am 12:22 AM

构建MySQL数据库的步骤包括:1.创建数据库和表,2.插入数据,3.进行查询。首先,使用CREATEDATABASE和CREATETABLE语句创建数据库和表,然后用INSERTINTO语句插入数据,最后用SELECT语句查询数据。

MySQL:一种对数据存储的初学者友好方法MySQL:一种对数据存储的初学者友好方法Apr 17, 2025 am 12:21 AM

MySQL适合初学者,因为它易用且功能强大。1.MySQL是关系型数据库,使用SQL进行CRUD操作。2.安装简单,需配置root用户密码。3.使用INSERT、UPDATE、DELETE、SELECT进行数据操作。4.复杂查询可使用ORDERBY、WHERE和JOIN。5.调试需检查语法,使用EXPLAIN分析查询。6.优化建议包括使用索引、选择合适数据类型和良好编程习惯。

MySQL初学者友好吗?评估学习曲线MySQL初学者友好吗?评估学习曲线Apr 17, 2025 am 12:19 AM

MySQL适合初学者,因为:1)易于安装和配置,2)有丰富的学习资源,3)SQL语法直观,4)工具支持强大。尽管如此,初学者需克服数据库设计、查询优化、安全管理和数据备份等挑战。

SQL是一种编程语言吗?澄清术语SQL是一种编程语言吗?澄清术语Apr 17, 2025 am 12:17 AM

是的,sqlisaprogramminglanguges pecialized fordatamanage.1)它具有焦点,focusingonwhattoachieveratherthanhow.2)sqlisessential forquerying forquerying,插入,更新,更新,和detletingdatainrelationalDatabases.3)

解释酸的特性(原子,一致性,隔离,耐用性)。解释酸的特性(原子,一致性,隔离,耐用性)。Apr 16, 2025 am 12:20 AM

ACID属性包括原子性、一致性、隔离性和持久性,是数据库设计的基石。1.原子性确保事务要么完全成功,要么完全失败。2.一致性保证数据库在事务前后保持一致状态。3.隔离性确保事务之间互不干扰。4.持久性确保事务提交后数据永久保存。

MySQL:数据库管理系统与编程语言MySQL:数据库管理系统与编程语言Apr 16, 2025 am 12:19 AM

MySQL既是数据库管理系统(DBMS),也与编程语言紧密相关。1)作为DBMS,MySQL用于存储、组织和检索数据,优化索引可提高查询性能。2)通过SQL与编程语言结合,嵌入在如Python中,使用ORM工具如SQLAlchemy可简化操作。3)性能优化包括索引、查询、缓存、分库分表和事务管理。

mySQL:使用SQL命令管理数据mySQL:使用SQL命令管理数据Apr 16, 2025 am 12:19 AM

MySQL使用SQL命令管理数据。1.基本命令包括SELECT、INSERT、UPDATE和DELETE。2.高级用法涉及JOIN、子查询和聚合函数。3.常见错误有语法、逻辑和性能问题。4.优化技巧包括使用索引、避免SELECT*和使用LIMIT。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)