首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Percona集群+ Wordpress博客,性能低下

Percona集群+ Wordpress博客,性能低下
EN

Database Administration用户
提问于 2014-06-30 19:33:57
回答 1查看 1.1K关注 0票数 1

我们目前在几台机器上运行了900个WordPress博客,因此决定使用集群db加载平衡环境。

我遵循http://www.percona.com/doc/percona-xtradb-cluster/5.5/howtos/cenots_howto.html的指示,安装在Percona的XtraDB和导入的DB转储的3个节点上,总DB的大小约为40 GB。

现在,如果DB查询中没有插入,并且一切正常,但是如果我们开始在节点上执行一些插入(每秒4-10个插入),所有查询都会开始非常显着地减慢读写速度。

硬件:

Intel(R) Core(TM) i7 CPU 950 3.07GHz,内存26 GB

Xeon E5-2670 0@ 2.60GHz,内存64 GB

my.conf

代码语言:javascript
复制
[mysqld]
datadir=/var/lib/mysql
user=mysql
wsrep_provider=/usr/lib64/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.0.93,192.168.0.94,192.168.0.95
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

# Node #2 address
wsrep_node_address=192.168.0.94

# Cluster name
wsrep_cluster_name=my_centos_cluster

# SST method
wsrep_sst_method=xtrabackup

#Authentication for SST method
wsrep_sst_auth="sstuser:s3cret"

innodb_log_file_size = 50331648

# Bellow begins different testing values

wait_timeout=20
interactive_timeout=30

key_buffer_size=256M
query_cache_limit=256M
sort_buffer_size=128M
read_rnd_buffer_size=128M

tmp_table_size=1G
max_heap_table_size=1G

innodb_file_per_table=1

innodb_data_file_path = ibdata1:512M:autoextend


innodb_fast_shutdown = 0

innodb_buffer_pool_size        = 6144M
innodb_buffer_pool_instances   = 4
innodb_read_io_threads         = 64
innodb_write_io_threads        = 64

# CACHES AND LIMITS #
max_connections                = 200
thread_cache_size              = 50
open_files_limit               = 65535
table_definition_cache         = 1024
table_open_cache               = 2048

innodb_flush_log_at_trx_commit = 2
innodb_flush_method=O_DSYNC
#autocommit=OFF

sync_binlog=0

innodb_thread_concurrency = 0
innodb_io_capacity = 5000
bulk_insert_buffer_size = 256M

innodb_locks_unsafe_for_binlog=1
innodb_stats_on_metadata=0

有什么问题吗?机器运行在同一个局域网中,延迟~0.1ms

集群部署在OpenVZ虚拟化下。

EN

回答 1

Database Administration用户

发布于 2014-07-07 20:44:59

Galera/Percona XtraDB集群是一种提供高可用性、可伸缩性和完全一致性的解决方案。虽然在某些情况下,它可以提供一些写入缩放(主要是由于SQL编写不好),但它没有重点关注它,因为它不提供分片,因此它必须以(实际上)同步方式写入所有节点。这点很重要来决定加雷拉是否适合你。

尽管如此,在您的设置中有一些评论:

  • 虽然虚拟化本身并不是一个问题,但它可以添加一些不确定性的成分,这对于Galera来说至关重要,因为它的表现将和表现最差的节点一样糟糕。确保所有节点都具有可预测的性能。
  • 您可以减少集群中的一些持久性参数(例如,设置innodb_flush_log_at_trx_commit = 2),因为在崩溃的情况下,HA将通过节点冗余提供。这将提高性能。
  • 某些工作负载可能需要客户端更改,因为它们会损害Galera的性能。特别是,频繁更新同一行可以避免冲突和频繁回滚事务,从而减少了整个过程。使用Percona/XtraDB集群统计和分析来识别热点,并尝试从客户端避免这些热点。在某些情况下,一些商业应用程序可能需要稍微修改一些代码,以适应集群基础结构。
  • 网络性能至关重要。您说节点之间的延迟是0.1ms。事务的开销至少等于最慢节点延迟的两倍。
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/69391

复制
相关文章

相似问题

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