gpt4 book ai didi

Amazon EC2 上的 MySQL/Magento 性能问题

转载 作者:行者123 更新时间:2023-11-29 02:32:38 24 4
gpt4 key购买 nike

我们在 Amazon EC2 上运行 2 台托管 Magento 电子商务网站的 Web 服务器和 1 台 MySQL 数据库服务器。

我们在 MySQL 服务器上遇到了主要的性能问题、死锁、“超出锁定等待超时”错误等,并且确实在努力解决这些问题。

我们最近将数据库服务器升级到 m1.xlarge 实例(从 m1.large),但我们仍然继续遇到这些问题。

我们一直将这些问题归因于我们在 EC2 服务器上经常看到的坏磁盘 IO,但最近我发现即使磁盘 IO 正常也会出现死锁等问题。

“sar”命令显示我们在高峰时段或执行数据库密集型操作(例如通过 Magento API 创建发票)时的磁盘 IO 性能非常差。我们经常看到 iowait 超过 20%。

下面是一个截图的链接,显示了在我们最近遇到的一个查询导致整个数据库变慢的问题中“mtop”的结果:

http://i.imgur.com/AARlc.png

此屏幕截图显示了阻止其余查询执行的一个或其他查询。它还显示出相当低的平均负载,我们经常看到在执行密集命令时平均负载上升到 3.0。

这里是 my.cnf 设置:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
innodb_file_per_table=1
key_buffer=512M
max_allowed_packet=64M
table_cache=512
innodb_thread_concurrency=5
innodb_buffer_pool_size=4976M
innodb_additional_mem_pool_size=8M
innodb_log_file_size=128M
innodb_log_buffer_size=8M
thread_cache_size=150
sort_buffer_size=4M
read_buffer_size=4M
read_rnd_buffer_size=2M
myisam_sort_buffer_size=64M
tmp_table_size=256M
query_cache_type=1
query_cache_size=128M
max_connections=400
wait_timeout=28800
innodb_lock_wait_timeout=120
max_heap_table_size=256M
long_query_time=3
log-slow-queries=...mysql-slow.log

[mysqld_safe]
log-error=...mysqld.log
pid-file=...mysqld.pid

我们广泛使用了 pt-query-digest 函数来分析我们的 MySQL 慢查询日志。

基本上,我们看到 sales_flat_quote 表 的更新和插入速度非常慢,但许多其他表也是如此。

sales_flat_quote 虽然不是特别大,表中只有大约 10 万行。

最佳答案

可能有几个根本原因:

  • 您的一些慢速查询可能会锁定表,从而使其他查询排队
  • 您的查询可能未优化
  • 您的查询可能需要一些表的更多索引

使用 this official tool 检查最慢的查询:

mysqldumpslow

关于Amazon EC2 上的 MySQL/Magento 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com