{"id":16,"date":"2018-10-04T10:13:00","date_gmt":"2018-10-04T10:13:00","guid":{"rendered":""},"modified":"2018-12-10T14:09:58","modified_gmt":"2018-12-10T14:09:58","slug":"hammerdb-best-practice-for-oracle-performance-and-scalability","status":"publish","type":"post","link":"https:\/\/www.hammerdb.com\/blog\/uncategorized\/hammerdb-best-practice-for-oracle-performance-and-scalability\/","title":{"rendered":"HammerDB Best Practice for Oracle Performance and Scalability"},"content":{"rendered":"<div><span style=\"font-family: Verdana, sans-serif; font-size: 11pt;\">With the move to HammerDB v3.0 as well as refactoring a lot of code the documentation moved to Docbook format. Previously at v2 there was an Oracle best practice document that is no longer included in the current documentation although a number of people have asked for it.\u00a0 Nevertheless lot of this information remains relevant to HammerDB v3.0 and v3.1 including gathering a number of links to older blog posts focusing on specific areas such as CPU, Memory and I\/O. Working through this base configuration information can give a significant head start in configuring an Oracle Database to get the best results from HammerDB. As an Intel employee (#IAMINTEL) the examples are taken from Oracle on Linux on Intel although the approach is the same for whatever system you are testing.<\/span><\/div>\n<h6 style=\"mso-list: none; tab-stops: 36.0pt; text-indent: 0cm;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">CPU, Memory and I\/O<\/span><\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">The key dependence of performance is hardware related with the CPU being the most important factor on the levels of performance available from the rest of the system. At the next level from the CPU is memory with the best levels of performance available from having sufficient memory to cache all of the test database. Finally I\/O performance is crucial with modern systems and CPUs available to drive high levels of throughput, In particular for OLTP workloads write performance to transaction logs is critical and often a major resource constraint.\u00a0 Solid State Disks (SSDs) are strongly recommended for both data areas and redo logs to provide the I\/O capabilities to match the CPU performance of up to date systems. <\/span><\/span><\/div>\n<h6><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">BIOS Settings<\/span><\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Systems are shipped with default BIOS and are not necessarily optimized for database performance.\u00a0 BIOS settings should be checked and settings verified with the vendor to ensure that they are advantageous to Oracle Performance. A common error is to accept a default setting of \u201cHigh Performance\u201d that sets a subset of lower level BIOS settings without verifying what these are.\u00a0 A default setting of \u201cHigh Performance\u201d will often result in lower performance for a database environment. <\/span><\/span><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Power Saving<\/span><\/h6>\n<div><span style=\"font-family: Verdana, sans-serif;\"><span style=\"font-size: 11pt;\">Modern CPUs and systems running Linux are designed to offer high levels performance whilst incorporating power saving features such as Turbo Boost and C-state and P-state management.\u00a0 Firstly you should ensure that your version of Linux paying particular attention to the kernel version is compatible with the CPU in your system. You should not assume full compatibility until verified.\u00a0 Once you have done this check the features of your CPU model and verify your configuration of the scaling governor and energy performance bias with tools such as PowerTop and turbostat. Full details on how to do this are provided in the blog post <\/span><span style=\"font-size: 11pt;\"><a href=\"https:\/\/communities.intel.com\/community\/itpeernetwork\/datastack\/blog\/2013\/08\/05\/how-to-maximise-cpu-performance-for-the-oracle-database-on-linux\"><span style=\"color: blue;\">How to Maximise CPU Performance for the Oracle Database on Linux<\/span><\/a><\/span><b style=\"color: blue;\"><span style=\"font-size: 11pt;\">.<\/span><\/b><\/span><b> <\/b><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Verify Single Threaded Performance<\/span><\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Once you have set your BIOS settings and Power Saving settings verify that you achieve maximum CPU single threaded performance by creating and running the following stored procedure:<\/span><\/span><\/div>\n<pre style=\"mso-add-space: auto; mso-hyphenate: auto; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-pagination: widow-orphan;\"><span style=\"font-family: Courier New, Courier, monospace;\">SET SERVEROUTPUT ON <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">SET TIMING ON <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">DECLARE <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">n NUMBER := 0; <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">BEGIN <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">FOR f IN 1..10000000 <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">LOOP <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">n := MOD (n,999999) + SQRT (f); <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">END LOOP; <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">DBMS_OUTPUT.PUT_LINE ('Res = '||TO_CHAR (n,'999999.99')); <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">END; <\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\">\/ <\/span><\/pre>\n<div style=\"mso-add-space: auto; mso-hyphenate: auto; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-pagination: widow-orphan;\"><span style=\"font-family: Verdana, sans-serif;\"><span style=\"font-size: 11pt;\">More details on running this test are here <\/span><span style=\"font-size: 11pt;\"><a href=\"https:\/\/communities.intel.com\/community\/itpeernetwork\/datastack\/blog\/2013\/08\/07\/testing-c-state-settings-and-performance-with-the-oracle-database-on-linux\"><span style=\"color: blue;\">Testing C-State Settings and Performance with the Oracle Database on Linux<\/span><\/a><\/span><b><span style=\"font-size: 11pt;\">.<\/span>\u00a0<\/b><span style=\"font-size: 11pt;\">The test will produce a result such as follows where the elapsed time is important.<\/span><\/span><\/div>\n<pre><span lang=\"EN-US\" style=\"font-family: 'Courier New';\">Res = 873729.72<\/span>\r\n<span lang=\"EN-US\" style=\"font-family: 'Courier New';\">PL\/SQL procedure successfully completed.<\/span>\r\n<span lang=\"EN-US\" style=\"font-family: 'Courier New';\">Elapsed: 00:00:<span style=\"font-family: 'Courier New';\">07.88<\/span><\/span><\/pre>\n<p><span lang=\"EN-US\" style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Results will vary according to CPU model however typically a modern CPU will complete this test in 10 seconds or less according to configuration ensuring both system and Linux power saving settings are set optimally for Oracle performance.\u00a0<\/span><\/span><\/p>\n<h6>Hyper-Threading<\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Previously you will have determined your CPU features. One CPU feature that may be available is Hyper-Threading.\u00a0 If this feature is available it should be enabled and under a correctly configured system will result in a performance gain.\u00a0 Details on the benefits of Hyper-Threading are available here <a href=\"https:\/\/communities.intel.com\/community\/itpeernetwork\/datastack\/blog\/2013\/08\/23\/hyper-threading-on-or-off-for-oracle\"><span style=\"color: blue;\">Hyper-Threading On or Off for Oracle?<\/span><\/a><\/span><\/span><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Memory<\/span><\/h6>\n<div><span style=\"font-family: Verdana, sans-serif;\"><span style=\"font-size: 11pt;\">Correctly configuring memory is essential to Oracle performance.\u00a0 On Linux you should ensure that you have your Oracle memory correctly configured for Huge Pages (Not <u>transparent<\/u>huge pages). Follow the guide detailed here to ensure that your memory is correctly configured.\u00a0 <\/span><span style=\"font-size: 11pt;\"><a href=\"https:\/\/communities.intel.com\/community\/itpeernetwork\/datastack\/blog\/2013\/09\/13\/configuring-memory-for-oracle-on-linux\"><span style=\"color: blue;\">Configuring Memory for Oracle on Linux<\/span><\/a><\/span><\/span><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">I\/O and SSDs<\/span><\/h6>\n<div><span style=\"font-family: Verdana, sans-serif;\"><span style=\"font-size: 11pt;\">After correctly configuring memory your focus should be on I\/O or disk performance. This focus lies in 2 areas firstly the data area defined by the tablespace or tablespaces you create to configure your schema and secondly the redo logs.\u00a0 For both data and redo the best performance available is from good quality and correctly configured SSDs (solid state disks). Further information on SSDs is available in the post <span style=\"color: blue;\"><a href=\"https:\/\/communities.intel.com\/community\/itpeernetwork\/datastack\/blog\/2014\/03\/19\/should-you-put-oracle-database-redo-on-solid-state-disks-ssds\">Should you put Oracle Database Redo on Solid State Disks (SSDs)?<\/a><b>.<\/b><\/span><span style=\"color: red; font-weight: bold;\">\u00a0 <\/span>Configuring the data area should be done in conjunction with configuring memory for the buffer cache. With sufficient memory you can expect most of your data blocks to be cached and therefore interaction with the data area until a checkpoint occurs may be minimal. On the other hand an OLTP workload will continually write to the redo log file and throughput should be high and latency low (&lt; 1ms) to achieve the highest transaction numbers.\u00a0\u00a0 With SSDs careful consideration should be given to setup a<\/span><span style=\"font-size: 11pt;\">nd <a href=\"https:\/\/communities.intel.com\/community\/itpeernetwork\/datastack\/blog\/2013\/08\/02\/linux-database-performance-on-ssd-910-with-filesystem\"><span style=\"color: blue;\">Linux Database Performance on SSD 910 with Filesystem<\/span><\/a>detail how this should be done. <\/span><\/span><b style=\"mso-bidi-font-weight: normal;\"><\/b><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Network Bandwidth<\/span><\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Oracle OCI is network efficient and issues should not be found with high throughput even on a typical Gigabit Ethernet network. If system network utilisation does exceed Gigabit capacity between load generation server and SUT to increase capacity you may use either use 10GbE or configure NIC teaming for multiple Gigabit Ethernet adapters on both the server and both the LACP compatible switch in LACP mode.\u00a0 \u00a0<\/span><a style=\"font-family: Calibri, sans-serif;\" href=\"https:\/\/www.blogger.com\/null\" name=\"_Toc390425827\"><\/a><\/span><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"mso-bookmark: _Toc390425827;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Oracle Parameters<\/span><\/span><\/h6>\n<div><span style=\"mso-bookmark: _Toc390425827;\"><span style=\"font-family: Verdana, sans-serif;\"><span style=\"font-size: 11pt;\">Y<\/span><span style=\"font-size: 11pt;\">our Oracle parameters will vary according to the size and configuration of your system and therefore there is no single recommend Oracle parameter file.\u00a0 Nevertheless standard best practice includes sizing shared memory manually rather than automatically and disabling database features that are not currently in use. <\/span><\/span><\/span><\/div>\n<div><span style=\"font-family: Verdana, sans-serif;\"><span style=\"mso-bookmark: _Toc390425827;\"><span style=\"font-size: 11pt;\">\u00a0As an example the following white paper shows a configuration file used for a large high performance system<\/span> <\/span><span style=\"color: blue;\"><a href=\"http:\/\/www.principledtechnologies.com\/Intel\/database_E7_Power_0214_v2.pdf\"><span style=\"mso-bookmark: _Toc390425827;\"><span style=\"font-size: 11pt;\"><span style=\"color: blue;\">Mission-Critical Database Performance: Intel Xeon Processor E7 V2 Family vs. Ibm Power7+<\/span><\/span><\/span><\/a><span style=\"mso-bookmark: _Toc390425827;\"><b style=\"mso-bidi-font-weight: normal;\"><span style=\"font-size: 11pt;\">.<\/span><\/b><\/span><\/span><\/span><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Database Creation<\/span><\/h6>\n<div><span style=\"font-family: 'Calibri',sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-hansi-theme-font: minor-latin;\">Bu<\/span><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">ilding the HammerDB schema directly on the database server will be quicker as you will be able to take advantage of more cores and not be required to pass all of the data across the network. You should already have your database software installed and Oracle running. \u00a0Before running the schema creation create the tablespace required for your data area.\u00a0 Ensure that this file is suitably large not to autoextend and to allow for sufficient table growth during tests.<\/span><\/span><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Schema Build and Configure<\/span><\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">If you select a schema of more than 200 warehouses the option to partition the order line becomes available. When running on larger systems selecting this option will enable high levels of scalability. Additionally there is the option to select a separate order line tablespace from the tablespace where the other tables are located and therefore also to create this tablespace with a separate block size.\u00a0 Previously the Oracle parameter to create a separate cache for this block size will have been chosen. For example: <\/span><\/span><\/div>\n<pre>db_16k_cache_size=32749125632<\/pre>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">As the order line tablespace is an IOT (index organized table) for highly scalable systems this will benefit from choosing a larger blocksize for this tablespace such as 16k with a standard blocksize used of 8k. This has the effect of reducing the height of the IOT and lower the number of index block splits resulting in higher performance. <\/span><\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp1-289x300.png\" width=\"308\" height=\"320\" border=\"0\" data-original-height=\"374\" data-original-width=\"360\" \/><\/a><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Resize the Redo Log Files<\/span><\/h6>\n<div style=\"mso-layout-grid-align: none; text-autospace: none;\"><span style=\"font-family: Verdana, sans-serif;\"><span style=\"font-size: 11pt;\">The importance of correctly sizing the redo logs cannot be understated. The sizing of your redo logs is related to checkpointing activity and further details on Oracle checkpoints are described here <\/span><span style=\"font-size: 11pt;\"><a href=\"http:\/\/prutser.files.wordpress.com\/2008\/12\/checkpointsukoug.pdf\"><span style=\"color: blue;\">What&#8217;s the Point of Oracle Checkpoints?<\/span><\/a><\/span><b style=\"mso-bidi-font-weight: normal;\"><span style=\"font-size: 11pt;\"><span style=\"color: blue;\">.<\/span><span style=\"color: red;\">\u00a0 <\/span><\/span><\/b><\/span><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">When your Oracle database checkpoints it will trigger the database writers to flush the modified data blocks from the buffer cache back to disk. \u00a0In particular if Oracle needs to wait to reassign a redo log containing changes not yet written to disk a message of \u201cCheckpoint not complete\u201d will be recorded in the alert log and the database will stop processing transaction until it is complete.\u00a0 It is recommended to set the following Oracle parameter to monitor all checkpoint activity in the alert log. <\/span><\/span><\/div>\n<pre style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Courier New, Courier, monospace;\">log_checkpoints_to_alert=TRUE<\/span><\/span><\/pre>\n<div style=\"mso-layout-grid-align: none; text-autospace: none;\"><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Depending on your I\/O capacity this may impact performance. A checkpoint may occur as a result of a redo log switch depending on the contents of that redo log at the time. Recommended redo log file parameters to ensure this behaviour are: <\/span><\/span><\/div>\n<pre style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\">fast_start_mttr_target=0<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\">log_checkpoint_interval=0<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\">log_checkpoint_timeout=0<\/span><\/pre>\n<div style=\"mso-layout-grid-align: none; text-autospace: none;\"><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">\u00a0Nevertheless redo log files (especially from an OLTP test) cannot be sized too large and an effective strategy is to use the data from Oracle to size 2 or more redo log files large enough to delay checkpointing until the end of the test.\u00a0 For example the following extract of a load profile from an AWR report shows a redo rate of 405MB per second.\u00a0 <\/span><\/span><\/div>\n<pre style=\"mso-layout-grid-align: none; text-autospace: none;\"><span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\">Load Profile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Per Second\u00a0\u00a0 Per Transaction\u00a0 Per Exec\u00a0 Per Call<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\">~~~~~~~~~~~~~~~<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>---------------<span style=\"mso-spacerun: yes;\">\u00a0\u00a0 <\/span>--------------- --------- ---------<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>DB Time(s):<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.0<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.0<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.00<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.00<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>DB CPU(s):<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.0<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.0<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.00<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>0.00<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\">\u00a0\u00a0\u00a0\u00a0\u00a0 Redo size (bytes):\u00a0\u00a0\u00a0\u00a0 405,860,130.7<b>\u00a0<\/b>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5,345.2<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace; font-size: xx-small;\"><span style=\"mso-spacerun: yes;\">\u00a0 <\/span>Logical read (blocks):<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>7,892,009.8<span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>103.9<\/span>\r\n<span style=\"font-family: Courier New, Courier, monospace;\"><span style=\"font-size: xx-small;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Block changes:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2,377,433.9\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 31.3<\/span><\/span><\/pre>\n<div style=\"mso-layout-grid-align: none; text-autospace: none;\"><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">Consequently depending on the contents of the other redo log files a log switch checkpoint could be triggered at the end of a 25GB redo log file every minute and therefore a redo log size of 250GB in size would be configured for a 10 minute test.\u00a0 Use the views v$LOG and V$LOGFILE to correctly size the redo logs.\u00a0 Note that if you select \u201cCheckpoint when complete\u201d in the Driver Options a full checkpoint and a redo log switch will be triggered after a test is complete, resetting Oracle to start the next test at the start of the next redo log file in sequence. <\/span><\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp2-300x286.png\" width=\"320\" height=\"305\" border=\"0\" data-original-height=\"336\" data-original-width=\"352\" \/><\/a><\/div>\n<div style=\"mso-layout-grid-align: none; text-autospace: none;\"><span lang=\"EN\" style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">As shown observe performance for an entire test to ensure that the transaction counter is level showing that Oracle performance is consistent without a drop in performance for checkpoints. <\/span><\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp3-300x252.png\" width=\"320\" height=\"269\" border=\"0\" data-original-height=\"680\" data-original-width=\"808\" \/><\/a><\/div>\n<h6 style=\"mso-list: l0 level3 lfo1;\"><span style=\"font-family: 'Calibri',sans-serif; mso-bidi-font-family: 'Albany AMT';\">Monitoring<\/span><\/h6>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">HammerDB Metrics provides a reliable way to monitor CPU performance on every core in your system. Maximum performance will be achieved when every core is fully utilised as shown in Figure 4.\u00a0 However it is not necessarily the case that full utilisation means maximum performance has been achieved. It is possible for misconfiguration to mean that CPU utilisation is high yet throughput is low due to contention. <\/span><\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/oltpbp4-300x230.png\" width=\"320\" height=\"245\" border=\"0\" data-original-height=\"540\" data-original-width=\"705\" \/><\/a><\/div>\n<div><span style=\"font-size: 11pt;\"><span style=\"font-family: Verdana, sans-serif;\">HammerDB provides the facility to automatically generate AWR reports that correspond with the OLTP workload. Therefore these AWR reports should be your primary tuning tool to ensure that your Oracle environment is correctly configured. As shown the first point if reference should be the Top Foreground Events and you should aim for DB CPU as a percentage of time over 90% as shown to coincide with the OS report of CPU utilisation as shown in Figure 4 with HammerDB Metrics. <\/span><\/span><\/div>\n<div><span style=\"font-family: 'Calibri',sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-hansi-theme-font: minor-latin;\">\u00a0<\/span><\/div>\n<div style=\"mso-hyphenate: auto; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-pagination: widow-orphan;\"><b><span lang=\"EN\" style=\"color: black; font-family: 'Arial',sans-serif; font-size: 10.0pt; mso-ansi-language: EN; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-GB; mso-font-kerning: 0pt;\">Top 10 Foreground Events by Total Wait Time <\/span><\/b><\/div>\n<table style=\"mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 0px;\" border=\"0\" cellpadding=\"0\">\n<tbody>\n<tr style=\"mso-yfti-firstrow: yes; mso-yfti-irow: 0;\">\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt;\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Event<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt;\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Waits<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt;\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Total Wait Time (sec)<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt;\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Wait Avg(ms)<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt;\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">% DB time<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt;\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Wait Class<\/span><\/span><\/b><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 1;\">\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">DB CPU<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">30.1K<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">96.9<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 2;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">library cache: mutex X<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">936,935<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">364.2<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">1.2<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Concurrency<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 3;\">\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">cursor: pin S<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">210,234<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">315.5<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">2<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">1.0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Concurrency<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 4;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">enq: TX &#8211; row lock contention<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">212,383<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">228.2<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.7<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Application<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 5;\">\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">log file sync<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">28,919<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">82.3<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">3<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.3<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Commit<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 6;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">latch: In memory undo latch<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">693,091<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">82.3<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.3<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Concurrency<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 7;\">\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">db file sequential read<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">55,642<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">46.4<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">User I\/O<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 8;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">buffer busy waits<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">222,183<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">23.5<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Concurrency<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 9;\">\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">latch: enqueue hash chains<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">11,122<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">14.1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Other<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 10; mso-yfti-lastrow: yes;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">SQL*Net message to client<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">13,132,309<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">12.1<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">.0<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt;\" valign=\"top\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Network<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><span style=\"font-size: 11pt; font-style: normal;\"><span style=\"font-family: Verdana, sans-serif;\">If this is not achievable use the rest of the AWR report to diagnose performance, in particular as shown CPU time and elapsed time should be checked to be as close together as possible for maximum efficiency. If not then it is necessary to determine the reason why this is not the case ans what accounts for the additional elapsed time. <\/span><\/span><\/div>\n<table style=\"mso-cellspacing: 1.5pt; mso-table-layout-alt: fixed; mso-yfti-tbllook: 1184;\" border=\"0\" cellpadding=\"0\">\n<tbody>\n<tr style=\"mso-yfti-firstrow: yes; mso-yfti-irow: 0;\">\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 38.5pt;\" width=\"54\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">CPU Time (s)<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 48.7pt;\" width=\"69\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Executions <\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 28.2pt;\" width=\"40\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">CPU per Exec (s)<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 32.25pt;\" width=\"45\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">%Total<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 39.6pt;\" width=\"55\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">Elapsed Time (s)<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 30.05pt;\" width=\"42\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">%CPU<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 21.6pt;\" width=\"31\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">%IO<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 29.3pt;\" width=\"81\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">SQL Id<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 104.8pt;\" width=\"164\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">SQL Module<\/span><\/span><\/b><\/div>\n<\/td>\n<td style=\"background: #0066CC; padding: .75pt 3.0pt 1.5pt 3.0pt; width: 61.55pt;\" width=\"98\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: center;\" align=\"center\"><b><span style=\"color: white; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">SQL Text<\/span><\/span><\/b><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 1;\">\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 38.5pt;\" valign=\"top\" width=\"54\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">15,894.75<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 48.7pt;\" valign=\"top\" width=\"69\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">5,704,467<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 28.2pt;\" valign=\"top\" width=\"40\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0.00<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 32.25pt;\" valign=\"top\" width=\"45\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">52.73<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 39.6pt;\" valign=\"top\" width=\"55\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">19,048.04<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 30.05pt;\" valign=\"top\" width=\"42\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">83.45<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 21.6pt;\" valign=\"top\" width=\"31\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0.01<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 29.3pt;\" valign=\"top\" width=\"81\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"font-size: xx-small;\"><b><u><span style=\"color: #663300; font-family: Arial, sans-serif;\"><a href=\"file:\/\/\/C:\/Users\/sshaw\/Documents\/DATABASE%20TECHNOLOGY\/IvyBridge-EP-EX\/ivyex\/awrrpt_1_170_171.html#16dhat4ta7xs9\"><span style=\"color: #663300;\">16dhat4ta7xs9<\/span><\/a><\/span><\/u><\/b><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 104.8pt;\" valign=\"top\" width=\"164\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">wish8.6@wesep1.example.com (TNS V1-V3) <\/span><\/span><\/div>\n<\/td>\n<td style=\"background: #FFFFCC; padding: .75pt .75pt .75pt .75pt; width: 61.55pt;\" valign=\"top\" width=\"98\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">begin neword(:no_w_id, :no_max&#8230;<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 2;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 38.5pt;\" valign=\"top\" width=\"54\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">3,663.11<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 48.7pt;\" valign=\"top\" width=\"69\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">571,496<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 28.2pt;\" valign=\"top\" width=\"40\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0.01<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 32.25pt;\" valign=\"top\" width=\"45\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">12.15<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 39.6pt;\" valign=\"top\" width=\"55\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">3,946.36<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 30.05pt;\" valign=\"top\" width=\"42\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">92.82<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 21.6pt;\" valign=\"top\" width=\"31\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">0.00<\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 29.3pt;\" valign=\"top\" width=\"81\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"font-size: xx-small;\"><b><u><span style=\"color: #663300; font-family: Arial, sans-serif;\"><a href=\"file:\/\/\/C:\/Users\/sshaw\/Documents\/DATABASE%20TECHNOLOGY\/IvyBridge-EP-EX\/ivyex\/awrrpt_1_170_171.html#d4ujh5yqt1fph\"><span style=\"color: #663300;\">d4ujh5yqt1fph<\/span><\/a><\/span><\/u><\/b><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 104.8pt;\" valign=\"top\" width=\"164\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">wish8.6@wesep1.example.com (TNS V1-V3) <\/span><\/span><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 61.55pt;\" valign=\"top\" width=\"98\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><span style=\"color: black; font-family: Arial, sans-serif;\"><span style=\"font-size: xx-small;\">BEGIN delivery(:d_w_id, :d_o_c&#8230;<\/span><\/span><\/div>\n<\/td>\n<\/tr>\n<tr style=\"mso-yfti-irow: 3; mso-yfti-lastrow: yes;\">\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 38.5pt;\" valign=\"top\" width=\"54\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 48.7pt;\" valign=\"top\" width=\"69\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 28.2pt;\" valign=\"top\" width=\"40\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 32.25pt;\" valign=\"top\" width=\"45\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 39.6pt;\" valign=\"top\" width=\"55\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 30.05pt;\" valign=\"top\" width=\"42\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 21.6pt;\" valign=\"top\" width=\"31\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: right;\" align=\"right\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 29.3pt;\" valign=\"top\" width=\"81\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 104.8pt;\" valign=\"top\" width=\"164\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><\/div>\n<\/td>\n<td style=\"background: white; padding: .75pt .75pt .75pt .75pt; width: 61.55pt;\" valign=\"top\" width=\"98\">\n<div style=\"mso-hyphenate: auto; mso-pagination: widow-orphan;\"><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><span style=\"font-size: 11pt; font-style: normal;\"><span style=\"font-family: Verdana, sans-serif;\">On very high performance systems if contention is observed in the library cache then the markhot package can be used to reduce this.<\/span><\/span><\/div>\n<div><span style=\"font-size: 11pt; font-style: normal;\"><span style=\"font-family: Verdana, sans-serif;\">More posts are planned on advanced performance tuning.<\/span><\/span><\/div>\n<p><script>\n  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n  })(window,document,'script','https:\/\/www.google-analytics.com\/analytics.js','ga');\n  ga('create', 'UA-87720879-1', 'auto');\n  ga('send', 'pageview');\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the move to HammerDB v3.0 as well as refactoring a lot of code the documentation moved to Docbook format. Previously at v2 there was an Oracle best practice document that is no longer included in the current documentation although a number of people have asked for it.\u00a0 Nevertheless lot of this information remains relevant &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.hammerdb.com\/blog\/uncategorized\/hammerdb-best-practice-for-oracle-performance-and-scalability\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;HammerDB Best Practice for Oracle Performance and Scalability&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"footnotes":""},"categories":[1],"tags":[],"ppma_author":[5],"class_list":["post-16","post","type-post","status-publish","format-image","hentry","category-uncategorized","post_format-post-format-image"],"authors":[{"term_id":5,"user_id":2,"is_guest":0,"slug":"hammerdb","display_name":"HammerDB","avatar_url":{"url":"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/logo-white.png","url2x":"https:\/\/www.hammerdb.com\/blog\/wp-content\/uploads\/2018\/10\/logo-white.png"},"author_category":"","user_url":"http:\/\/www.hammerdb.com","last_name":"","first_name":"","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":9,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":94,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions\/94"}],"wp:attachment":[{"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/tags?post=16"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.hammerdb.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}