• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here:Home » Enable MySQL Caching : Performance Trick For WordPress Like PHP-MySQL App

By Abhishek Ghosh May 23, 2017 11:46 pm Updated on May 23, 2017

Enable MySQL Caching : Performance Trick For WordPress Like PHP-MySQL App

Advertisement

Those who fear to use MySQL from SSH, you can read this easy guide. In this guide we will show how to easily, safely enable MySQL caching from my.cnf file. This is a huge performance trick for WordPress like PHP-MySQL App. If you use Percona MySQL wizard, by default, the generated settings for my.cnf will use query_cache_type = 0 that is query cache is disabled. MySQL query cache is a cache mechanism that stores the text of the query and the result of the query into memory.

Enable MySQL Caching - Performance Trick For WordPress

 

Enable MySQL Caching Vs Enable Database Caching Via WordPress Plugin

 

Whatever WordPress Plugin you use for database caching that is different that the thing we are talking about. We are going to tweak my.cnf file which is usually located at /etc/mysql/my.cnf in case of Ubuntu, Debian etc distro. The WordPress plugins decreases count of queries to database by caching queries in temp files in cache directory which is usually wp-content/tmp/.

There are matters around this MySQL cache. Like in some conditions in this cache will not work like if multiple servers hitting to one query and matters which probably an ordinary user need not to know. Other thing is the limit in size. There is documentation on MySQL website around it :

Advertisement

---

Vim
1
https://dev.mysql.com/doc/refman/5.5/en/

In short, too much big query cache size definitely will lead to performance degradation as there will be cache overhead and locking. Plus those insert, update, delete modifications to a table will flush the query cache. In general, even a MySQL query cache size of 150 MB is too big. One tenth of it practical, you can test and increase in increments to keep a balance from your practical frontend experience.

 

Enable MySQL Caching : Example

 

First take a database backup. Open your my.cnf file and find similar lines and add or modify like below :

Vim
1
2
3
4
query_cache_type = 1
query_cache_limit = 256K
query_cache_min_res_unit = 2k
query_cache_size = 90M

Save the file, restart MySQL :

Vim
1
service mysql restart

Check your frontend. First time things will suck slight more time. Another end of example which can guide you to find a perfect point :

Vim
1
2
3
4
query_cache_type = 1
query_cache_size = 16M
query_cache_min_res_unit = 2k
query_cache_limit = 5M

We were talking about MySQL from SSH because you can run query like :

Vim
1
mysql> SHOW VARIABLES LIKE 'have_query_cache';

You’ll get output :

Vim
1
2
3
4
5
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

Check whether caching is working :

Vim
1
mysql> show variables like 'query%';

Output :

Vim
1
2
3
4
5
6
7
8
9
10
11
+------------------------------+---------+
| Variable_name                | Value   |
+------------------------------+---------+
| query_alloc_block_size       | 8192    |
| query_cache_limit            | 1048576 |
| query_cache_min_res_unit     | 4096    |
| query_cache_size             | 8388608 |
| query_cache_type             | ON      |
| query_cache_wlock_invalidate | OFF     |
| query_prealloc_size          | 8192    |
+------------------------------+---------+

Here, the important things in the list are :

  1. query_cache_size :  size of the cache in bytes. If this value is 0 that will effectively disable caching
  2. query_cache_type :  value must be ON or 1 for query caching to be enabled
  3. query_cache_limit : maximum size query (in bytes) to be cached.

 

We actually could run commands in this way :

Vim
1
2
3
mysql>SET GLOBAL query_cache_size = 8388608;
mysql>SET GLOBAL query_cache_limit = 1048576;
mysql>SET GLOBAL query_cache_type = 1;

8388608 is 1024 * 1024 * 8 = 8 MB.

 

Monitor performance by running :

Vim
1
2
3
mysql> SHOW STATUS LIKE 'Qcache%';
# or
mysql> SHOW STATUS LIKE 'Qc%';

and get this kind of output :

Vim
1
2
3
4
5
6
7
8
9
10
11
12
13
+-------------------------+--------+
| Variable_name           | Value  |
+-------------------------+--------+
| Qcache_free_blocks      | 65     |
| Qcache_free_memory      | 201440 |
| Qcache_hits             | 18868  |
| Qcache_inserts          | 2940   |
| Qcache_lowmem_prunes    | 665    |
| Qcache_not_cached       | 246    |
| Qcache_queries_in_cache | 492    |
| Qcache_total_blocks     | 1430   |
+-------------------------+--------+
8 rows in set (0.00 sec)

Tagged With mysql cache , paperuri:(fa240ad77972acd49c6b4c10f5456e46) , apply query cache in wordpress , Database Caching , database caching for wordpress , query_cache_size wordpress , wordpress mysql query_cache_size , wordpress query cache mysql
Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to Enable MySQL Caching : Performance Trick For WordPress Like PHP-MySQL App

  • Nginx WordPress Installation Guide (All Steps)

    This is a Full Nginx WordPress Installation Guide With All the Steps, Including Some Optimization and Setup Which is Compatible With WordPress DOT ORG Example Settings For Nginx.

  • WordPress & PHP : Different AdSense Units on Mobile Devices

    Here is How To Serve Different AdSense Units on Mobile Devices on WordPress With PHP. WordPress Has Function Which Can Be Used In Free Way.

  • MySQL Performance Tuning For WordPress (Percona MySQL)

    Optimizing MySQL for WordPress running on Virtual Server is not exactly easy. Often for one server setup, we end up with some compromise.

  • How to Install WordPress : Ubuntu 16.04, Nginx, PHP7-FPM

    Here is Step by Step Guide on How to Install WordPress on Ubuntu 16.04, Nginx, PHP7-FPM, memcached & Percona MySQL 5.7 on Cloud Server or VPS.

performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • Hybrid Multi-Cloud Environments Are Becoming UbiquitousJuly 12, 2023
  • Data Protection on the InternetJuly 12, 2023
  • Basics of BJT TransistorJuly 11, 2023
  • What is Confidential Computing?July 11, 2023
  • How a MOSFET WorksJuly 10, 2023
PC users can consult Corrine Chorney for Security.

Want to know more about us?

Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy