View Single Post

   
  #3 (permalink)  
Old 03-17-2008, 06:13 AM
Slawomir Lisznianski
 
Posts: n/a
Default Re: MyISAM: slow creating new index, lots of (small) pwrite/preads

Axel Schwenke wrote:
>> System is Linux (2.6.9, SMP 8-core), MySQL is 6.0.3 lx86_64 glibc23.

>
> This is an ALPHA version!


well, since you brought it up, it's the only version that doesn't seg
fault whenever mysqld process exceeds 4gb. I tried 5.0 and 5.1 before
trying out 6.x -- all with the same config. I experienced identical
problem to this one:

http://bugs.mysql.com/bug.php?id=9239


> Does it show "repair with key cache"?


yes

> recovering (or creating) a myISAM index. And it needs a big key_buffer.
> What you want to seek is "repair by sorting".


ok


> Your myisam_sort_buffer is clearly oversized.


does it hurt or it's just irrelevant at this point?

> What matters much more is
> the setting of myisam_max_sort_file_size.


I have it set to 50g...

mysql> show variables like "myisam%";

+---------------------------+---------------+
| Variable_name | Value |
+---------------------------+---------------+
| myisam_data_pointer_size | 6 |
| myisam_max_sort_file_size | 53687091200 |
| myisam_recover_options | OFF |
| myisam_repair_threads | 1 |
| myisam_sort_buffer_size | 30064771072 |
| myisam_stats_method | nulls_unequal |
| myisam_use_mmap | OFF |
+---------------------------+---------------+


mysql> show variables like "%buffer%";
+---------------------------+-------------+
| Variable_name | Value |
+---------------------------+-------------+
| key_buffer_size | 21474836480 |
| myisam_sort_buffer_size | 30064771072 |
| net_buffer_length | 1048576 |
| preload_buffer_size | 32768 |
| read_buffer_size | 2093056 |
| read_rnd_buffer_size | 8388600 |
| sort_buffer_size | 4294967288 |
| sql_buffer_result | OFF |

> projected size of the .MYI file - or MyISAM will fall back to "repair
> with key cache".


It did fall back to repair with keycache. What else can be done? Thanks
for all your help.


Cheers,
Slawomir
Reply With Quote