RE: InnoDB Load Problem

2004-04-23 Thread Dathan Vance Pattishall
Run Show INNODB status. Look at 

--
BUFFER POOL AND MEMORY
--
Total memory allocated 1299859045; in additional pool allocated 6113152
Buffer pool size   71936
Free buffers   59
Database pages 70898
Modified db pages  57113
Pending reads 1 
Pending writes: LRU 0, flush list 0, single page 0
Pages read 379011342, created 2581822, written 233133461
58.62 reads/s, 0.12 creates/s, 61.24 writes/s
==> Buffer pool hit rate 981 / 1000


> -Original Message-
> From: Emmett Bishop [mailto:[EMAIL PROTECTED]
> Sent: Friday, April 23, 2004 8:01 AM
> To: Dathan Vance Pattishall
> Subject: RE: InnoDB Load Problem
> 
> I've been keeping tabs on this thread and would just
> like to know how to tell what the buffer pool ratio
> is. What is it a ratio of? What command do I run to
> take a look at it?
> 
> Thanks,
> 
> Tripp
> 
> --- Dathan Vance Pattishall <[EMAIL PROTECTED]>
> wrote:
> > Look at your fsync stat and your buffer pool ratio.
> > You may get better
> > performance out of use O_DIRECT since it does not
> > double buffer your log
> > writes.
> >
> > Next make sure your buffer pool ratio is close to 1
> > (100%), if not raise
> > your bugger pool if you can. Additionally make sure
> > you transaction logs are
> > large like 1/2 your buffer pool. Also note if your
> > doing many fast small
> > queries set innodb_thread_conncurency high (cpu+
> > number of disk)*2
> >
> >
> > For the hardware portion, you might need to use
> > elvtune to get better
> > throughput for your hard drive or update the kernel
> > to a kernel that
> > supports better interaction with your hardware
> > makeup.
> >
> > This all assumes that your queries are already
> > optimized.
> >
> > --
> > DVP
> >
> > > -----Original Message-
> > > From: Marvin Wright
> > [mailto:[EMAIL PROTECTED]
> > > Sent: Tuesday, April 20, 2004 5:13 AM
> > > To: Mechain Marc; Marvin Wright; Dathan Vance
> > Pattishall;
> > > [EMAIL PROTECTED]
> > > Subject: RE: InnoDB Load Problem
> > >
> > > Hi,
> > >
> > > To put the unique index on like you suggest is
> > fine for this table but
> > > this
> > > table is just the top level of a hierarchy.
> > >
> > > table a has 1 record
> > > table b has 100's of records linked to 1 table a
> > record
> > > table c has 100's of records linked to 1 table b
> > record
> > >
> > > All the records in table b and c would need to be
> > updated/deleted for a
> > > new
> > > record.
> > > It think this would be very time consuming, and
> > the clients that are
> > > inserting are public internet users therefore I'd
> > rather not slow these
> > > down.
> > >
> > >
> > > under load iostat -x 1 gives me this
> > >
> > > avg-cpu:  %user   %nice%sys   %idle
> > >   38.500.00   18.00   43.50
> > >
> > > Device:rrqm/s wrqm/s   r/s   w/s  rsec/s
> > wsec/srkB/swkB/s
> > > avgrq-sz avgqu-sz   await  svctm  %util
> > > /dev/hda   104.00 552.00 31.00 39.00 1088.00
> > 4728.00   544.00  2364.00
> > > 83.0962.20 1174.29 141.43  99.00
> > > /dev/hda10.00   0.00  0.00  0.000.00
> > 0.00 0.00 0.00
> > > 0.00 0.000.00   0.00   0.00
> > > /dev/hda2  104.00 552.00 31.00 39.00 1088.00
> > 4728.00   544.00  2364.00
> > > 83.0982.20 1174.29  75.71  53.00
> > > /dev/hda30.00   0.00  0.00  0.000.00
> > 0.00 0.00 0.00
> > > 0.00 0.000.00   0.00   0.00
> > > /dev/hda50.00   0.00  0.00  0.000.00
> > 0.00 0.00 0.00
> > > 0.00 0.000.00   0.00   0.00
> > >
> > > avg-cpu:  %user   %nice%sys   %idle
> > >   44.500.00   16.50   39.00
> > >
> > > Device:rrqm/s wrqm/s   r/s   w/s  rsec/s
> > wsec/srkB/swkB/s
> > > avgrq-sz avgqu-sz   await  svctm  %util
> > > /dev/hda 6.00 838.00  1.00 58.00   64.00
> > 7168.0032.00  3584.00
> > > 122.58 3.30  393.22 169.49 100.00
> > > /dev/hda10.00   0.00  0.00  0.000.00
> > 0.00 0.00 0.00
> > > 0.00 0.000.00   0.00   0.00
> > > /dev/hda26.00 838.00  1.00 58.00   64.00
> > 7168.0032.00  3584.00
> > > 122.5823.30  393.22  23.73  14.00
> > > /dev/hda3  

RE: InnoDB Load Problem

2004-04-22 Thread Dathan Vance Pattishall
Look at your fsync stat and your buffer pool ratio. You may get better
performance out of use O_DIRECT since it does not double buffer your log
writes.

Next make sure your buffer pool ratio is close to 1 (100%), if not raise
your bugger pool if you can. Additionally make sure you transaction logs are
large like 1/2 your buffer pool. Also note if your doing many fast small
queries set innodb_thread_conncurency high (cpu+ number of disk)*2


For the hardware portion, you might need to use elvtune to get better
throughput for your hard drive or update the kernel to a kernel that
supports better interaction with your hardware makeup.

This all assumes that your queries are already optimized.

--
DVP

> -Original Message-
> From: Marvin Wright [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, April 20, 2004 5:13 AM
> To: Mechain Marc; Marvin Wright; Dathan Vance Pattishall;
> [EMAIL PROTECTED]
> Subject: RE: InnoDB Load Problem
> 
> Hi,
> 
> To put the unique index on like you suggest is fine for this table but
> this
> table is just the top level of a hierarchy.
> 
> table a has 1 record
> table b has 100's of records linked to 1 table a record
> table c has 100's of records linked to 1 table b record
> 
> All the records in table b and c would need to be updated/deleted for a
> new
> record.
> It think this would be very time consuming, and the clients that are
> inserting are public internet users therefore I'd rather not slow these
> down.
> 
> 
> under load iostat -x 1 gives me this
> 
> avg-cpu:  %user   %nice%sys   %idle
>   38.500.00   18.00   43.50
> 
> Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
> avgrq-sz avgqu-sz   await  svctm  %util
> /dev/hda   104.00 552.00 31.00 39.00 1088.00 4728.00   544.00  2364.00
> 83.0962.20 1174.29 141.43  99.00
> /dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda2  104.00 552.00 31.00 39.00 1088.00 4728.00   544.00  2364.00
> 83.0982.20 1174.29  75.71  53.00
> /dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> 
> avg-cpu:  %user   %nice%sys   %idle
>   44.500.00   16.50   39.00
> 
> Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
> avgrq-sz avgqu-sz   await  svctm  %util
> /dev/hda 6.00 838.00  1.00 58.00   64.00 7168.0032.00  3584.00
> 122.58 3.30  393.22 169.49 100.00
> /dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda26.00 838.00  1.00 58.00   64.00 7168.0032.00  3584.00
> 122.5823.30  393.22  23.73  14.00
> /dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> 
> avg-cpu:  %user   %nice%sys   %idle
>2.000.000.00   98.00
> 
> Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
> avgrq-sz avgqu-sz   await  svctm  %util
> /dev/hda   195.00 162.00 58.00  8.00 2080.00 1392.00  1040.00   696.00
> 52.6144.40  740.91 128.79  85.00
> /dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda2  195.00 162.00 58.00  8.00 2080.00 1392.00  1040.00   696.00
> 52.6164.40  740.91 151.52 100.00
> /dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> 
> avg-cpu:  %user   %nice%sys   %idle
>8.000.003.00   89.00
> 
> Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
> avgrq-sz avgqu-sz   await  svctm  %util
> /dev/hda   174.00   0.00 60.00  5.00 1856.008.00   928.00 4.00
> 28.6850.00 1235.38 147.69  96.00
> /dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda2  174.00   0.00 60.00  5.00 1856.008.00   928.00 4.00
> 28.6870.00 1235.38 153.85 100.00
> /dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> /dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
> 0.00 0.000.00   0.00   0.00
> 
> avg-cpu:  %user   %nice%sys   %idle
>   29.500.00   16.50   54.00
> 
> Device:rrqm/s wrqm/s   r/s   w/s  rsec

RE: InnoDB Load Problem

2004-04-20 Thread Marvin Wright
   9.50   51.50

Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
avgrq-sz avgqu-sz   await  svctm  %util
/dev/hda48.00 810.00 11.00 57.00  512.00 6936.00   256.00  3468.00
109.5319.80  538.24 147.06 100.00
/dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda2   48.00 810.00 11.00 57.00  512.00 6936.00   256.00  3468.00
109.5339.80  538.24  63.24  43.00
/dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00

avg-cpu:  %user   %nice%sys   %idle
  14.000.00   13.00   73.00

Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
avgrq-sz avgqu-sz   await  svctm  %util
/dev/hda   213.00 112.00 63.00  3.00 2208.00  960.00  1104.00   480.00
48.0060.10 1086.36 151.52 100.00
/dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda2  213.00 112.00 63.00  3.00 2208.00  960.00  1104.00   480.00
48.0080.10 1086.36 151.52 100.00
/dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00

avg-cpu:  %user   %nice%sys   %idle
  59.000.00   25.50   15.50

Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
avgrq-sz avgqu-sz   await  svctm  %util
/dev/hda   126.00   0.00 35.00  6.00 1248.008.00   624.00 4.00
30.63 5.10  895.12 209.76  86.00
/dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda2  126.00   0.00 35.00  6.00 1248.008.00   624.00 4.00
30.6325.10  895.12 139.02  57.00
/dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00

avg-cpu:  %user   %nice%sys   %idle
  79.500.00   16.504.00

Device:rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/srkB/swkB/s
avgrq-sz avgqu-sz   await  svctm  %util
/dev/hda 0.00 557.00  0.00 41.000.00 4784.00 0.00  2392.00
116.68 42949661.76  214.63 241.46  99.00
/dev/hda10.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda20.00 557.00  0.00 41.000.00 4784.00 0.00  2392.00
116.68 8.80  214.63  12.20   5.00
/dev/hda30.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00
/dev/hda50.00   0.00  0.00  0.000.000.00 0.00 0.00
0.00 0.000.00   0.00   0.00



Have switched innodb_flush_log_at_trx_commit to 0 but still do not see any
difference in performance.


Marvin.

-Original Message-
From: Mechain Marc [mailto:[EMAIL PROTECTED]
Sent: 20 April 2004 13:02
To: Marvin Wright; Dathan Vance Pattishall; [EMAIL PROTECTED]
Subject: RE: InnoDB Load Problem


> This query is to see if there are duplicate records, I'm not sure how else
I
could do this and it only runs once every 10 minutes.

Why don't you put a unique index on locale,ggd,from,to,supplier,date so you
won't have to play that request any more ...

> How can I determine if the problem is disk bound ?

iostat -x 1

The right column of the display gives you the busy state (in percent) of the
disk.

> If I can get some hard evidence of this ...

Try to set innodb_flush_log_at_trx_commit to 0 (the default value is 1)

Marc.

-Message d'origine-
De : Marvin Wright [mailto:[EMAIL PROTECTED]
Envoyé : mardi 20 avril 2004 12:45
À : Dathan Vance Pattishall; Marvin Wright; [EMAIL PROTECTED]
Objet : RE: InnoDB Load Problem


Hi,

Thanks Dathan for your response.

So far I have upgraded the mysql to 4.0.18, this supports O_DIRECT as my
4.0.13 did not.
I increased my buffer pool by another 256 Meg and so far I have not seen any
change in performance.

I've looked at the SHOW INNODB STATUS (pasted further down), my buffer pool
hit rate is constantly at 1000 / 1000, what does this tell you ?

Regarding your other points, a slow query is this, only 1 second though but
you mentioned count(*) as bad.

# Time: 040420 11:10:09
# [EMAIL PROTECTED]: web[web] @  [10.168.78.207]
# Query_time: 1  Lock_time: 0  Rows_sent: 3310  Rows_examined: 185723
select locale,ggd,from,to,supplier,date,count(*) as count from cache group
by locale,ggd,from,to,supplier,date having count > 1;

This query is to see if there are duplicate records, I'm not sure how else I
could do this and it only runs once every 10 minutes.

The indexes look fine on all other queries.

The disk layout is probably not good, unfortunately these are standard built
single drive machines by our tech se

RE: InnoDB Load Problem

2004-04-20 Thread Mechain Marc
> This query is to see if there are duplicate records, I'm not sure how else I
could do this and it only runs once every 10 minutes.

Why don't you put a unique index on locale,ggd,from,to,supplier,date so you won't have 
to play that request any more ...

> How can I determine if the problem is disk bound ?

iostat -x 1

The right column of the display gives you the busy state (in percent) of the disk.

> If I can get some hard evidence of this ...

Try to set innodb_flush_log_at_trx_commit to 0 (the default value is 1)

Marc.

-Message d'origine-
De : Marvin Wright [mailto:[EMAIL PROTECTED]
Envoyé : mardi 20 avril 2004 12:45
À : Dathan Vance Pattishall; Marvin Wright; [EMAIL PROTECTED]
Objet : RE: InnoDB Load Problem


Hi,

Thanks Dathan for your response.

So far I have upgraded the mysql to 4.0.18, this supports O_DIRECT as my
4.0.13 did not.
I increased my buffer pool by another 256 Meg and so far I have not seen any
change in performance.

I've looked at the SHOW INNODB STATUS (pasted further down), my buffer pool
hit rate is constantly at 1000 / 1000, what does this tell you ?

Regarding your other points, a slow query is this, only 1 second though but
you mentioned count(*) as bad.

# Time: 040420 11:10:09
# [EMAIL PROTECTED]: web[web] @  [10.168.78.207]
# Query_time: 1  Lock_time: 0  Rows_sent: 3310  Rows_examined: 185723
select locale,ggd,from,to,supplier,date,count(*) as count from cache group
by locale,ggd,from,to,supplier,date having count > 1;

This query is to see if there are duplicate records, I'm not sure how else I
could do this and it only runs once every 10 minutes.

The indexes look fine on all other queries.

The disk layout is probably not good, unfortunately these are standard built
single drive machines by our tech services department and it too bigger
hassle for them to do something different for me :(

The disk layout is 

Filesystem   1k-blocks  Used Available Use% Mounted on
/dev/hda2 34218636  22979948   9500456  71% /
/dev/hda1   101089 19894 75976  21% /boot
none   2005632 0   2005632   0% /dev/shm

The data being on hda2.

How can I determine if the problem is disk bound ?
If I can get some hard evidence of this then I can go to our tech department
and get them to build me a decent box.

Many Thanks.

Marvin.


=
040420 11:15:32 INNODB MONITOR OUTPUT
=
Per second averages calculated from the last 15 seconds
--
SEMAPHORES
--
OS WAIT ARRAY INFO: reservation count 245688, signal count 208343
Mutex spin waits 10498150, rounds 63549544, OS waits 69764
RW-shared spins 113294, OS waits 50819; RW-excl spins 83135, OS waits 26235

TRANSACTIONS

Trx id counter 0 464704697
Purge done for trx's n:o < 0 464704447 undo n:o < 0 0
Total number of lock structs in row lock hash table 0
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0 0, not started, process no 22455, OS thread id 19320851
MySQL thread id 38508, query id 2467002 localhost root
SHOW INNODB STATUS
---TRANSACTION 0 0, not started, process no 17652, OS thread id 36874
MySQL thread id 1, query id 2431662 192.168.35.181 web
---TRANSACTION 0 464704694, ACTIVE 0 sec, process no 27189, OS thread id
38580247 inserting, thread declared inside InnoDB 500
mysql tables in use 1, locked 1
3 lock struct(s), heap size 320, undo log entries 39
MySQL thread id 73569, query id 2467003 10.168.77.231 web update
insert into negotiated_classes_cache set id=108245613219642041, route_id=3,
segment_id=1, class='C', num='4'

FILE I/O

I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (write thread)
Pending normal aio reads: 0, aio writes: 0,
 ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
4831 OS file reads, 41891 OS file writes, 40144 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 20.53 writes/s, 18.13 fsyncs/s
-
INSERT BUFFER AND ADAPTIVE HASH INDEX
-
Ibuf for space 0: size 1, free list len 0, seg size 2,
364 inserts, 364 merged recs, 5 merges
Hash table size 5312557, used cells 469072, node heap has 483 buffer(s)
43.86 hash searches/s, 3380.24 non-hash searches/s
---
LOG
---
Log sequence number 295 378143163
Log flushed up to   295 378138460
Last checkpoint at  295 42216323
0 pending log writes, 0 pending chkp writes
39690 log i/o's done, 17.27 log i/o's/second
--
BUFFER POOL AND MEMORY
--
Total memory allocated 1469851048; in additional pool allocated 4584832
Buffer pool size   81920
Free buffers   56299
Database pages   

RE: InnoDB Load Problem

2004-04-20 Thread Marvin Wright
Hi,

Thanks Dathan for your response.

So far I have upgraded the mysql to 4.0.18, this supports O_DIRECT as my
4.0.13 did not.
I increased my buffer pool by another 256 Meg and so far I have not seen any
change in performance.

I've looked at the SHOW INNODB STATUS (pasted further down), my buffer pool
hit rate is constantly at 1000 / 1000, what does this tell you ?

Regarding your other points, a slow query is this, only 1 second though but
you mentioned count(*) as bad.

# Time: 040420 11:10:09
# [EMAIL PROTECTED]: web[web] @  [10.168.78.207]
# Query_time: 1  Lock_time: 0  Rows_sent: 3310  Rows_examined: 185723
select locale,ggd,from,to,supplier,date,count(*) as count from cache group
by locale,ggd,from,to,supplier,date having count > 1;

This query is to see if there are duplicate records, I'm not sure how else I
could do this and it only runs once every 10 minutes.

The indexes look fine on all other queries.

The disk layout is probably not good, unfortunately these are standard built
single drive machines by our tech services department and it too bigger
hassle for them to do something different for me :(

The disk layout is 

Filesystem   1k-blocks  Used Available Use% Mounted on
/dev/hda2 34218636  22979948   9500456  71% /
/dev/hda1   101089 19894 75976  21% /boot
none   2005632 0   2005632   0% /dev/shm

The data being on hda2.

How can I determine if the problem is disk bound ?
If I can get some hard evidence of this then I can go to our tech department
and get them to build me a decent box.

Many Thanks.

Marvin.


=
040420 11:15:32 INNODB MONITOR OUTPUT
=
Per second averages calculated from the last 15 seconds
--
SEMAPHORES
--
OS WAIT ARRAY INFO: reservation count 245688, signal count 208343
Mutex spin waits 10498150, rounds 63549544, OS waits 69764
RW-shared spins 113294, OS waits 50819; RW-excl spins 83135, OS waits 26235

TRANSACTIONS

Trx id counter 0 464704697
Purge done for trx's n:o < 0 464704447 undo n:o < 0 0
Total number of lock structs in row lock hash table 0
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0 0, not started, process no 22455, OS thread id 19320851
MySQL thread id 38508, query id 2467002 localhost root
SHOW INNODB STATUS
---TRANSACTION 0 0, not started, process no 17652, OS thread id 36874
MySQL thread id 1, query id 2431662 192.168.35.181 web
---TRANSACTION 0 464704694, ACTIVE 0 sec, process no 27189, OS thread id
38580247 inserting, thread declared inside InnoDB 500
mysql tables in use 1, locked 1
3 lock struct(s), heap size 320, undo log entries 39
MySQL thread id 73569, query id 2467003 10.168.77.231 web update
insert into negotiated_classes_cache set id=108245613219642041, route_id=3,
segment_id=1, class='C', num='4'

FILE I/O

I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (write thread)
Pending normal aio reads: 0, aio writes: 0,
 ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
4831 OS file reads, 41891 OS file writes, 40144 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 20.53 writes/s, 18.13 fsyncs/s
-
INSERT BUFFER AND ADAPTIVE HASH INDEX
-
Ibuf for space 0: size 1, free list len 0, seg size 2,
364 inserts, 364 merged recs, 5 merges
Hash table size 5312557, used cells 469072, node heap has 483 buffer(s)
43.86 hash searches/s, 3380.24 non-hash searches/s
---
LOG
---
Log sequence number 295 378143163
Log flushed up to   295 378138460
Last checkpoint at  295 42216323
0 pending log writes, 0 pending chkp writes
39690 log i/o's done, 17.27 log i/o's/second
--
BUFFER POOL AND MEMORY
--
Total memory allocated 1469851048; in additional pool allocated 4584832
Buffer pool size   81920
Free buffers   56299
Database pages 25138
Modified db pages  18737
Pending reads 0 
Pending writes: LRU 0, flush list 0, single page 0
Pages read 5113, created 20025, written 7489
0.00 reads/s, 9.27 creates/s, 22.80 writes/s
Buffer pool hit rate 1000 / 1000
--
ROW OPERATIONS
--
0 queries inside InnoDB, 0 queries in queue
Main thread process no. 17648, id 28680, state: sleeping
Number of rows inserted 2183633, updated 1997, deleted 945139, read 2006850
1482.37 inserts/s, 1.20 updates/s, 0.00 deletes/s, 653.56 reads/s

END OF INNODB MONITOR OUTPUT



-Original Message-
From: Dathan Vance Pattishall [mailto:[EMAIL PROTECTED]
Sent: 19 April 2004 23:35
To: 'Marvin Wright'; [EMAIL PROTECTED]
Subjec

RE: InnoDB Load Problem

2004-04-19 Thread Dathan Vance Pattishall


> -Original Message-
> From: Marvin Wright [mailto:[EMAIL PROTECTED]
> Sent: Monday, April 19, 2004 8:55 AM
> To: [EMAIL PROTECTED]
> Subject: InnoDB Load Problem
> 
> Hi,
> 
> Apologies in advance for the large post but I've tried to explain my
> problem
> as much as I can.
> 
> 
> 
> I've read the InnoDB tuning page (
> http://dev.mysql.com/doc/mysql/en/InnoDB_tuning.html ), there are a few
> things I could try but I'd like to make sure that I'm on the right tracks.
> 
>   * Firstly I could put more queries into a single transaction.

That will help, increase your innodb_log_file_size and changed your
flush method to O_DIRECT - this avoids double writes. You can verify the
benefit of the change by looking at SHOW INNODB STATUS in the LOG IO
section.

Also, look at your buffer pool hit ratio. If its close to 100% then there is
no need to raise the allocation of the buffer_pool. Next, make sure you disk
layout is okay. Ensure that your not saturating on IO. Next make sure your
not doing queries like SELECT count(*) FROM  -- this is bad.

Finally look at which queries are slow. Make sure that your indexes are
proper.

One last note if your doing many many small quiries think about tweaking
your innodb_thread_conncurrency setting -- Ignore
innodb_thread_io_conncurrency unless you want to change code.

--
Dathan Vance Pattishall
Sr. Database Engineer / Sr. Programmer 
Friendster Inc.





--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]