I converted 3 of 30 MyISAM tables to InnoDB. Since
then I have been constantly reaching my limit of 100
connections because Selects on the InnoDB tables are
slow.

If I cut off traffic and execute a SELECT, it takes
less than 0.01 seconds. If a execute the exact same
query again with traffic, it takes 18+ seconds. More
than 1 query appears to do this (maybe all).

I have a Dual 2ghz Xeon dedicated server with (2) 73GB
10k RPM SCSI hard drives. It has 1GB of RAM. (Only 1
hard drive is used and and CPU usage is about 50-60%)
The server is not dedicated to just databases, it also
has apache (with PHP) running on it.

My current InnoDB settings are:
| innodb_additional_mem_pool_size | 1048576 
| innodb_buffer_pool_size | 262144000 
| innodb_data_file_path | ibdata1:10M:autoextend 
| innodb_data_home_dir | 
| innodb_file_io_threads | 4 
| innodb_force_recovery | 0 
| innodb_thread_concurrency | 4 
| innodb_flush_log_at_trx_commit | 1 
| innodb_fast_shutdown | ON 
| innodb_flush_method | 
| innodb_lock_wait_timeout | 50 
| innodb_log_arch_dir | ./ 
| innodb_log_archive | OFF 
| innodb_log_buffer_size | 20971520 
| innodb_log_file_size | 5242880 
| innodb_log_files_in_group | 2 
| innodb_log_group_home_dir | ./ 
| innodb_mirrored_log_groups | 1 
| innodb_max_dirty_pages_pct | 90 

I have also tried a buffer_pool_size of 8MB, 70MB,
100MB, 150MB, and 350MB.

Some traffic stats are: (shared between InnoDB and
MyISAM tables)
20 connections per second.
200 queries per second.

InnoDB Table #1 is 84MB [230,000 rows]
InnoDB Table #2 is 166MB [280,000 rows]
InnoDB Table #3 is 151MB [570,000 rows]

MySQL says: 'InnoDB free: 6144 kB'

The InnoDB Monitor gives this:
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request
I/O thread 1 state: waiting for i/o request
I/O thread 2 state: waiting for i/o request
I/O thread 3 state: waiting for i/o request
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: 1; buffer pool: 0
26279 OS file reads, 24278 OS file writes, 10809 OS
fsyncs
0.80 reads/s, 16384 avg bytes/read, 3.40 writes/s,
3.40 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf for space 0: size 1, free list len 380, seg size
382,
125 inserts, 125 merged recs, 57 merges
Hash table size 1155127, used cells 529328, node heap
has 695 buffer(s)
922.82 hash searches/s, 338.13 non-hash searches/s
---
LOG
---
Log sequence number 0 479156959
Log flushed up to 0 479156959
Last checkpoint at 0 479148210
1 pending log writes, 0 pending chkp writes
10188 log i/o's done, 3.40 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 316173844; in additional pool
allocated 1038720
Buffer pool size 16000
Free buffers 0
Database pages 15305
Modified db pages 54
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 31305, created 9, written 14289
0.80 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000
--------------
ROW OPERATIONS
--------------
4 queries inside InnoDB, 48 queries in queue
Main thread process no 21521, state: flushing log
Number of rows inserted 209, updated 15138, deleted 0,
read 1547848
0.20 inserts/s, 4.20 updates/s, 0.00 deletes/s, 958.41
reads/s



In the Transaction Section of the InnoDB monitor I am
seeing things like: 'Trx read view will not see trx
with id >= 0 2505453, sees < 0 2505360' a lot.

I am assuming that I have a configuration problem. I
know InnoDB tables can be about 30% slower and I see
that when I execute a query on an idle server. That
same server with traffic suddenly makes queries 10 to
2000 times slower. Has anyone seen this issue before?
Can anyone give any suggestions for finding the
problem or solution?

Thanks.



__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

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

Reply via email to