搜尋
首頁資料庫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索引优化器工作原理深入理解MySQL索引优化器工作原理Nov 09, 2022 pm 02:05 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

sybase是什么数据库sybase是什么数据库Sep 22, 2021 am 11:39 AM

sybase是基于客户/服务器体系结构的数据库,是一个开放的、高性能的、可编程的数据库,可使用事件驱动的触发器、多线索化等来提高性能。

visual foxpro数据库文件是什么visual foxpro数据库文件是什么Jul 23, 2021 pm 04:53 PM

visual foxpro数据库文件是管理数据库对象的系统文件。在VFP中,用户数据是存放在“.DBF”表文件中;VFP的数据库文件(“.DBC”)中不存放用户数据,它只起将属于某一数据库的 数据库表与视图、连接、存储过程等关联起来的作用。

数据库系统的构成包括哪些数据库系统的构成包括哪些Jul 15, 2022 am 11:58 AM

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

microsoft sql server是什么软件microsoft sql server是什么软件Feb 28, 2023 pm 03:00 PM

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

access数据库的结构层次是什么access数据库的结构层次是什么Aug 26, 2022 pm 04:45 PM

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

mysql查询慢的因素除了索引,还有什么?mysql查询慢的因素除了索引,还有什么?Jul 19, 2022 pm 08:22 PM

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?

go语言可以写数据库么go语言可以写数据库么Jan 06, 2023 am 10:35 AM

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

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.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具