mysql 查询缓存使用率_使用MySQL查询缓存来加速您的网站

news/2024/5/20 14:16:52/文章来源:https://blog.csdn.net/culingluan4376/article/details/108706250
mysql 查询缓存使用率

mysql 查询缓存使用率

One of the best ways to speed up your web application is to enable query caching in your database, which caches commonly used SQL queries in memory for virtually instant access by the next page that makes the same request.

加快Web应用程序速度的最佳方法之一是在数据库中启用查询缓存,该数据库将常用SQL查询缓存在内存中,以便下一个发出相同请求的页面几乎可以即时访问。

The reason this method is so powerful is that you don’t have to make any changes to your web application, you just have to sacrifice a little bit of memory. This isn’t going to fix all of your problems, but it definitely can’t hurt.

这种方法之所以如此强大,是因为您不必对Web应用程序进行任何更改,而只需要牺牲一点内存即可。 这不会解决您的所有问题,但绝对不会造成伤害。

Note: if your application updates tables frequently, then the query cache will be constantly purged and you won’t get much or any benefit from this. This is ideal for an application that mostly does reads against the database, such as a WordPress blog. This also won’t work if you are running on shared hosting.

注意:如果您的应用程序频繁更新表,那么查询缓存将不断清除,您将不会从中获得任何好处。 这是最适合对数据库进行读取的应用程序的理想选择,例如WordPress博客。 如果您在共享主机上运行,​​这也将不起作用。

Enable Caching with Server Running

在服务器运行时启用缓存

The first thing you’ll want to do is make sure that your installation of MySQL actually has query caching support available. Most distributions do, but you should check anyway.

您要做的第一件事是确保您安装MySQL实际上具有可用的查询缓存支持。 大多数发行版都可以,但是您还是应该检查一下。

You’ll want to run this command from your MySQL console, which will tell you if query caching is available.

您需要从MySQL控制台运行此命令,它将告诉您查询缓存是否可用。

mysql> show variables like 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

mysql> show variables like 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

Don’t mistake this as meaning that query caching is actually enabled, because most hosting providers aren’t going to enable this by default. Oddly enough, my Ubuntu Feisty installation already had it enabled…

不要误认为这实际上是启用了查询缓存,因为大多数托管提供程序默认不会启用该功能。 奇怪的是,我的Ubuntu Feisty安装已经启用了它…

Next we’ll need to check and see if query caching is enabled. We’ll need to check more than one variable, so we may as well do it all at once by checking for the variable query%

接下来,我们需要检查并查看是否启用了查询缓存。 我们将需要检查多个变量,因此我们最好通过检查变量query%一次完成所有操作

mysql> show variables like 'query%';
+------------------------------+---------+
| 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’s the important items in the list and what they mean:

以下是列表中的重要项目及其含义:

  • query_cache_size – This is the size of the cache in bytes. Setting this value to 0 will effectively disable caching.

    query_cache_size –这是缓存的大小(以字节为单位)。 将此值设置为0将有效地禁用缓存。

  • query_cache_type – This value must be ON or 1 for query caching to be enabled by default.

    query_cache_type –该值必须为ON或1,默认情况下启用查询缓存。

  • query_cache_limit – This is the maximum size query (in bytes) that will be cached.

    query_cache_limit –这是将要缓存的最大查询大小(以字节为单位)。

If the query_cache_size value is set to 0 or you just want to change it, you’ll need to run the following command, keeping in mind that the value is in bytes. For instance, if you wanted to allocate 8MB to the cache we’d use 1024 * 1024 * 8 = 8388608 as the value.

如果将query_cache_size值设置为0或只想更改它,则需要运行以下命令,请记住该值以字节为单位。 例如,如果您想为高速缓存分配8MB,我们将使用1024 * 1024 * 8 = 8388608作为值。

SET GLOBAL query_cache_size = 8388608;
SET GLOBAL query_cache_size = 8388608;

Similarly, the other options can be set with the same syntax:

同样,可以使用相同的语法设置其他选项:

SET GLOBAL query_cache_limit = 1048576;
query_cache_type
query_cache_type

Now how do we tell if it’s actually working? You can use the SHOW STATUS command to pull all the variables that start with “Qc” to take a look at what is going on under the hood.

现在我们如何确定它是否确实在工作? 您可以使用SHOW STATUS命令提取所有以“ Qc”开头的变量,以了解幕后情况。

mysql> SHOW STATUS LIKE 'Qc%';
+-------------------------+--------+
| 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)

You’ll notice in the stats that I have plenty of free memory left. If your server shows a lot of lowmem prunes, you might need to consider increasing this value, but I wouldn’t spend too much memory on query caching for a web server… you need to leave memory available for apache, php, ruby, or whatever you are using.

您会在统计数据中注意到,我还有足够的可用内存。 如果您的服务器显示大量低级修剪,则可能需要考虑增加此值,但我不会在Web服务器的查询缓存上花费过多的内存…您需要保留可用于apache,php,ruby或无论您使用什么。

Enable in Config File

在配置文件中启用

If you want these changes to survive a reboot or restart of the mysql server, you’ll need to add them into your /etc/mysql/my.cnf configuration file for MySQL. Note that it might be in a different location on your installation.

如果希望这些更改在mysql服务器重新启动或重新启动后仍然存在,则需要将它们添加到MySQL的/etc/mysql/my.cnf配置文件中。 请注意,它可能在安装中的其他位置。

Open up the file using a text editor in sudo or root mode, and then add these values if they don’t already exist in the file. If they do exist, just uncomment them.

使用sudo或root模式的文本编辑器打开文件,然后添加这些值(如果文件中尚不存在这些值)。 如果确实存在,则取消注释。

query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576
query_cache_size = 268435456
query_cache_type=1
query_cache_limit=1048576

Query caching can significantly improve the speed of your web application, especially if your application does mostly reads. Monitor the status using the methods above and see how it works over time.

查询缓存可以显着提高Web应用程序的速度,尤其是在您的应用程序确实主要读取的情况下。 使用上面的方法监视状态,并查看其工作状态。

翻译自: https://www.howtogeek.com/howto/programming/speed-up-your-web-site-with-mysql-query-caching/

mysql 查询缓存使用率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_779130.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx 静态网站配置

/*************************************************************************************** nginx 静态网站配置* 说明:* 配置下面的配置中包括python、php、静态网站的配置,配置静态网站主要目的是为了以后* 能够…

网站前端_Highcharts-数据可视.0001.玩转Highcharts之配置快速入门?

简单介绍: 说明: Highcharts(4.1.6)是国际知名的一款图表插件,完全基于JS编写实现,可以轻松构建出各种图表类型,包括折线图(Line Charts)/面积图(Area Charts)/柱状图(Column Charts)/条形图(Bar Charts)/饼图(Pie Charts)/散点图(Scatter Charts)/气泡图(Bubble Charts)/动态图…

手机网站支付快速接入

本文档展示了如何从零开始,使用蚂蚁金服开放平台服务端SDK快速接入手机网站支付产品,完成与支付宝对接的部分。 注意: 文档中的代码示例和Demo是用来阐述API基本使用方法的,仅针对大众场景。供ISV参考,特殊情况还请ISV…

干货分享-----网站客服系统添加方法

随着询盘的增加,很多网站已经不满足于用QQ来进行在线对接客户了,还想实时了解访客的来龙去脉或成单记录等信息,这时就需要在网站上接入网站客服系统了,今天小编就给大家分享一下网站客服系统的添加方法。 以米多客网站客服系统为例…

如何用云存储和CDN加速网站图片视频、阿里云OSS的使用(转)

总有人说阿里云主机带宽小,那只是因为你还停留在单机架构上。 阿里的架构设计,云主机主要用来跑程序的,附件的存储和访问主要靠OSS。 有人又会说了,OSS按存储费流量双重计费伤不起,只是你不知道OSS有免费额度&#x…

《众妙之门——网站UI设计之道(修订版)》一导读

序 言 众妙之门——网站UI设计之道(修订版)人可以使简单的事情变得复杂,通过常规的方式写一本书对我们而言算不上什么挑战,从撰稿者的名单可以证明这一点。我们希望尽可能多的人参与进来:作者、设计师和插画师。实际上…

程序员一般喜欢浏览哪些网站呢?

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢! 原文链接地址:程序员一般喜欢浏览哪些网站呢? CSDN CSDN (Chinese Software Developer Network) 创立于1999年,是中国的IT社区和服务平…

c语言程序设计网站有哪些,C语言编程软件有哪些?

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性&#xff…

如何建立网站服务器让手机访问权限,设置站点的 Web 制作访问权限 - Tableau

Tableau Server 管理员可在站点级别指定是否允许用户在 Web 环境中编辑发布的视图,以及配置其他 Web 制作功能。默认情况下,针对所有站点启用了 Web 制作功能。具有“Web 编辑”能力的用户可以直接在服务器上创建和编辑工作簿。如果希望用户能够查看发布…

『互联网架构』软件架构-分布式之大型网站的演变过程

项目都是从单一的应用,到分布式应用,到流式的基栈,这样的思想。 单体应用 app应用,db数据库,server服务都在同一台机器上 集群应用 随着业务量的增大,一台服务器,需要进行拆分到3台服务器。 ser…

美国人开发了一个有趣的网站,可以算出你被机器人抢饭碗的概率

近年来,随着人工智能成为继智能硬件的下一个风口之后,关于机器人取代人类的声音一直此起彼伏。如“到了2030年,机器人将会取代人类70%的工作”此类论调,皆可见诸报端。身为人类的我们,每次看到这些新闻,总不…

EntLib.com 电子商务系统 v2.5 – 前台购物网站/网店发布-- 源码包

请尊重 EntLib.com 的辛苦奉献及版权!1、未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网站、以营利为目的或实现盈利的网站)。购买商业授权请登陆http://www.entlib.com/ 了解最新说明。2、未经官方许…

使用WireShark嗅探网站登陆密码

本文仅供技术讨论,不能用于非法用途。 Step 1:安装wireshark,并开启网卡混杂模式,抓包。不懂的同学问度娘,就不在本文讨论了。 Step 2:背景 东哥报销系统的账户和密码是自动登陆,时间长了密码不记得了&…

Linux搭建web网站综合实验

综合实验: 请给openlab搭建web网站 网站需求:1、基于域名www.openlab.com可以访问网站内容为welcome to openlab!! —— /openlab 2、给该公司创建三个网站目录分别显示学生信息,教学资料,缴费网站,基于 www.openlab.c…

html5手机排名,手机网站排名怎么做?移动端手机站SEO排名的13个要点

手机网站最重要的就是不同机型的完美适配,现在大大小小尺寸的手机那么多,如果你的网站可以做到不管任何尺寸的手机都很好适配的话,那想做手机网站的排名工作已经赢在第一步了!1:百度官方意见:使用合理的div和css架构&a…

1万并发服务器配置_怎么根据网站访问量并发量来推算配置服务器?

导语新手站长躲不过的一个问题就是给自己的站配置什么样的服务器?我们怎么样才能花最少的成本租用高最合适的服务器?今天,我们的话题主要就是浅谈这个站长们绕不开的问题,怎么根据网站访问量、并发量来推算租用何种配置服务器?比如,你的网…

linux+wdcp+目录,Linux+WDCP建站流程

以下内容仅适用于我司linux系统(包括CentOS/Ubuntu)云主机1.您可以通过SSH客户端(如putty)登录云主机,初始账号密码详见产品管理平台;请注意独立IP云主机SSH端口51022,非22。2.新购买或自助重装系统后,mysql默认密码保存在/root/i…

我花费洪荒之力从各个搜索网站收集了几百本常用的电子书

为了方便广大的小伙伴也能方便找到对应领域的电子书,我花费洪荒之力从各个搜索网站收集了几百本常用的电子书。希望这些书籍对你有帮助! 欢迎关注公众号【程序猿编码】,添加本人微信号(17865354792),回复领取学习资料,网盘资料有如下&#…

宜立方 电商网站 -- 问题集合

1 |基于大数据技术的电子商务平台(老师指导下完成)2 开发时间:2017/12 – 至今3 软件架构:Spring SpringMVC Mybatis EasyUI Solr Redis Maven4 项目描述:5 该项目采用SSM框架,采用Redis缓存&am…

允许网站使用相机和麦克风_你还在随意允许手机应用权限?那你的手机危险了...

嗨,大家好,我是猴叔~我们都知道在使用我们的手机的时候,大家都会下载一些手机软件APP。但是当我们下载完软件的时候就会注意到,这些软件都会需要进行【应用权限】的设置,大家是不是都会选择全部允许授权呢?…