Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于提高Mysql并发插入和读取数据性能的问题_Mysql_Tokudb - Fatal编程技术网

关于提高Mysql并发插入和读取数据性能的问题

关于提高Mysql并发插入和读取数据性能的问题,mysql,tokudb,Mysql,Tokudb,基本信息: 我的Mysql数据库使用TokuDB、InnoDB和MyIsam表 服务器信息: 16核,64GB内存,CentOS 6.2,MySQL V5.5 过程: 1.将大量数据从一个文本文件导入一个TokuDB表。 2.通过连接不同的表来选择数据 当进程1和进程2同时运行时,整个运行速度会慢得多 有人知道具体原因吗 有什么改进建议吗?将IO分离到不同的磁盘/阵列。将所有IO放在单个分区/阵列上会导致糟糕的性能。如果可能,请购买专用驱动器阵列,如IBM的DS3524或HP Smart arr

基本信息: 我的Mysql数据库使用TokuDB、InnoDB和MyIsam表

服务器信息: 16核,64GB内存,CentOS 6.2,MySQL V5.5

过程: 1.将大量数据从一个文本文件导入一个TokuDB表。 2.通过连接不同的表来选择数据

当进程1和进程2同时运行时,整个运行速度会慢得多

有人知道具体原因吗


有什么改进建议吗?

将IO分离到不同的磁盘/阵列。将所有IO放在单个分区/阵列上会导致糟糕的性能。如果可能,请购买专用驱动器阵列,如IBM的DS3524或HP Smart array。通过光纤通道(或更好的SAS2)连接DB服务器将为您带来难以置信的性能提升。几年前,我停止在服务器中放置大量磁盘。我在驱动器阵列上使用MySQL的性能是在服务器上使用磁盘的5倍。

在tokudb中,在空表上导入数据时,加载数据填充的速度要快得多(特别是当您具有非增量primarey键或唯一索引时)

可能会在两个不同的位置命中磁盘……我同意。无论HDD的速度和“低”延迟如何,在双进程上,它都将持续需要在磁盘的一部分和另一部分之间切换读取。如果导入和加入选择的过程发生很多,您可能需要考虑为SQLServer添加专用SSD驱动器。由于没有磁盘和读/写磁头,延迟几乎为零。你能详细介绍一下你的实验吗?了解您的模式、加载数据的方式、select查询的外观等都会很有帮助。您好,这不是我自己做的测试项目。这个模式是关于人类基因组测序数据的,这里很难描述。我们有一种管道,可以在一个磁盘位置连续生成大量数据(txt文件),然后将生成的数据加载到数据库中。同时,我们有一个分析工具需要从同一个数据库中获取数据(只是一些简单的联合sql查询)。问题是,如果同时加载和检索数据,将大大降低插入速度。。。