• My blog has become exceedingly slow at most times, yet sometimes it is fine. I know little about databases, so below is the run-time information that displays in Red:

    Connections Failed attempts: .01%
    Connections Aborted: .15%

    Innodb_buffer_pool_pages_dirty 23 The number of pages currently dirty.

    Innodb_buffer_pool_reads 42 M The number of logical reads that InnoDB could not satisfy from buffer pool and had to do a single-page read.

    Innodb_row_lock_time_avg 78 k The average time to acquire a row lock, in milliseconds.

    Innodb_row_lock_time_max 429 k The maximum time to acquire a row lock, in milliseconds.

    Handler_read_rnd_next 1,952 M The number of requests to read the next row in the data file. This is high if you are doing a lot of table scans. Generally this suggests that your tables are not properly indexed or that your queries are not written to take advantage of the indexes you have.

    Qcache_lowmem_prunes 91 k The number of queries that have been removed from the cache to free up memory for caching new queries. This information can help you tune the query cache size. The query cache uses a least recently used (LRU) strategy to decide which queries to remove from the cache.

    Slow_launch_threads 24 The number of threads that have taken more than slow_launch_time seconds to create.

    Created_tmp_disk_tables 27 k The number of temporary tables on disk created automatically by the server while executing statements. If Created_tmp_disk_tables is big, you may want to increase the tmp_table_size value to cause temporary tables to be memory-based instead of disk-based.

    Key_reads 234 k The number of physical reads of a key block from disk. If Key_reads is big, then your key_buffer_size value is probably too small. The cache miss rate can be calculated as Key_reads/Key_read_requests.

    Select_full_join 3,521 The number of joins that do not use indexes. If this value is not 0, you should carefully check the indexes of your tables.

    Select_range_check 6 The number of joins without keys that check for key usage after each row. (If this is not 0, you should carefully check the indexes of your tables.)

    Sort_merge_passes 99 k The number of merge passes the sort algorithm has had to do. If this value is large, you should consider increasing the value of the sort_buffer_size system variable.

    Opened_tables 171 k The number of tables that have been opened. If opened tables is big, your table cache value is probably too small.

    Table_locks_waited 1,817 The number of times that a table lock could not be acquired immediately and a wait was needed. If this is high, and you have performance problems, you should first optimize your queries, and then either split your table or tables or use replication.

    Help!

Viewing 5 replies - 1 through 5 (of 5 total)
  • Thread Starter sgarson

    (@sgarson)

    Other info:
    Version: MYSQL 5.0.26-community-nt
    Binlog cache size: 32,768
    Bulk insert buffer size: 8,388,608
    innodb additional mem pool size: 11,534,336
    innodb buffer pool size: 524,288,000
    join buffer size: 131,072
    key buffer size: 270,532,608

    Thread Starter sgarson

    (@sgarson)

    Finally: The database interface phpMyAdmin says “no tables found in database” while my other blog, running 2.7 has tables.

    Thread Starter sgarson

    (@sgarson)

    Solved the problem, so far, using this database optimization tool:

    https://www.figmentthinking.com/wordpress-plugins/wordpress-database-table-optimizer/

    Thread Starter sgarson

    (@sgarson)

    I guess it was wishful thinking. Things were fine for a while, but now performance is horrible again.

    I’m at a loss.

    Here is what is happening. You are most likely on shared hosting and your blog is using high CPU usage and slowly loading mysql. I assume you have multiple posts already.

    Your problem, or better all problems are in “permalink structure”. When you set custom to let’s say /%postname%/ it is great for SEO, but what wordpress does it creates rewrite rules for each posts. So if you have 1000 posts, you have 1000 rewrite rules. In normal web development you would have one set of rewrite rules. In wordpress you have rewrite rules for each post!

    How to fix it?

    Change your permalinks to:

    /%post_id%/%postname%/

    OR

    /%year%/%category%/%postname%/

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Slow Database help’ is closed to new replies.