BIND 10 #2699: DHCP performance: use composite search indexes on the lease4 table to improve performance

BIND 10 Development do-not-reply at isc.org
Mon Feb 11 21:10:51 UTC 2013


#2699: DHCP performance: use composite search indexes on the lease4 table to
improve performance
-------------------------------------+-------------------------------------
            Reporter:  marcin        |                        Owner:  tmark
                Type:  defect        |                       Status:
            Priority:  high          |  assigned
           Component:  dhcp4         |                    Milestone:
            Keywords:                |  Sprint-DHCP-20130214
           Sensitive:  0             |                   Resolution:
         Sub-Project:  DHCP          |                 CVSS Scoring:
Estimated Difficulty:  0             |              Defect Severity:
         Total Hours:  0             |  Medium
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------

Comment (by tmark):

 Create index statements were added for both the lease4 and for the lease6
 (see #2703) tables.
 Running simple clients demonstrated no issues creating, locating leases
 for renewal.

 A bit more digging innodb_flush_log_at_trx_commit shows that is can be set
 in mysql startup configuration file (my.cnf) it also indicates that it
 impacts the entire instance of mysql and has fairly broad implications
 when it comes to ACID compliance, replication, etc.  It is certainly
 something that would need to examined by local DBAs.

 From MySQL documentation

 "A value of 1 is required for ACID compliance. You can achieve better
 performance by setting the value different from 1, but then you can lose
 at most one second worth of transactions in a crash. With a value of 0,
 any mysqld process crash can erase the last second of transactions. With a
 value of 2, then only an operating system crash or a power outage can
 erase the last second of transactions. However, InnoDB's crash recovery is
 not affected and thus crash recovery does work regardless of the value.
 Note

 For the greatest possible durability and consistency in a replication
 setup using InnoDB with transactions, use
 innodb_flush_log_at_trx_commit=1, sync_binlog=1, and innodb-safe-binlog in
 your master server my.cnf file.

 Caution

 Many operating systems and some disk hardware fool the flush-to-disk
 operation. They may tell mysqld that the flush has taken place, even
 though it has not. Then the durability of transactions is not guaranteed
 even with the setting 1, and in the worst case a power outage can even
 corrupt the InnoDB database. Using a battery-backed disk cache in the SCSI
 disk controller or in the disk itself speeds up file flushes, and makes
 the operation safer. You can also try using the Unix command hdparm to
 disable the caching of disk writes in hardware caches, or use some other
 command specific to the hardware vendor.
 "

 Note the cautionary statement. Realized performance increases would likely
 vary widely from setup to setup.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2699#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list