Show Table of Contents
11.8. 对 Undercloud 进行性能微调
本节中提供的建议针对于提高 Undercloud 的性能。您可以根据自己的需要实施相关的建议。
- OpenStack Authentication 服务(
keystone)使用一个基于令牌(token)的系统控制对其它 OpenStack 服务的访问。在运行了一定时间后,数据库中会积累大量不再使用的令牌。我们推荐创建一个 cronjob 来定期删除数据库中的令牌表。例如,在每天早上 4 点删除令牌表:0 04 * * * /bin/keystone-manage token_flush
- 在每次运行
openstack overcloud deploy命令时,Heat 会把所有模板文件复制到它的数据库中的raw_template表中。raw_template表会包括过去所有的模板,并随着时间的推移变得非常大。您可以创建一个每日运行的 cronjob 来删除raw_templates表中那些不再使用的、存在时间超过一天的模板:0 04 * * * /bin/heat-manage purge_deleted -g days 1
- 在一些时候,
openstack-heat-engine和openstack-heat-api服务可能会消耗大量资源。如果这个情况发生了,在/etc/heat/heat.conf中设置max_resources_per_stack=-1,然后重启 heat 服务:$ sudo systemctl restart openstack-heat-engine openstack-heat-api
- 在一些时候,director 可能没有足够的资源来执行并行的节点设置(默认是可以同时并行设置 10 个节点)。为了减少并行节点的数量,把
/etc/nova/nova.conf中的max_concurrent_builds参数设置为一个小于 10 的值,然后重启 nova 服务:$ sudo systemctl restart openstack-nova-api openstack-nova-scheduler
- 编辑
/etc/my.cnf.d/server.cnf文件。可以用来微调的值包括:- max_connections
- 可以同时连接到数据库的连接数量。推荐的值是 4096。
- innodb_additional_mem_pool_size
- 数据库用来存储数据字典和其它内部数据结构的内存池的大小(以字节为单位)。它的默认值是 8M,对于 Undercloud,理想的值是 20M。
- innodb_buffer_pool_size
- 缓冲池(数据库用来缓存表和索引数据的内存区)的大小(以字节为单位)。它的默认值是 128M,对于 Undercloud,理想的值是 1000M。
- innodb_flush_log_at_trx_commit
- commit 操作对 ACID 原则的遵守,与高性能间的平衡控制。把它设置为 1。
- innodb_lock_wait_timeout
- 数据库交易在放弃等待行锁定前等待的时间长度(以秒为单位)。把它设置为 50。
- innodb_max_purge_lag
- 在 purge 操作滞后时,如何延迟 INSERT、UPDATE 和 DELETE 操作。把它设为 10000。
- innodb_thread_concurrency
- 并行操作系统线程的限制。理想情况下,为每个 CPU 和磁盘资源最少提供 2 个线程。例如,具有一个 4 核 CPU 和一个磁盘,则提供 10 个线程。
- 确保 heat 有足够的 worker 来执行 Overcloud 创建。通常情况下,这取决于 Undercloud 有多少个 CPU。为了手工设置 worker 的数量,编辑
/etc/heat/heat.conf文件,把num_engine_workers参数的值设置为所需的 worker 的数量(理想值是 4),然后重启 heat 引擎:$ sudo systemctl restart openstack-heat-engine

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.