Articles of 数据库性能

OpenBase服务器数据库连接疑难解答?

我在解决一个工作站/服务器实例,其中应用程序挂起时,与我们的Windows 2003 Server OpenBase托pipe的数据库进行交互。 简而言之,应用程序将在执行某些function时进入“不响应”45秒或更长时间。 我希望对如何解决应用程序正在等待的一些一般想法。 在环境中运行这个软件的其他工作站不会出现问题,但是我们的服务器肯定是有点磨损。 我想找出这样的事情:程序是否等待数据库服务器的响应? 桌面防病毒是否在应用程序的前面? 答案可能是:继续使用Process Explorer和Process Monitor戳。 任何想法都欢迎。 谢谢!

理解MongoDB日志中的IXSCAN和COLLSCAN

我试图通过一些Mongo日志grep试图find我需要优化的慢操作。 查询日志logging缓慢,默认情况下,logging操作超过100毫秒。 我认为可以肯定地说,一般来说,searchCOLLSCANS将显示需要注意的查询。 不太清楚的是,如果IXSCANS是一个细节,我应该search。 考虑到这里的MongoDB文档: https://docs.mongodb.com/manual/reference/explain-results/#collection-scan-vs-index-use 我的理解是,这是一个二进制情况,查询是COLLSCAN或IXSCAN。 所以,如果我grep IXSCAN,我会看所有不是COLLSCANS慢查询。 这是真的?

为大型Microsoft SQL Server数据库优化文件,文件组和RAIDtypes的设置

首先 – 虽然我完全不屑一顾, 我也很感兴趣的是,如果有什么好的方法可以预先测量/收集数据,我可以使用这些数据来确定要遵循哪些“经验法则”,哪些要跳过。 我不能为应用程序显着改变模式,虽然我有一些怀疑,开发人员去索引快乐; 我不想拿出他们的索引,只是还没有取代他们。 我有一个相当大小的电话应用程序数据库,大约60GiB左右。 数据主要分解为: TRAFFIC表(不断的顺序写入,不定期的长时间扫描,沿着任何数量的报告索引,都快速增长,关联指数也很大)。 BILLING表(不断的顺序写入,经常扫描用户信息的account_info) 其他的一切(不断随机访问读写,比其他两个表更频繁) 我现在在单核机器上,3Gb专门用于SQL Server 2005和SQL Server 2005中的磁盘caching.msdb数据库和操作系统位于15k硬盘驱动器RAID 1上。日志文件和备份驱动器位于15k硬盘驱动器,RAID 1.电话数据库都在2 x 15k硬盘驱动器,RAID 10上(共有8个驱动器)。 我正在大力升级硬件。 在Server 2008 R2 x64上将拥有SQL Server 2008 R2,12个内核,32Gb的RAM。 它有四个内部HD,可能用于操作系统和备份,但最大的变化是连接的存储 – 在外部SAS接口上的12 x 15k驱动器。 我们在当前的服务器上有一点CPU / I / O的限制,但是还不足以打扰很多 – 这个新的服务器将会治愈许多罪过 – 但是我现在还是宁愿这样做。 我可以做一个巨大的RAID 10 6磁盘,并把整个数据库上,但我一直在考虑拆分TRAFFIC,它的索引文件到不同的分区 – 也可能是BILLING。 另外,其他的东西可能在它自己的文件中performance不错。 那么当然,总是有RAID 10和RAID 5/6,RAID 50/60要考虑。 我很想知道如何处理这个决定,以及如何确定是否有必要分拆硬盘,以便将TRAFFIC / […]

用专用硬件开发数据库服务器

我打算将我的一个开发数据库服务器移到自己的机器上。 我目前正在笔记本上运行它,这不是很方便。 DB Servel是PostgreSQL 9.0.1, OS是Gentoo。 只有一个开发服务器连接到数据库,所以没有太多的查询。 问题是数据量:我需要存储一个planet.osm ,目前超过170 Gb的副本,而且越来越多。 我正在寻找一个解决scheme,不需要我购买昂贵的硬件,因为这不是生产服务器。 我甚至可以重新使用我的一些低端机器,唯一的例外是他们的硬盘。 所以我的问题是,我应该寻找什么样的硬盘? 目前我正在使用一个相对便宜的1.5TB外置USB驱动器,上面有一个btrfs分区,但是我不确定这个速度足够让db服务器在170Gb的干草堆上find一个针。 我可以使用哪些工具来衡量Linux上的硬盘性能? 请注意,这个问题与这个有些相关,主要的区别在于我没有构build生产服务器。

在一个EC2实例上运行Apache并在另一个上运行MYQSL会好吗?

我目前正在运行一个使用〜1.5GB内存的VPS。 我正考虑切换到Amazon EC2,因为访问我们的主机很慢,停机时间很长等等。 一个EC2小实例有1.7GB,所以我假设如果我想迁移,我将需要多个实例。 这个想法是在一个实例上运行Apache,在另一个上运行MySQL,然后根据任一实例上的RAM使用情况找出运行其余进程(Mono,Red5等)的位置。 我不是一个真正的服务器专业人士,所以我不知道这是否有道理,或者是否有我缺less的东西。 如果Apache(Wordpress等)必须访问另一个EC2实例上的数据库,会不会有大的性能下降? 还有什么可能会使这是一个坏主意?

托pipeMySQL数据库的服务器configuration

我有一个Web应用程序,它使用托pipe在虚拟服务器上的MySQL数据库。 当我启动应用程序和数据库非常小时,我一直在使用这个服务器。 现在它已经增长,服务器无法处理数据库,导致频繁的数据库错误。 我打算得到一个服务器,我需要的build议。 就像我说的那样,db现在是9GB,并且正在快速增长。 有数百万行的表,这些表经常更新和查询。 数据库显示最常见的错误是Lock wait timeout exceeded 。 以前曾经有过“锁的总数超过锁表大小”的错误,但我可以通过增加Innodb缓冲池大小来避免它。 请build议在我应该购买的服务器中查找哪些configuration。 我读的地方,数据库理想应该有一个缓冲池大小大于其数据的大小,所以在我的情况下,我想我需要内存GT 9 GB。 我应该在服务器上寻找哪些其他的东西? 告诉我,如果我应该给你更多的信息

dm_exec_query_stats返回的工作时间大于经过的时间

我经常查询sys.dm_exec_query_stats来查找昂贵的查询。 我注意到在某些情况下,total_worker_time大于total_elapsed_time。 有谁知道为什么会这样? 我现在正在看一个例子,其中last_worker_time大于last_elapsed_time。 也许工作时间是多个处理器/内核之和?

将突袭10帮助我的数据库服务器的跨/秒?

我一直在阅读大约10K驱动器能够每秒运行166次交易,而在15K驱动器上每秒运行250次,在这两种情况下都是每秒钟的转数。 这对我的数据库意味着什么呢? 如果我购买15K驱动器,我希望能够每秒写250行到一张表,还是仅仅是由于ACID数据库的primefaces性质而成为理论极限? raid部分(标题)是:如果我在一个raid 10中有一系列的10k驱动器(例如4个),我能期望得到每秒交易量的2倍(假设我有非易失性cachingRAID控制器)? 或者,号码保持完全一样吗? 最后一件事情是,如果我从10k驱动器移动到15k驱动器,我将有多大的trans / sec理论增益(当一个raid 10)?

MySQL – 移动到性能较低的服务器,我可以走多less?

我已经运行了一个网站几年,现在真的不是在stream量增长,我想节省一些钱托pipe,但保持它的网站和API的忠实用户。 该数据库有一个近400万行表,并在一个4 GB双Xeon 5320服务器上。 当我用ps -aux检查这个服务器上的服务器统计信息时,我得到的MySQL的回收率大约为11%,所以没有严重的负载。 对MySQL的主要查询运行约0.45秒。 我popup到linode.com,看看我可以从他们的一个小盒子里得到什么样的performance,他们的360 MB内存XEN VPS在20秒内返回相同的查询。 显然不够好。 我已经看过MySQLvariables,它们都非常相似(如果有人感兴趣,我已经包含了下面的showvariables输出)。 有什么好的方法来决定什么大小的服务器是根据我来自哪里? 内存是否可能与大桌面尺寸有所不同? 有没有办法让我找出多less内存将是理想的? 这里是showvariables的输出(尽pipe我不确定这很重要)。 +———————————+————————————————————+ | Variable_name | Value | +———————————+————————————————————+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | /usr/ | | bdb_cache_size | 8384512 | | bdb_home […]

哪个数据库(DBMS)可以最好地利用多核和多内存?

我感兴趣的数据库是:SQL Server 2008,MySQL和PostgreSQL 9.0。 一般来说,我想知道哪些会“放大”最好的。 我已经读过PostgreSQL用于比MySQL更好的扩展 ,但是与MySQL的更新版本的差别缩小了。 除了一般信息外,我也在为我的具体情况寻找build议: 我有一个拥有20年股票数据和2年期权数据的64位SQL Server 2008 R2开发者版数据库。 硬件是英特尔i7至尊与6核心,12 GB RAM,64位Windows 7。 数据库是相当大的,强烈的计算,如移动平均,可能需要长达7分钟。 此外,甚至在查询竞争之后,磁盘活动也相当可观。 我正在做存储过程中的所有计算。 我的系统太慢了,我正在努力提高它的性能和效率。 我目前正在改进我的数据模型并调整软件设置。 有什么build议么? 另外,什么时候应该考虑使用MySQL Cluster? (既然我在问,我相信答案是,“不是你的!”)