diff options
author | James Li <yueli.m@gmail.com> | 2016-06-08 15:40:48 +0000 |
---|---|---|
committer | James Li <yueli.m@gmail.com> | 2016-08-12 15:54:36 +0000 |
commit | f40681c3dff446a733305430c411d9a9bddb3ee6 (patch) | |
tree | 2acf34eecd94f16a90f662e8756ef326766f2f1f /etc | |
parent | addc6b0df8b4bf90e036475965a0d5ff15116f2d (diff) | |
download | designate-f40681c3dff446a733305430c411d9a9bddb3ee6.tar.gz |
Improve performance of recordsets API
The performance of /v2/recordsets API was found slow when
filtering on large amount of recordsets. The patch proposes
the following ways to improve the performance,
and was tested with 1M recordsets.
1. To explicitly mention a correct table index in sql queries
for different sort keys and filtering keys.
We found mysql optimizer is not able to choose the most suitable index;
2. Introduce a new header 'OpenStack-DNS-Hide-Counts' to give operators
the flexibility of showing total_count or not, because we found that
the count query does not scale well on a large amount of records.
Performance results are at: https://gist.github.com/jamesyli/2eb9fb474a493477a9beb42fe122180f
DB migration
Change-Id: I7f3a09ce2c7396ff6ad02d3b5d562d186f66ed30
Diffstat (limited to 'etc')
-rw-r--r-- | etc/designate/designate.conf.sample | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/etc/designate/designate.conf.sample b/etc/designate/designate.conf.sample index d46216a1..6870f8fc 100644 --- a/etc/designate/designate.conf.sample +++ b/etc/designate/designate.conf.sample @@ -191,7 +191,7 @@ debug = False # Indicate which header field names may be used during the actual request. # (list value) -#allow_headers = X-Auth-Token,X-Auth-Sudo-Tenant-ID,X-Auth-Sudo-Project-ID,X-Auth-All-Projects,X-Designate-Edit-Managed-Records +#allow_headers = X-Auth-Token,X-Auth-Sudo-Tenant-ID,X-Auth-Sudo-Project-ID,X-Auth-All-Projects,X-Designate-Edit-Managed-Records,OpenStack-DNS-Hide-Counts [cors.subdomain] @@ -214,7 +214,7 @@ debug = False # Indicate which header field names may be used during the actual request. # (list value) -#allow_headers = X-Auth-Token,X-Auth-Sudo-Tenant-ID,X-Auth-Sudo-Project-ID,X-Auth-All-Projects,X-Designate-Edit-Managed-Records +#allow_headers = X-Auth-Token,X-Auth-Sudo-Tenant-ID,X-Auth-Sudo-Project-ID,X-Auth-All-Projects,X-Designate-Edit-Managed-Records,OpenStack-DNS-Hide-Counts #----------------------- # Sink Service |