All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paolo Ciarrocchi" <ciarrocchi@linuxmail.org>
To: akpm@digeo.com, ciarrocchi@linuxmail.org
Cc: linux-kernel@vger.kernel.org
Subject: Re: Poor performance with 2.5.52, load and process in D state
Date: Sun, 22 Dec 2002 19:37:53 +0800	[thread overview]
Message-ID: <20021222113754.15064.qmail@linuxmail.org> (raw)

From: Andrew Morton <akpm@digeo.com>
> Paolo Ciarrocchi wrote:
> > 
> > Hi all,
> > I booted 2.5.52 with the following parmater:
> > apm=off mem=32M (not sure about the amount, anyway I can reproduce
> > the problem for sure with 32M and 40M)
> > 
> > Then I tried the osdb (www.osdb.org) benchmark with
> > 40M of data.
> > 
> > $./bin/osdb-pg --nomulti
> > 
> > the result is that aftwer a few second running top I see the postmaster
> > process in D state and a lot if iowait.
> 
> What exactly _is_ the issue?  The machine is achieving 25% CPU utilisation
> in user code, 6-9% in system code.  It is doing a lot of I/O, and is
> getting work done.

Ok, I'm back with the results of the osdb test against 2.4.19 and 2.5.52
Both the kernel booted with apm=off mem=40M
osdb ran with 40M of data.
To summarize the results:
2.4.19 "Single User Test"	806.78 seconds	(0:13:26.78)
2.5.52 "Single User Test"	3771.85 seconds	(1:02:51.85)

Something strange is happening here.

Following the full logs of the test

"osdb"
"Invoked: ./bin/osdb-pg --nomulti --logfile /var/lib/pgsql/2.4.19-nomulti-40M.log"
                 create_tables()	0.10 seconds	return value = 0
                          load()	34.59 seconds	return value = 0
     create_idx_uniques_key_bt()	24.31 seconds	return value = 0
     create_idx_updates_key_bt()	26.53 seconds	return value = 0
     create_idx_hundred_key_bt()	22.78 seconds	return value = 0
      create_idx_tenpct_key_bt()	24.08 seconds	return value = 0
 create_idx_tenpct_key_code_bt()	6.03 seconds	return value = 0
        create_idx_tiny_key_bt()	0.33 seconds	return value = 0
      create_idx_tenpct_int_bt()	2.97 seconds	return value = 0
   create_idx_tenpct_signed_bt()	2.44 seconds	return value = 0
     create_idx_uniques_code_h()	13.95 seconds	return value = 0
   create_idx_tenpct_double_bt()	3.78 seconds	return value = 0
   create_idx_updates_decim_bt()	7.74 seconds	return value = 0
    create_idx_tenpct_float_bt()	2.61 seconds	return value = 0
     create_idx_updates_int_bt()	4.37 seconds	return value = 0
    create_idx_tenpct_decim_bt()	4.84 seconds	return value = 0
     create_idx_hundred_code_h()	7.84 seconds	return value = 0
      create_idx_tenpct_name_h()	124.83 seconds	return value = 0
     create_idx_updates_code_h()	11.82 seconds	return value = 0
      create_idx_tenpct_code_h()	11.95 seconds	return value = 0
  create_idx_updates_double_bt()	3.99 seconds	return value = 0
    create_idx_hundred_foreign()	12.27 seconds	return value = 0
              populateDataBase()	355.06 seconds	return value = 0

"Logical database size 40MB"

                      sel_1_cl()	0.24 seconds	return value = 1
                     join_3_cl()	0.10 seconds	return value = 0
                   sel_100_ncl()	0.33 seconds	return value = 100
                    table_scan()	1.81 seconds	return value = 0
                      agg_func()	16.48 seconds	return value = 100
                      agg_scal()	1.51 seconds	return value = 0
                    sel_100_cl()	1.17 seconds	return value = 100
                    join_3_ncl()	14.47 seconds	return value = 1
                 sel_10pct_ncl()	3.16 seconds	return value = 10000
             agg_simple_report()	66.67 seconds	return value = 990009900
            agg_info_retrieval()	0.26 seconds	return value = 0
               agg_create_view()	0.48 seconds	return value = 0
           agg_subtotal_report()	4.81 seconds	return value = 1000
              agg_total_report()	6.33 seconds	return value = 932849
                     join_2_cl()	0.43 seconds	return value = 0
                        join_2()	3.13 seconds	return value = 1000
       sel_variable_select_low()	1.78 seconds	return value = 0
      sel_variable_select_high()	3.25 seconds	return value = 25000
                     join_4_cl()	0.04 seconds	return value = 0
                      proj_100()	19.83 seconds	return value = 10000
                    join_4_ncl()	21.71 seconds	return value = 1
                    proj_10pct()	12.29 seconds	return value = 100000
                     sel_1_ncl()	0.37 seconds	return value = 1
                    join_2_ncl()	6.70 seconds	return value = 1
                integrity_test()	2.27 seconds	return value = 0
             drop_updates_keys()	0.30 seconds	return value = 0
                     bulk_save()	0.16 seconds	return value = 0
                   bulk_modify()	296.61 seconds	return value = 0
          upd_append_duplicate()	0.42 seconds	return value = 0
          upd_remove_duplicate()	0.00 seconds	return value = 0
                 upd_app_t_mid()	0.00 seconds	return value = 1
                 upd_mod_t_mid()	0.30 seconds	return value = 0
                 upd_del_t_mid()	0.30 seconds	return value = 0
                 upd_app_t_end()	0.03 seconds	return value = 1
                 upd_mod_t_end()	0.30 seconds	return value = 0
                 upd_del_t_end()	0.30 seconds	return value = 0
     create_idx_updates_code_h()	12.21 seconds	return value = 0
                 upd_app_t_mid()	0.07 seconds	return value = 1
                 upd_mod_t_cod()	0.03 seconds	return value = 0
                 upd_del_t_mid()	0.67 seconds	return value = 0
     create_idx_updates_int_bt()	3.63 seconds	return value = 0
                 upd_app_t_mid()	0.16 seconds	return value = 1
                 upd_mod_t_int()	0.05 seconds	return value = 0
                 upd_del_t_mid()	0.94 seconds	return value = 0
                   bulk_append()	0.44 seconds	return value = 0
                   bulk_delete()	299.05 seconds	return value = 0

"Single User Test"	806.78 seconds	(0:13:26.78)

"osdb"
"Invoked: ./bin/osdb-pg --nomulti --logfile /var/lib/pgsql/2.5.52-nomulti-40M.log"
                 create_tables()	0.06 seconds	return value = 0
                          load()	36.89 seconds	return value = 0
     create_idx_uniques_key_bt()	1043.04 seconds	return value = 0
     create_idx_updates_key_bt()	808.48 seconds	return value = 0
     create_idx_hundred_key_bt()	749.90 seconds	return value = 0
      create_idx_tenpct_key_bt()	641.84 seconds	return value = 0
 create_idx_tenpct_key_code_bt()	6.11 seconds	return value = 0
        create_idx_tiny_key_bt()	0.06 seconds	return value = 0
      create_idx_tenpct_int_bt()	3.35 seconds	return value = 0
   create_idx_tenpct_signed_bt()	3.01 seconds	return value = 0
     create_idx_uniques_code_h()	18.30 seconds	return value = 0
   create_idx_tenpct_double_bt()	4.91 seconds	return value = 0
   create_idx_updates_decim_bt()	7.18 seconds	return value = 0
    create_idx_tenpct_float_bt()	3.91 seconds	return value = 0
     create_idx_updates_int_bt()	3.93 seconds	return value = 0
    create_idx_tenpct_decim_bt()	6.39 seconds	return value = 0
     create_idx_hundred_code_h()	8.03 seconds	return value = 0
      create_idx_tenpct_name_h()	130.66 seconds	return value = 0
     create_idx_updates_code_h()	13.18 seconds	return value = 0
      create_idx_tenpct_code_h()	12.96 seconds	return value = 0
  create_idx_updates_double_bt()	4.45 seconds	return value = 0
    create_idx_hundred_foreign()	11.29 seconds	return value = 0
              populateDataBase()	3518.83 seconds	return value = 0

"Logical database size 40MB"

                      sel_1_cl()	0.28 seconds	return value = 1
                     join_3_cl()	0.11 seconds	return value = 0
                   sel_100_ncl()	2.25 seconds	return value = 100
                    table_scan()	1.80 seconds	return value = 0
                      agg_func()	15.74 seconds	return value = 100
                      agg_scal()	1.66 seconds	return value = 0
                    sel_100_cl()	1.79 seconds	return value = 100
                    join_3_ncl()	23.20 seconds	return value = 1
                 sel_10pct_ncl()	3.57 seconds	return value = 10000
             agg_simple_report()	69.20 seconds	return value = 990009900
            agg_info_retrieval()	0.44 seconds	return value = 0
               agg_create_view()	0.39 seconds	return value = 0
           agg_subtotal_report()	10.68 seconds	return value = 1000
              agg_total_report()	9.65 seconds	return value = 932849
                     join_2_cl()	0.11 seconds	return value = 0
                        join_2()	3.57 seconds	return value = 1000
       sel_variable_select_low()	1.55 seconds	return value = 0
      sel_variable_select_high()	3.81 seconds	return value = 25000
                     join_4_cl()	0.07 seconds	return value = 0
                      proj_100()	21.08 seconds	return value = 10000
                    join_4_ncl()	36.16 seconds	return value = 1
                    proj_10pct()	13.07 seconds	return value = 100000
                     sel_1_ncl()	0.18 seconds	return value = 1
                    join_2_ncl()	12.18 seconds	return value = 1
                integrity_test()	9.07 seconds	return value = 0
             drop_updates_keys()	0.63 seconds	return value = 0
                     bulk_save()	0.69 seconds	return value = 0
                   bulk_modify()	1923.65 seconds	return value = 0
          upd_append_duplicate()	0.30 seconds	return value = 0
          upd_remove_duplicate()	0.09 seconds	return value = 0
                 upd_app_t_mid()	0.03 seconds	return value = 1
                 upd_mod_t_mid()	2.04 seconds	return value = 0
                 upd_del_t_mid()	1.67 seconds	return value = 0
                 upd_app_t_end()	0.08 seconds	return value = 1
                 upd_mod_t_end()	1.67 seconds	return value = 0
                 upd_del_t_end()	1.78 seconds	return value = 0
     create_idx_updates_code_h()	13.74 seconds	return value = 0
                 upd_app_t_mid()	0.12 seconds	return value = 1
                 upd_mod_t_cod()	0.03 seconds	return value = 0
                 upd_del_t_mid()	2.29 seconds	return value = 0
     create_idx_updates_int_bt()	4.06 seconds	return value = 0
                 upd_app_t_mid()	0.15 seconds	return value = 1
                 upd_mod_t_int()	0.01 seconds	return value = 0
                 upd_del_t_mid()	2.13 seconds	return value = 0
                   bulk_append()	2.59 seconds	return value = 0
                   bulk_delete()	1570.86 seconds	return value = 0

"Single User Test"	3771.85 seconds	(1:02:51.85)




-- 
______________________________________________
http://www.linuxmail.org/
Now with POP3/IMAP access for only US$19.95/yr

Powered by Outblaze

             reply	other threads:[~2002-12-22 11:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-22 11:37 Paolo Ciarrocchi [this message]
2002-12-23 11:29 ` Poor performance with 2.5.52, load and process in D state Andrew Morton
2002-12-25 13:12   ` Denis Vlasenko
2002-12-25  8:41     ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2002-12-22 17:09 Paolo Ciarrocchi
2002-12-23 12:44 Paolo Ciarrocchi
2002-12-26  0:03 Paolo Ciarrocchi
2002-12-26  7:44 ` Andrew Morton
2002-12-26  9:26 Paolo Ciarrocchi
2002-12-26  9:34 ` Andrew Morton
2002-12-26  9:45 Paolo Ciarrocchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021222113754.15064.qmail@linuxmail.org \
    --to=ciarrocchi@linuxmail.org \
    --cc=akpm@digeo.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.