You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Brian Pane <bp...@pacbell.net> on 2002/05/13 04:00:01 UTC
new performance profiling tool for Linux
I just stumbled upon OProfile, a relatively new profiling tool
for Linux/x86 that works well with Apache:
http://oprofile.sourceforge.net/
It's a sampling profiler, like gprof, but it's completely external
to the app being measured--no recompilation needed. It's implemented
as a kernel module that samples the values of hardware performance
counters and associates the data with the currently active function.
Depending on the underlying CPU, it also can report on things like
icache misses and branch prediction success rate on a per-function
basis.
From a test run of 2.0.37-dev, OProfile's profile of CPU
usage in the httpd and its libraries yielded the following
"top 10" lists.
--Brian
httpd:
vma samples %-age symbol name
0808188c 32 5.71429 ap_rgetline_core
08076f58 25 4.46429 ap_merge_per_dir_configs
08088e38 22 3.92857 ap_directory_walk
08086f50 22 3.92857 core_input_filter
08080680 20 3.57143 add_any_filter_handle
080628ac 20 3.57143 config_log_transaction
08087328 15 2.67857 core_output_filter
080807e4 15 2.67857 add_any_filter
0806868c 15 2.67857 analyze_ct
08086e48 14 2.5 net_time_filter
libapr.so:
vma samples %-age symbol name
00017304 98 16.7521 apr_palloc
000087e4 53 9.05983 apr_vformatter
0000c234 40 6.83761 apr_table_get
00017fa8 23 3.93162 apr_pool_cleanup_register
00018a00 22 3.76068 __divdi3
0000bc5c 21 3.58974 make_array_core
0000daa0 19 3.24786 apr_filepath_merge
0000c49c 19 3.24786 apr_table_setn
00011cbc 16 2.73504 apr_setsocketopt
0000ce64 14 2.39316 apr_table_overlap
libaprutil.so:
vma samples %-age symbol name
00005e84 91 27.1642 apr_brigade_puts
00005840 41 12.2388 apr_brigade_create
000057bc 29 8.65672 apr_brigade_cleanup
00004f28 23 6.86567 apr_bucket_simple_copy
0000614c 17 5.07463 apr_bucket_alloc
0000e394 14 4.1791 match_boyer_moore_horspool
00005d5c 14 4.1791 apr_brigade_write
00005b50 12 3.58209 apr_brigade_split_line
00004dec 11 3.28358 heap_bucket_destroy
00004dc8 11 3.28358 heap_bucket_read
Re: new performance profiling tool for Linux
Posted by Cliff Woolley <jw...@virginia.edu>.
On Sun, 12 May 2002, Brian Pane wrote:
> I just stumbled upon OProfile, a relatively new profiling tool
> for Linux/x86 that works well with Apache:
>
> http://oprofile.sourceforge.net/
Nice! I'm definitely going to check this out, especially for the icache
and bpred numbers...
--------------------------------------------------------------
Cliff Woolley
cliffwoolley@yahoo.com
Charlottesville, VA