apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Reid" <dr...@jetnet.co.uk>
Subject profile...
Date Wed, 01 Aug 2001 02:30:51 GMT
What follows is a profile for beos bone running 1000 connections using 
a single thread (-DONE_PROCESS).  Columns are

no. of calls
time in calls
time incl sub calls
function name

Raises some interesting questions, like how many times do we call 
ap_palloc/ap_pcalloc/lock/unlock and stat for 1000 requests?  I've 
chopped some of the lower order ones off the end to try and stop it 
being too huge.

It'd be interesting to know where the ap_pallocs & ap_pcalloc are as it 
looks like we're using a good few pre request...

david

        1000    8181804 us      8181804 us      - apr_poll
        35007   4432803 us      5258570 us      - apr_stat
        46000   1465488 us      1465488 us      - apr_dir_read
        1282672 886977 us       916273 us       - apr_palloc
        332615  707237 us       1671528 us      - apr_pcalloc
        1000    461027 us       461027 us       - 
apr_wait_for_io_or_timeout
        193121  428517 us       2109572 us      - apr_lock_acquire
        33000   418006 us       7095035 us      - find_ct
        211056  410955 us       1077082 us      - apr_pstrndup
        123236  398136 us       757647 us       - apr_pstrcat
        579363  374897 us       374897 us       - apr_os_thread_current
        33000   356000 us       25587156 us     - 
ap_sub_req_lookup_dirent
        193121  329866 us       1452207 us      - apr_lock_release
        226749  295152 us       298407 us       - find_entry
        168944  283688 us       777633 us       - apr_pstrdup
        376666  283454 us       283454 us       - ap_get_module_config
        226244  278404 us       1080653 us      - apr_hash_get
        146034  269905 us       1788740 us      - ap_getword
        206263  244515 us       1700660 us      - make_array_core
        88846   230707 us       2179511 us      - apr_file_read
        1000    229883 us       51612922 us     - read_types_multi
        28000   219124 us       1659640 us      - analyze_ct
        148030  199447 us       352790 us       - match
        73010   196125 us       716980 us       - pcre_exec
        200014  177181 us       177181 us       - ap_strchr
        106024  176245 us       1552243 us      - apr_table_make
        1008    164273 us       194724 us       - apr_file_open
        193121  162915 us       162915 us       - _lock
        39000   156079 us       412767 us       - add_any_filter
        34000   155962 us       2002941 us      - file_walk
        193121  154447 us       154447 us       - _unlock
        1000    144966 us       173946 us       - apr_dir_open
        147454  144963 us       144963 us       - ap_strchr_c
        34010   138327 us       667063 us       - fill_out_finfo
        33000   137572 us       4554972 us      - fill_in_sub_req_vars
        73010   135891 us       1021936 us      - regexec
        67000   135139 us       581290 us       - ap_make_dirstr_parent
        34000   130826 us       944637 us       - ap_run_fixups
        1002    129017 us       129017 us       - socket_cleanup
        1000    125067 us       167023 us       - apr_accept
        68000   123319 us       123319 us       - ap_strrchr
        1000    120452 us       120452 us       - apr_sendv
        67239   118550 us       1020645 us      - apr_array_make
        34000   112592 us       55125116 us     - ap_run_type_checker
        1000    106790 us       106790 us       - apr_shutdown
        4001    105946 us       121647 us       - explode_time
        64000   105716 us       105716 us       - variantsortf
        66010   104682 us       649072 us       - ap_make_full_path
        33000   104306 us       2389954 us      - 
ap_set_sub_req_protocol
        67080   100737 us       100737 us       - ap_strrchr_c
        29000   100372 us       728009 us       - get_entry
        34085   96944 us        1044900 us      - apr_pool_sub_make
        34085   96324 us        2463395 us      - apr_pool_destroy
        1002    94602 us        94602 us        - apr_file_write
        73010   92221 us        1281099 us      - ap_regexec
        35088   88014 us        914043 us       - apr_pool_clear
        1010    86373 us        86554 us        - apr_unix_file_cleanup
        69173   83244 us        878847 us       - free_blocks
        40000   76272 us        397446 us       - ap_get_token
        1000    73591 us        948059 us       - best_match
        34000   73282 us        716478 us       - ap_parse_uri
        84000   69068 us        69068 us        - zap_sp
        102030  68103 us        68103 us        - 
apr_ansi_time_to_apr_time
        33000   67656 us        1558135 us      - make_sub_request
        33000   66369 us        546575 us       - apr_table_copy
        28000   66354 us        66354 us        - find_default_index
        34000   65111 us        738093 us       - ap_make_method_list
        34000   64395 us        288935 us       - core_create_req
        34000   63352 us        277029 us       - fixup_redir
        81677   62973 us        83536 us        - apr_array_push
        56000   60953 us        60953 us        - mime_match
        34000   58938 us        328772 us       - 
apr_uri_parse_components
        34000   57657 us        427558 us       - ap_run_create_request
        34000   56984 us        55112268 us     - handle_multi
        28000   54628 us        264256 us       - set_language_quality
        2000    52784 us        518063 us       - apr_recv
        29000   52669 us        135273 us       - apr_array_pstrcat
        28000   51303 us        234605 us       - set_accept_quality
        37000   48278 us        529167 us       - ap_add_output_filter
        2822    46962 us        2349790 us      - apr_file_gets
        34084   46441 us        1171233 us      - apr_pool_create
        34000   44940 us        152468 us       - dav_type_checker
        35000   44727 us        156895 us       - ap_allow_options
        31002   43589 us        43589 us        - apr_table_get
        35014   42953 us        318038 us       - create_empty_config
        34000   42939 us        429120 us       - 
ap_create_request_config
        34000   41962 us        149519 us       - fixup_env_module
        40428   41726 us        41726 us        - ap_str_tolower
        1000    39910 us        39910 us        - apr_send
        32000   39335 us        2208454 us      - ap_destroy_sub_req
        35105   38436 us        45105 us        - new_block
        36000   36745 us        44024 us        - try_alias_list
        3005    33178 us        69150 us        - apr_vformatter
        39000   31655 us        31655 us        - check_symlinks
        1000    31540 us        593147 us       - directory_walk
        1000    31036 us        245138 us       - set_neg_headers
        34000   29868 us        29868 us        - fix_encoding
        34010   29820 us        29820 us        - apr_unix_mode2perms
        13000   28333 us        238211 us       - form_header_field
        34010   28046 us        28046 us        - filetype_from_mode
        35088   27332 us        164610 us       - run_cleanups
        33000   27326 us        27326 us        - ap_copy_method_list
        15000   27288 us        86103 us        - apr_brigade_write
        28000   27247 us        27247 us        - is_variant_better
        34000   26629 us        26629 us        - fixup_dir
        28000   26214 us        26214 us        - set_mime_fields
        5000    25505 us        308508 us       - ap_getline
        34000   25000 us        25000 us        - check_safe_file
        35088   24288 us        24288 us        - free_proc_chain
        34026   23080 us        23080 us        - ap_set_module_config
        29000   22277 us        22277 us        - clean_var_rec
        1000    22164 us        22164 us        - dir_cleanup
        1000    21162 us        21162 us        - sononblock
        28000   19955 us        19955 us        - set_encoding_quality
        28000   19862 us        19862 us        - set_charset_quality
        14000   19853 us        203264 us       - process_item
        1000    19572 us        1361569 us      - do_negotiation
        1000    18561 us        18561 us        - get_local_addr
        1000    18459 us        356962 us       - 
config_log_transaction
        7000    17118 us        60283 us        - apr_brigade_cleanup
        9024    16931 us        61080 us        - apr_table_setn
        7000    16900 us        38728 us        - heap_destroy
        5000    16706 us        182330 us       - ap_http_filter
        1000    15533 us        57799060 us     - 
process_request_internal
        4000    15526 us        379491 us       - core_output_filter
        1000    14701 us        1030723 us      - ap_http_header_filter
        1000    14052 us        1640135 us      - default_handler
        7000    13790 us        79470 us        - apr_brigade_create
        1000    13749 us        2399978 us      - ap_read_request
        10075   13546 us        44218 us        - 
apr_pool_cleanup_register
        11000   13305 us        34153 us        - apr_array_cat
        7000    12800 us        2225556 us      - ap_pass_brigade
        9090    12279 us        12279 us        - ap_find_command
        3000    12262 us        21328 us        - apr_off_t_toa
        1000    12052 us        1702747 us      - ap_run_handler
        2000    11893 us        119786 us       - 
ap_merge_per_dir_configs
        1000    11856 us        1766694 us      - get_mime_headers
        15000   10924 us        10924 us        - check_brigade_flush
        2000    10620 us        114405 us       - match_headers
        2000    10355 us        44104 us        - location_walk
        6000    10144 us        68359 us        - apr_array_append
        2000    9961 us 260083 us       - apr_table_vdo
        14000   9703 us 9703 us - heap_read
        1       9257 us 70411679 us     - worker_thread
        5000    9251 us 63164 us        - apr_table_overlay
        2000    8892 us 97136 us        - merge_core_dir_configs
        7000    8441 us 30580 us        - apr_table_addn
        1002    8363 us 8363 us - apr_time_now
        6000    8248 us 218460 us       - ap_get_brigade
        5000    7861 us 7861 us - apr_bucket_simple_copy
        3000    7769 us 17317 us        - apr_table_mergen
        1000    7581 us 235904 us       - read_request_line
        2000    7565 us 13744 us        - apr_bucket_flush_create
        6000    7288 us 17457 us        - ap_strcmp_match
        2000    7164 us 13645 us        - apr_bucket_socket_create
        6000    7074 us 24406 us        - apr_array_copy_hdr
        3000    7045 us 125276 us       - apr_rfc822_date
        5002    7039 us 7039 us - ap_update_child_status
        1000    6913 us 133151 us       - parse_accept_headers
        1000    6632 us 139120 us       - basic_http_header
        1000    6485 us 819314 us       - ap_lingering_close
        74      6424 us 6424 us - malloc_block
        5000    6416 us 26061 us        - apr_bucket_simple_split
        9010    6386 us 6386 us - ap_os_is_path_absolute
        2826    6348 us 2371569 us      - ap_cfg_getline
        5000    6277 us 43195 us        - apr_bucket_shared_split
        3000    6254 us 62824 us        - apr_brigade_destroy
        2002    6104 us 30528 us        - apr_setsocketopt
        1000    5988 us 39456 us        - ap_set_keepalive
        1000    5932 us 56512 us        - socket_read
        1000    5850 us 247415 us       - emulate_sendfile
        7003    5796 us 5796 us - conv_10
        1000    5763 us 23457 us        - uniq_field_values
        1000    5759 us 109004 us       - ap_new_connection
        2000    5683 us 18141 us        - ap_getword_white
        8000    5591 us 5591 us - apr_bucket_shared_destroy
        2000    5312 us 12721 us        - apr_bucket_heap_make
        5000    5301 us 5301 us - ap_make_dirstr_prefix
        634     5236 us 36726 us        - ap_find_command_in_modules
        1000    5205 us 297379 us       - get_path_info
        2       4975 us 5031 us - ap_get_local_host
        1000    4902 us 1065852 us      - ap_content_length_filter
        3000    4775 us 4775 us - sort_overlap
        1000    4737 us 60657868 us     - ap_process_http_connection
        4000    4693 us 49577 us        - do_header_line
        4000    4659 us 4659 us - ap_method_number_of
        1000    4613 us 61683802 us     - process_socket
        4000    4600 us 34673 us        - brigade_cleanup
        7000    4584 us 4584 us - constant_item
        2000    4506 us 4506 us - apr_table_unset
        1000    4474 us 13964 us        - apr_bucket_file_create
        1000    4365 us 58240591 us     - ap_process_request
        1000    4346 us 1522028 us      - apr_table_overlap
        1000    4238 us 21393 us        - ap_meets_conditions
        1000    4230 us 28034 us        - ap_make_content_type
        1000    4146 us 273702 us       - setup_choice_response
        3000    4063 us 4063 us - ap_strcasestr
        1000    4039 us 79460 us        - ap_set_last_modified
        1000    3987 us 21628 us        - ap_setup_client_block
        5012    3959 us 3959 us - apr_pool_cleanup_kill
        3000    3893 us 14502 us        - ap_method_list_add
        3000    3865 us 128694 us       - writev_it_all
        6000    3837 us 3837 us - do_nothing
        3000    3816 us 99691 us        - apr_explode_time
        4000    3809 us 3809 us - conv_p2
        2000    3755 us 33391 us        - ap_set_content_length
        3000    3713 us 110882 us       - apr_explode_gmt
        2000    3707 us 24275 us        - apr_sockaddr_ip_get
        2000    3640 us 39891 us        - apr_pvsprintf
        2360    3630 us 18216 us        - ap_getword_conf
        3000    3589 us 3589 us - ap_no2slash
        2822    3551 us 2359337 us      - cfg_getstr
        1000    3458 us 55459 us        - ap_run_translate_name
        1000    3416 us 96606 us        - log_request_time
        1000    3394 us 19418 us        - ap_set_byterange
        1000    3386 us 6654 us - apr_bucket_file_make
        1000    3370 us 9942 us - action_handler
        1000    3335 us 3335 us - status_handler
        2172    3255 us 9827 us - substring_conf
        1000    3238 us 58851 us        - ap_set_etag
        2000    3203 us 56250 us        - ap_make_etag
        1000    3145 us 15834 us        - ap_core_translate
        1000    3044 us 22999 us        - translate_alias_redir
        1000    3026 us 1101119 us      - ap_byterange_filter
        1000    3020 us 10891 us        - apr_bucket_heap_create
        1000    2984 us 13259 us        - check_dir_access
        1       2981 us 70421092 us     - ap_mpm_run
        1000    2946 us 366282 us       - multi_log_transaction
        4001    2881 us 2881 us - get_offset
        1000    2853 us 22365 us        - ap_run_access_checker
        1000    2847 us 69571 us        - fixup_vary
        1000    2794 us 372043 us       - ap_run_log_transaction
        1000    2761 us 53152 us        - check_pipeline_flush
        1862    2752 us 110402 us       - ap_build_config_sub
        1000    2735 us 49738 us        - ap_pre_http_connection
        1000    2726 us 60737294 us     - ap_process_connection
        2000    2723 us 47434 us        - apr_psprintf
        1000    2721 us 21527 us        - apr_table_set
        2000    2713 us 26831 us        - ap_add_input_filter
        1000    2708 us 61486 us        - ap_run_insert_filter
        2000    2653 us 9852 us - apr_inet_ntop
        1000    2596 us 53362 us        - ap_flush_conn
        4000    2564 us 2564 us - apr_bucket_destroy_noop
        2000    2557 us 2557 us - alias_matches
        1000    2557 us 48577 us        - ap_http_insert_filter
        1000    2544 us 9920 us - ap_update_vhost_given_ip
        1000    2488 us 24167 us        - ap_allow_methods
        1000    2478 us 34727 us        - set_vlist_validator
        2000    2466 us 2466 us - inet_ntop4
        1002    2450 us 25465 us        - alloc_socket
        1000    2409 us 20252 us        - ap_update_vhost_from_headers
        1000    2376 us 5947 us - apr_parse_addr_port
        1000    2369 us 1711861 us      - ap_invoke_handler
        2000    2367 us 266957 us       - apr_table_do
        1000    2351 us 13111 us        - terminate_header
        1001    2344 us 138707 us       - apr_socket_close
        1000    2333 us 19863 us        - ap_save_brigade
        1000    2286 us 109492 us       - ap_run_post_read_request
        1000    2257 us 60662802 us     - ap_run_process_connection
        1000    2172 us 5558 us - apr_bucket_eos_create
        6       2170 us 1806175 us      - ap_build_config
        2000    2126 us 23659 us        - apr_socket_addr_get
        2000    2093 us 2093 us - find_allowdeny
        1000    2080 us 2080 us - ap_getparents
        8       2078 us 2078 us - _lock_cleanup
        3000    2054 us 2054 us - apr_bucket_shared_make
        3000    2032 us 2032 us - ap_find_token
        1000    2011 us 30915 us        - apr_dir_close
        1000    1989 us 54445 us        - ap_run_pre_connection
        1000    1977 us 9212 us - basic_http_header_check
        1000    1936 us 5302 us - ap_get_remote_host
        1000    1885 us 1885 us - cgi_handler
        1000    1830 us 5169 us - file_destroy
        1000    1784 us 10604 us        - fix_hostname
        1000    1780 us 6502 us - ap_unescape_url
        1000    1754 us 5500 us - maybe_add_default_accepts
        1000    1747 us 14626 us        - ap_run_header_parser
        1003    1733 us 43228 us        - apr_snprintf
        1000    1698 us 6898 us - parse_negotiate_header
        2000    1686 us 1686 us - ap_remove_output_filter
        1000    1627 us 13484 us        - core_input_filter
        1000    1603 us 4648 us - core_insert_filter
        1000    1582 us 17238 us        - log_status
        1000    1580 us 5174 us - translate_userdir
        1000    1577 us 1577 us - imap_handler
        1000    1546 us 1546 us - apr_poll_revents_get
        2000    1540 us 1540 us - apr_bucket_socket_make
        2002    1533 us 1533 us - apr_cpystrn
        1000    1509 us 9628 us - log_remote_host
        2000    1507 us 1507 us - ap_update_mtime
        1014    1499 us 1499 us - ap_count_dirs
        1000    1488 us 4850 us - apr_itoa
        1000    1463 us 4871 us - do_cache_negotiated_docs
        1000    1451 us 25856 us        - ap_discard_request_body
        1001    1413 us 37100 us        - apr_explode_localtime
        1000    1402 us 11060 us        - clf_log_bytes_sent
        1000    1397 us 8279 us - ap_some_auth_required
        1000    1386 us 13330 us        - ap_create_conn_config
        2       1350 us 636207 us       - mime_post_config
        1000    1333 us 12700 us        - pfmt
        2000    1311 us 1311 us - apr_bucket_flush_make
        1000    1282 us 8864 us - format_integer
        1000    1273 us 1273 us - asis_handler
        1000    1271 us 1271 us - handle_autoindex
        1000    1208 us 1208 us - dav_handler
        1000    1206 us 4477 us - ap_get_remote_logname
        1000    1174 us 1174 us - handle_map_file
        1000    1160 us 8493 us - log_remote_logname
        1000    1151 us 1151 us - handle_dir
        1000    1145 us 4139 us - ap_get_limit_req_body
        1000    1138 us 4382 us - ap_satisfies
        1000    1118 us 4066 us - ap_requires
        1000    1090 us 1090 us - set_default_lang_quality
        1000    1053 us 1053 us - apr_brigade_length
        1000    1023 us 1023 us - ap_index_of_response
        1000    924 us  924 us  - apr_sockaddr_port_get
        310     922 us  111264 us       - invoke_cmd
        1001    912 us  912 us  - apr_unix_perms2mode
        1002    877 us  877 us  - set_socket_vars
        1000    874 us  874 us  - find_default_server
        288     848 us  53242 us        - ap_walk_config_sub
        1001    843 us  843 us  - ap_get_server_version
        1000    840 us  840 us  - ap_run_quick_handler
        1000    833 us  833 us  - ap_finalize_request_protocol
        1000    816 us  816 us  - ap_rationalize_mtime
        1000    804 us  804 us  - log_request_line
        1000    685 us  685 us  - apr_os_sock_get
        1000    683 us  683 us  - log_remote_user
        1000    666 us  666 us  - apr_bucket_eos_make
        1000    642 us  642 us  - apr_bucket_setaside_noop
        505     607 us  8814 us - apr_hash_set
        752     597 us  597 us  - apr_hash_next
        418     543 us  2054 us - ap_resolve_env
        302     541 us  3946 us - ap_set_config_vectors
        158     468 us  6466 us - get_extension_info
        72      420 us  60142 us        - sort_hook
        16      405 us  2913 us - expand_array
        126     378 us  3768 us - push_item
        72      351 us  50288 us        - prepare
        514     331 us  331 us  - remove_unused_name_vhosts
        2       288 us  6750 us - ap_fini_vhost_config
        1       286 us  24950 us        - ap_setup_prelinked_modules
        44      270 us  3743 us - ap_register_hooks
        2       268 us  345 us  - apr_socket_create
        1       241 us  248 us  - apr_shm_init
        106     226 us  6198 us - add_charset
        18      208 us  61646 us        - ap_soak_end_container
        288     203 us  203 us  - ap_add_node


Mime
View raw message