when the writes are happening, please run "show full processlist" and let us
know the out put.

regards
anandkl

On Thu, Mar 18, 2010 at 9:09 PM, Max Bube <maxb...@gmail.com> wrote:

> Hi list,
>
> Im having problems with bulk writes (restores from mysqldumps, alters,
> delete in (select ...)) with innodb. The servers are at amazon EC2
> instances
> w/ 15G ram and raid0 4disks EBS.
> The problem starts when I run bulk writes like an alter table or a restore
> from mysqldump, its starts processing more than 50000 rows/s but suddenly
> the ratio goes down to 100 rows /sec. and then its stucked at this ratio
> even if I restart MySQL. The only way to get good perfomance again is
> deleting all innodb files (ibdata, iblog files) and restoring the DB again.
>
> The DBs are relative small about 70M rows and 10Gb size. I can repeat this
> behavior all the time just running 2 restores of the same database.
>
> Another example when its stucked:
>
> I want to delete 1M rows
> "delete from table where id IN (select id from ....)"  deletes 100 rows /
> sec
> but if I run 1 Million "delete from table where id = xxx" deletes 10000
> rows
> / sec
>
> The problem is just only with writes on innodb, I can perfectly run
> mysqldumps and bulk inserts on MyISAM.
>
> This is happening with all MySQL 5.1.x versions I tested.
>
> Any one have a clue about this issue??
>
> Thanks in advance
> Max
>
> ########################
> #    INNODB Settings   #
> ########################
> innodb_file_per_table
> innodb_buffer_pool_size = 10G
> innodb_additional_mem_pool_size = 20M
> innodb_thread_concurrency = 8
> innodb_support_xa = 0
> innodb_thread_sleep_delay = 2000
> innodb_flush_log_at_trx_commit = 0
> innodb_log_file_size = 700M
> innodb_log_buffer_size = 8M
> innodb_lock_wait_timeout = 50
> innodb_max_purge_lag = 10
> innodb_max_dirty_pages_pct = 90
> innodb_use_purge_thread = 4
> innodb_extra_undoslots = 1
> innodb_adaptive_checkpoint = estimate
> innodb_io_capacity = 500
> innodb_read_io_threads = 4
> innodb_write_io_threads = 4
>
> and this is a innodb status when was running at low preformance
>
> mysql> show engine innodb status\G
> *************************** 1. row ***************************
>  Type: InnoDB
>  Name:
> Status:
> =====================================
> 100310 13:12:07 INNODB MONITOR OUTPUT
> =====================================
> Per second averages calculated from the last 42 seconds
> ----------
> BACKGROUND THREAD
> ----------
> srv_master_thread loops: 4409 1_second, 4408 sleeps, 439 10_second, 399
> background, 399 flush
> srv_master_thread log flush and writes: 4925
> ----------
> SEMAPHORES
> ----------
> OS WAIT ARRAY INFO: reservation count 37498, signal count 37467
> Mutex spin waits 115051, rounds 948698, OS waits 24706
> RW-shared spins 1458, OS waits 778; RW-excl spins 0, OS waits 11943
> Spin rounds per wait: 8.25 mutex, 17.61 RW-shared, 358898.00 RW-excl
> --------
> 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 (read thread)
> I/O thread 4 state: waiting for i/o request (read thread)
> I/O thread 5 state: waiting for i/o request (read thread)
> I/O thread 6 state: waiting for i/o request (write thread)
> I/O thread 7 state: waiting for i/o request (write thread)
> I/O thread 8 state: waiting for i/o request (write thread)
> I/O thread 9 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
> 70 OS file reads, 367420 OS file writes, 113414 OS fsyncs
> 0.00 reads/s, 0 avg bytes/read, 13.12 writes/s, 2.02 fsyncs/s
> -------------------------------------
> INSERT BUFFER AND ADAPTIVE HASH INDEX
> -------------------------------------
> Ibuf: size 1, free list len 0, seg size 2,
> 0 inserts, 0 merged recs, 0 merges
> Hash table size 25499809, node heap has 5416 buffer(s)
> 98.74 hash searches/s, 1.43 non-hash searches/s
> ---
> LOG
> ---
> Log sequence number 34171430524
> Log flushed up to   34171425746
> Last checkpoint at  33506703349
> Max checkpoint age    1187902219
> Checkpoint age target 1150780275
> Modified age          664727175
> Checkpoint age        664727175
> 0 pending log writes, 0 pending chkp writes
> 37839 log i/o's done, 1.05 log i/o's/second
> ----------------------
> BUFFER POOL AND MEMORY
> ----------------------
> Total memory allocated 13205766144; in additional pool allocated 0
> Internal hash tables (constant factor + variable factor)
>    Adaptive hash index 292738424     (203998472 + 88739952)
>    Page hash           12750664
>    Dictionary cache    51124680     (51001072 + 123608)
>    File system         90728     (82672 + 8056)
>    Lock system         31876248     (31875512 + 736)
>    Recovery system     0     (0 + 0)
>    Threads             407416     (406936 + 480)
> Dictionary memory allocated 123608
> Buffer pool size        786431
> Buffer pool size, bytes 12884885504
> Free buffers            1
> Database pages          781014
> Old database pages      288283
> Modified db pages       36334
> Pending reads 0
> Pending writes: LRU 0, flush list 0, single page 0
> Pages made young 190597, not young 0
> 0.00 youngs/s, 0.00 non-youngs/s
> Pages read 70, created 1620259, written 4087613
> 0.00 reads/s, 0.29 creates/s, 45.36 writes/s
> Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
> Pages read ahead 0.00/s, evicted without access 0.00/s
> LRU len: 781014, unzip_LRU len: 0
> I/O sum[2109]:cur[0], unzip sum[0]:cur[0]
> --------------
> ROW OPERATIONS
> --------------
> 1 queries inside InnoDB, 0 queries in queue
> 1 read views open inside InnoDB
> Main thread process no. 15552, id 1182845248, state: sleeping
> Number of rows inserted 270830867, updated 0, deleted 0, read 0
> 99.59 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
> ------------
> TRANSACTIONS
> ------------
> Trx id counter 43DF
> Purge done for trx's n:o < 43D2 undo n:o < 0
> History list length 11
> LIST OF TRANSACTIONS FOR EACH SESSION:
> ---TRANSACTION 0, not started, process no 15552, OS thread id 1192302912
> MySQL thread id 9, query id 16776 localhost root
> show engine innodb status
> ---TRANSACTION 43DE, ACTIVE 156 sec, process no 15552, OS thread id
> 1192036672 inserting, thread declared inside InnoDB 17
> mysql tables in use 1, locked 1
> 1 lock struct(s), heap size 368, 0 row lock(s), undo log entries 15513
> MySQL thread id 8, query id 16774 localhost root update
> INSERT INTO `t1` VALUES
>
> (136032,'xxx',213),(136032,'xxx',86),(136032,'xxx',193),(136032,'xxx',24),(136032,'xxx',72),(136032,'xxx',8),(136032,'xxx',14),(136032,'xxx',13),(136032,'xxx',153),(136032,'xxx',42),(136032,'xxx',8),(136032,'xxx',2),(136040,'xxx',1),(136044,'xxx',261),(136044,'xxx',36),(136044,'xxx',398),(136044,'xxx',76),(136044,'-xxx',7),(136044,'-xxx',87),(136044,'-xxx',60),(136044,'-xxx',114),(136044,'x
> TABLE LOCK table `db`.`t1` trx id 43DE lock mode IX
> ----------------------------
> END OF INNODB MONITOR OUTPUT
> ============================
>

Reply via email to