介绍我从我以前的问题中得出了这个问题 单驱动与多个驱动器

从一个非常有用的成员那里得到非常详细的答案之后 Rolandomysqldba 并了解到多驱动器在某些情况下可以有很大帮助的事实。我开始研究设置的多驱动器,与发现的设置相比,这只是一点点。

更多信息我发现像

http://www.newegg.com/product/product.aspx?item=n82e16811152212

虽然有些视频甚至显示了这类设备的写作速度的GB

真正的问题如果有足够的RAM可以容纳索引,MySQL或其他开源RDBM(不是企业分级的RDBMS,例如Oracle,因为它在SAN上运行很常见)可以轻松地在这些野兽上运行吗?

因为它们包含真正的多驱动器设置,并且可以使用数十个头部。

我敢肯定,这不会那么简单,因为如果它很容易,那么大多数企业设置都会使用商品服务器。那么,使用这些极端存储解决方案面临哪些问题?

有帮助吗?

解决方案

所有要做的就是运行以下查询:

迈萨姆

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1))
recommended_key_buffer_size FROM
(SELECT LEAST(POWER(2,32),KBS1) KBS
FROM (SELECT SUM(index_length) KBS1
FROM information_schema.tables
WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','mysql')) AA ) A,
(SELECT 2 PowerOf1024) B;

Innodb

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size
FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables
WHERE engine='InnoDB') A,
(SELECT 2 PowerOf1024) B;

这些将为现有的Myisam和InnoDB缓冲区池的Myisam键缓存提供正确的尺寸,用于INNODB数据和索引。

在运行这些SQL查询建议缓冲尺寸时,人为因素仍然必须启动。我们必须根据硬件和经常访问的数据计划数据使用情况。我们还必须问:推荐的缓冲区量,我的工作集实际上将位于内存中?

如果您将MySQL配置为使用75%的RAM作为InnoDB,即使在专用的MySQL Server上,操作系统也会忙于磁盘。仅仅因为MySQL可以为缓冲尺寸使用庞大的数字并不意味着可以按限制。两个有两个基本存储引擎要考虑。

商品硬件的使用仅显示MySQL的可配置性,并具有明显的结果。除非您使用32位RHEL(如果是的话,请立即停止使用,喝很多咖啡,升级),在存储野兽中升高缓冲尺寸可以非常信任。

例如,我的雇主拥有一个只专用于MySQL的3 dB服务器的客户。每个都有192GB的RAM,其中162GB是InnoDB缓冲池。工作组实际上是170GB。虽然有一些交换和分页正在进行,但数据库的性能令人震惊。 OS本身具有大约30GB的RAM(用于温度表的16GB RAM磁盘)。我敢肯定,与Komodo Dragon大小的DB服务器相比,这些服务器只是很小的蜥蜴。 如果正确配置,MySQL可以完成任务.

请记住,InnoDB将自己的检查和余额设置在适当的位置,因为当前的源代码将InnoDB日志文件限制为4GB。情况就是如此,因为InnoDB最初是在考虑商品硬件的情况下设计的。鉴于此,无论存储野兽的硬件设置和您选择运行的MySQL版本如何,酸性交易吞吐量都可能在那里瓶颈。

结论

可以推动大型DB服务器上的限制。您应该始终考虑在内存,交换空间,工作数据集和预期的交易数量方面对OS进行考虑。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top