首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新的MySQL服务器比旧的慢

新的MySQL服务器比旧的慢
EN

Stack Overflow用户
提问于 2015-08-24 00:51:21
回答 1查看 752关注 0票数 2

总之,我有一个新的mysql服务器,运行速度比它正在替换的服务器要慢。在测试时,我试图确定这是否是由于新服务器上几乎不存在的负载(IE:查询优化器不知道要这么做)。我只是不想打开这个开关和我们的应用程序超时和死亡。

现在对于details...both是MySQL (Percona) 5.5服务器。“旧”服务器是Xeon8c/16t、128 6x内存、6xSAS 15k RAID10盒。“新”服务器是双Xeon,16c/32t,256 10内存,6xSSDRAID 10盒。

旧服务器正在运行debian,新的Ubuntu。这几乎是两者之间唯一的非硬件区别。两者都使用完全相同的my.cnf配置。MySQL数据库严格为INNODB。

我有“新”服务器设置作为“旧”的从服务器进行测试。但是,大多数select查询在新的硬件上执行时要慢2-10倍,速度要快得多。即使缓冲池有时间加载,后续的查询运行仍然要慢得多。这几乎就像新服务器不会缓存任何东西,尽管有相同的信任。

解释并不总是显示相同的执行计划。如果我在新框上使用强制索引来获得正确的计划,这通常会有所帮助,但并不总是有用的。

对于它的地狱,下面是调整的部分的my.cnf目前在每个框。当前的活动服务器(旧的)大约是600 Selects/秒,150 InsertUpdate/秒。偶尔会把音量提高一倍。

代码语言:javascript
复制
key_buffer              = 128M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
max_connections         = 350 
read_rnd_buffer_size    = 2M
read_buffer_size        = 1M
sort_buffer_size        = 2M
join_buffer_size        = 3M 
bulk_insert_buffer_size = 8M
table_open_cache        = 4096
table_definition_cache  = 2048 
thread_cache_size       = 32
max_heap_table_size     = 64M 
tmp_table_size          = 64M 
query_cache_limit       = 4M
query_cache_size        = 128M

default-storage-engine  = innodb
innodb_buffer_pool_size = 81920M
innodb_additional_mem_pool_size = 20M
innodb_buffer_pool_instances = 4 
innodb_log_file_size    = 256M  
innodb_log_buffer_size  = 4M 
innodb_thread_concurrency = 12
innodb_flush_method     = O_DIRECT  
innodb_flush_log_at_trx_commit = 2  
innodb_file_format      = barracuda
innodb_support_xa       = 0         
innodb_file_per_table   = true
innodb_max_dirty_pages_pct=75 
innodb_read_io_threads  = 8
innodb_write_io_threads = 8
innodb_io_capacity      = 500

预先感谢您的帮助。

-编辑:样品查询和解释

这里有一个比较麻烦的查询(是故意选择的),它使用了一个联合和联接。它正在两个表中查看RFID数据,并将其合并。

Log_RFID_WebService有500万行。Log_RFID_Zonal有200万行。

旧服务器执行时间(3次运行):.110、.074、.074

新服务器执行时间(3次运行):.234、.250、.249

同样,似乎是一些kind...or的缓存问题--在新的server...which上临时表要慢得多,对我来说仍然没有意义。

代码语言:javascript
复制
SELECT 
sql_calc_found_rows 
Q.*,D.MktDlrCode,GetLastOrder(Q.CustId,D.StoreId,Q.Timestamp) As       LastOrder
FROM 
((SELECT
Zonal.ID,Zonal.CustId,Zonal.SID,'' As  Lane,Zonal.RFIDtag,ANT.Antenna,ANT.Location,ANT.Direction,Timestamp,DATE_FORMAT(Timestamp,'%c/%d/%y %l:%i:%s %p') As DateTimestamp
FROM Portal.Log_RFID_Zonal As Zonal 
INNER JOIN Portal.Log_RFID_Antennas As ANT ON
ANT.Antenna=Zonal.LocationCode AND
ANT.SID=Zonal.SID AND
ANT.IgnoreFlag=0
WHERE
Zonal.Timestamp>=STR_TO_DATE('08/01/2015','%m/%d/%Y') AND
Zonal.Timestamp<DATE_ADD(STR_TO_DATE('08/01/2015','%m/%d/%Y'), INTERVAL 1     day)
ORDER BY Zonal.Timestamp DESC
)
UNION
(SELECT
RFID.ID,RFID.CustId,RFID.SID,RFID.Lane,RFID.RFIDtag,ANT.Antenna,ANT.Location,ANT.Direction,Timestamp,DATE_FORMAT(Timestamp,'%c/%d/%y %l:%i:%s %p') As DateTimestamp
FROM Portal.Log_RFID_WebService As RFID 
INNER JOIN Portal.Log_RFID_Antennas As ANT ON
ANT.Antenna=RFID.LocationCode AND
ANT.SID=RFID.SID AND
ANT.IgnoreFlag=0 
WHERE
RFID.Timestamp>=STR_TO_DATE('08/01/2015','%m/%d/%Y') AND
RFID.Timestamp<DATE_ADD(STR_TO_DATE('08/01/2015','%m/%d/%Y'), INTERVAL 1 day)
ORDER BY RFID.Timestamp DESC
)
ORDER BY
Timestamp DESC
) As Q
INNER JOIN Stores As D ON
D.StoreId=Q.SID AND
D.ReportFlag=1
LIMIT 0,25;

对于这个特定的查询,这两个服务器上的解释是相同的:

代码语言:javascript
复制
Id SelType      Table        Type    Key       Rows    Extra
1 PRIMARY      <derived>    ALL               300     Using where;Using Index
1 PRIMARY      D            ref     StoreId   1       Using Where
2 DERIVED      Zonal        range   ix1       6368    Using where
2 DERIVED      ANT          eq_ref  PRIMARY   1       Using where
3 UNION        RFID         range   ix1       938     Using where
3 UNION        ANT          eq_ref  PRIMARY   1       Using where
  UNION RESULT              ALL               0       Using filesort
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-11 12:58:02

奇怪的是,禁用新服务器上的超线程似乎解决了这个问题。从没想到这会在低负载情况下产生影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32173067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档