// OS & Build used [root@cluster-repo mysql-5.7.8]# cat /etc/*release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Oracle Linux Server release 6.6 Red Hat Enterprise Linux Server release 6.6 (Santiago) Oracle Linux Server release 6.6 [root@cluster-repo mysql-5.7.8]# more docs/INFO_SRC commit: 34755f56cefb72e7827e55c3bf342c94dbbd95e0 date: 2015-04-24 11:33:22 +0530 build-date: 2015-04-24 08:37:50 +0200 short: 34755f5 branch: mysql-5.7 MySQL source 5.7.8 ## No logging etc bin/mysql_install_db --insecure --basedir=/data/ushastry/server/mysql-5.7.8 --datadir=/data/ushastry/server/mysql-5.7.8/67676 -v bin/mysqld --basedir=/data/ushastry/server/mysql-5.7.8 --datadir=/data/ushastry/server/mysql-5.7.8/67676 --sql_mode=ONLY_FULL_GROUP_BY --core-file --socket=/tmp/mysql_ushastry.sock --port=15000 --log-error=/data/ushastry/server/mysql-5.7.8/67676/log.err --user=root 2>&1 & [root@cluster-repo mysql-5.7.8]# ./test 64000 1 SQL Too Long too print,Length 320048 !! Inserted 64001 rows AT Sun Apr 26 19:31:40 2015 Inserted 64001 rows AT Sun Apr 26 19:31:41 2015 Inserted 64001 rows AT Sun Apr 26 19:31:42 2015 Inserted 64001 rows AT Sun Apr 26 19:31:43 2015 Inserted 64001 rows AT Sun Apr 26 19:31:44 2015 Inserted 64001 rows AT Sun Apr 26 19:31:45 2015 Inserted 64001 rows AT Sun Apr 26 19:31:46 2015 Inserted 64001 rows AT Sun Apr 26 19:31:47 2015 Inserted 64001 rows AT Sun Apr 26 19:31:48 2015 Inserted 64001 rows AT Sun Apr 26 19:31:50 2015 ## with logging(bin log, slow query and general log) bin/mysql_install_db --insecure --basedir=/data/ushastry/server/mysql-5.7.8 --datadir=/data/ushastry/server/mysql-5.7.8/67676 -v bin/mysqld --basedir=/data/ushastry/server/mysql-5.7.8 --log-bin=master-bin --server-id=1 --general_log --slow_query_log --log-output=FILE --datadir=/data/ushastry/server/mysql-5.7.8/67676 --sql_mode=ONLY_FULL_GROUP_BY --core-file --socket=/tmp/mysql_ushastry.sock --port=15000 --log-error=/data/ushastry/server/mysql-5.7.8/67676/log.err --user=root 2>&1 & // test case used from Bug #67676 [root@cluster-repo mysql-5.7.8]# ./test 64000 1 SQL Too Long too print,Length 320048 !! Inserted 64001 rows AT Sun Apr 26 18:49:22 2015 Inserted 64001 rows AT Sun Apr 26 18:50:09 2015 Inserted 64001 rows AT Sun Apr 26 18:50:57 2015 Inserted 64001 rows AT Sun Apr 26 18:51:45 2015 Inserted 64001 rows AT Sun Apr 26 18:52:32 2015 Inserted 64001 rows AT Sun Apr 26 18:53:20 2015 Inserted 64001 rows AT Sun Apr 26 18:54:08 2015 Inserted 64001 rows AT Sun Apr 26 18:54:55 2015 Inserted 64001 rows AT Sun Apr 26 18:55:43 2015 Inserted 64001 rows AT Sun Apr 26 18:56:30 2015 [root@cluster-repo mysql-5.7.8]# ./test 64000 1 SQL Too Long too print,Length 320048 !! Inserted 64001 rows AT Sun Apr 26 19:01:39 2015 Inserted 64001 rows AT Sun Apr 26 19:02:25 2015 Inserted 64001 rows AT Sun Apr 26 19:03:12 2015 Inserted 64001 rows AT Sun Apr 26 19:03:59 2015 Inserted 64001 rows AT Sun Apr 26 19:04:46 2015 Inserted 64001 rows AT Sun Apr 26 19:05:32 2015 Inserted 64001 rows AT Sun Apr 26 19:06:19 2015 Inserted 64001 rows AT Sun Apr 26 19:07:06 2015 Inserted 64001 rows AT Sun Apr 26 19:07:53 2015 Inserted 64001 rows AT Sun Apr 26 19:08:39 2015 [root@cluster-repo mysql-5.7.8]# [root@cluster-repo tmp]# perf record -g --pid=4063 ^C[ perf record: Woken up 273 times to write data ] [ perf record: Captured and wrote 68.295 MB perf.data (~2983845 samples) ] [root@cluster-repo tmp]# perf report|c++filt # Events: 452K cpu-clock # # Overhead Command Shared Object Symbol # ........ ....... ................... ........................................................................................................................................................ ............................. # 51.99% mysqld libc-2.12.so [.] memcpy | --- memcpy | |--99.92%-- String::mem_realloc(unsigned long, bool) | String::replace(unsigned long, unsigned long, char const*, unsigned long) | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | dispatch_command(THD*, COM_DATA*, enum_server_command) | do_command(THD*) | handle_connection | pfs_spawn_thread | start_thread --0.08%-- [...] 17.22% mysqld [kernel.kallsyms] [k] do_page_fault | --- do_page_fault | |--99.97%-- page_fault | | | |--99.15%-- memcpy | | | | | |--99.99%-- String::mem_realloc(unsigned long, bool) | | | String::replace(unsigned long, unsigned long, char const*, unsigned long) | | | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | | | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | | | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | | | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | | | dispatch_command(THD*, COM_DATA*, enum_server_command) | | | do_command(THD*) | | | handle_connection | | | pfs_spawn_thread | | | start_thread | | --0.01%-- [...] | | | |--0.83%-- _int_malloc | --0.02%-- [...] --0.03%-- [...] 4.35% mysqld [kernel.kallsyms] [k] clear_page_c | --- clear_page_c get_page_from_freelist | |--99.99%-- __alloc_pages_nodemask | alloc_pages_vma | do_anonymous_page | handle_pte_fault | handle_mm_fault | do_page_fault | page_fault | | | |--99.40%-- memcpy | | String::mem_realloc(unsigned long, bool) | | String::replace(unsigned long, unsigned long, char const*, unsigned long) | | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | | dispatch_command(THD*, COM_DATA*, enum_server_command) | | do_command(THD*) | | handle_connection | | pfs_spawn_thread | | start_thread | | | |--0.59%-- _int_malloc | --0.01%-- [...] --0.01%-- [...] 2.94% mysqld libc-2.12.so [.] _wordcopy_bwd_dest_aligned | --- _wordcopy_bwd_dest_aligned 2.85% mysqld [kernel.kallsyms] [k] get_page_from_freelist | --- get_page_from_freelist | |--92.84%-- __alloc_pages_nodemask | | | |--99.69%-- alloc_pages_vma | | do_anonymous_page | | handle_pte_fault | | handle_mm_fault | | do_page_fault | | page_fault | | | | | |--99.01%-- memcpy | | | | | | | |--99.98%-- String::mem_realloc(unsigned long, bool) | | | | String::replace(unsigned long, unsigned long, char const*, unsigned long) | | | | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | | | | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | | | | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | | | | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | | | | dispatch_command(THD*, COM_DATA*, enum_server_command) | | | | do_command(THD*) | | | | handle_connection | | | | pfs_spawn_thread | | | | | | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | | | | | | dispatch_command(THD*, COM_DATA*, enum_server_command) | | | | | | do_command(THD*) | | | | | | handle_connection | | | | | | pfs_spawn_thread | | | | | | start_thread | | | | | --0.02%-- [...] | | | | --0.25%-- [...] | | | --0.03%-- [...] | | | | | --3.90%-- lru_add_drain | | zap_page_range | | madvise_vma | | sys_madvise | | system_call_fastpath | | __GI_madvise | --0.02%-- [...] | |--39.63%-- release_pages | free_pages_and_swap_cache | tlb_flush_mmu | tlb_finish_mmu | zap_page_range | madvise_vma | sys_madvise | system_call_fastpath | __GI_madvise --0.24%-- [...] 1.84% mysqld [kernel.kallsyms] [k] native_flush_tlb | --- native_flush_tlb | |--99.75%-- flush_tlb_mm | tlb_flush_mmu | tlb_finish_mmu | zap_page_range | madvise_vma | sys_madvise | system_call_fastpath | __GI_madvise --0.25%-- [...] 1.04% mysqld [kernel.kallsyms] [k] mem_cgroup_count_vm_event | --- mem_cgroup_count_vm_event | |--76.21%-- handle_mm_fault | do_page_fault | page_fault | | | |--98.97%-- memcpy | | String::mem_realloc(unsigned long, bool) | | String::replace(unsigned long, unsigned long, char const*, unsigned long) --More-- | | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | | dispatch_command(THD*, COM_DATA*, enum_server_command) | | do_command(THD*) | | handle_connection | | pfs_spawn_thread | | start_thread | | | |--1.01%-- _int_malloc | --0.03%-- [...] | --23.79%-- do_page_fault page_fault | |--99.82%-- memcpy | String::mem_realloc(unsigned long, bool) | String::replace(unsigned long, unsigned long, char const*, unsigned long) | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | dispatch_command(THD*, COM_DATA*, enum_server_command) | do_command(THD*) | handle_connection | pfs_spawn_thread | start_thread --0.18%-- [...] 0.92% mysqld [kernel.kallsyms] [k] __mem_cgroup_commit_charge.clone.5 | --- __mem_cgroup_commit_charge.clone.5 | |--98.49%-- mem_cgroup_charge_common | mem_cgroup_newpage_charge | do_anonymous_page | handle_pte_fault | handle_mm_fault | do_page_fault | page_fault | | | |--99.44%-- memcpy | | String::mem_realloc(unsigned long, bool) | | String::replace(unsigned long, unsigned long, char const*, unsigned long) | | Prepared_statement::insert_params(unsigned char*, unsigned char*, unsigned char*, String*) | | Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*) | | Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*) | | mysqld_stmt_execute(THD*, unsigned long, unsigned long, unsigned char*, unsigned long) | | dispatch_command(THD*, COM_DATA*, enum_server_command) | | do_command(THD*) | | handle_connection | | pfs_spawn_thread | | start_thread --More--