首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 数据库上线后根据 status 状态优化

马哥linux运维 | 最专业的linux培训机构 ---- 网上有很多的文章教怎么配置mysql服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化...'; 理想值:max_used_connections / max_connections * 100% ≈ 85% 最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接数上限设置的过高了...查看服务器query_cache使用情况: show global status like 'qcache%'; 参数解释: Qcache_free_blocks:缓存中相邻内存块的个数。...Qcache_free_memory:缓存中的空闲内存。 Qcache_hits:每次查询在缓存中命中时就增大 Qcache_inserts:每次插入一个查询时就增大。...Qcache_lowmem_prunes:缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看;如果这个数字不断增长,表示可能碎片非常严重,或内存很少。

1.2K60

JVM调优1个月,性能提升400倍!怎样做到的?

-Xms1000m:设置JVM初始化内存为1000m。 此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn350M:设置年轻代大小为350M。...初始化堆内存没有和最大堆内存一致,查阅了各种资料都是推荐这两个值设置一样的,可以防止在每次GC后进行内存重新分配。...▐ 内存泄漏调查 经过了第一次的调优后发现内存泄漏的问题,于是大家开始将进行内存泄漏的调查,首先排查代码,不过这种效率是蛮低的,基本没发现问题。...而且这也能非常好的解释了为什么服务器会自动重启的原因。 解决了这个问题后,线上服务器运行完全正常了,使用未调优前的参数,运行了3天左右FullGC只有5次。...于是进行各种资料的调查,metaspace导致FullGC的情况,服务器默认的metaspace是21M,在GC log中看到了最大的时候metaspace占据了200M左右,于是进行如下调优,以下分别为

87840
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JVM调优1个月,性能提升400倍!怎样做到的?

    -Xms1000m:设置JVM初始化内存为1000m。 此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn350M:设置年轻代大小为350M。...初始化堆内存没有和最大堆内存一致,查阅了各种资料都是推荐这两个值设置一样的,可以防止在每次GC后进行内存重新分配。...内存泄漏调查 经过了第一次的调优后发现内存泄漏的问题,于是大家开始将进行内存泄漏的调查,首先排查代码,不过这种效率是蛮低的,基本没发现问题。...而且这也能非常好的解释了为什么服务器会自动重启的原因。 解决了这个问题后,线上服务器运行完全正常了,使用未调优前的参数,运行了3天左右FullGC只有5次。...metaspace是21M,在GC log中看到了最大的时候metaspace占据了200M左右,于是进行如下调优,以下分别为prod1和prod2的修改参数,prod3,prod4保持不变。

    68620

    JVM 调优一个月,性能提升了 400 倍!

    -Xms1000m:设置JVM初始化内存为1000m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn350M:设置年轻代大小为350M。...初始化堆内存没有和最大堆内存一致,查阅了各种资料都是推荐这两个值设置一样的,可以防止在每次GC后进行内存重新分配。...内存泄漏调查 经过了第一次的调优后发现内存泄漏的问题,于是大家开始将进行内存泄漏的调查,首先排查代码,不过这种效率是蛮低的,基本没发现问题。...解决了这个问题后,线上服务器运行完全正常了,使用未调优前的参数,运行了3天左右FullGC只有5次 第二次调优 内存泄漏的问题已经解决了,剩下的就可以继续调优了,经过查看GC log,发现前三次GullGC...metaspace是21M,在GC log中看到了最大的时候metaspace占据了200M左右,于是进行如下调优,以下分别为prod1和prod2的修改参数,prod3,prod4保持不变 -Xmn350M

    54031

    mysql 性能优化方案 (转)

    256,应该没有出现1040错误,比较理想的设置是 max_used_connections / max_connections * 100% ≈ 85% 最大连接数占上限连接数的85左右,如果发现比例在...,所有的缓存都用到了,要么 增加key_buffer_size,要么就是过渡索引了,把缓存占满了。...qcache_free_memory:缓存中的空闲内存。 qcache_hits:每次查询在缓存中命中时就增大 qcache_inserts:每次插入一个查询时就增大。...mysql 首先会尝试在内存中做排序,使用的内存大小由系统变量 sort_buffer_size 决定,如果它的大小不够把所有的记录读到内存中,mysql 就会把每次内存中排序的结果存到临时文件中...因为用到了临时文件,所以速度可能会比较慢,增加 sort_buffer_size 会减少 sort_merge_passes 和 创建临时文件的次数。

    1.4K62

    2017年阿里内推一面面经(不断更新)

    好不容易在3月8号这天中午12点10左右到了来自阿里的面试电话。 刚开始,我是一脸的懵逼啊,面试官问我:“你是不是面过了???”我是一脸黑脸问号.jpg。Excuse me?...1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。...4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。...缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。...迟到了!!!) 总结一点,阅读源码很重要!

    76410

    一个多月的努力,FGC发生频率优化了400倍

    -Xms1000m:设置JVM初始化内存为1000m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn350M:设置年轻代大小为350M。...初始化堆内存没有和最大堆内存一致,查阅了各种资料都是推荐这两个值设置一样的,可以防止在每次GC后进行内存重新分配。...内存泄漏调查 经过了第一次的调优后发现内存泄漏的问题,于是大家开始将进行内存泄漏的调查,首先排查代码,不过这种效率是蛮低的,基本没发现问题。...而且这也能非常好的解释了为什么服务器会自动重启的原因。 解决了这个问题后,线上服务器运行完全正常了,使用未调优前的参数,运行了3天左右FullGC只有5次 ?...metaspace是21M,在GC log中看到了最大的时候metaspace占据了200M左右,于是进行如下调优,以下分别为prod1和prod2的修改参数,prod3,prod4保持不变 -Xmn350M

    71440

    Redis详解(1)——为什么我们一定要了解Redis

    一、前言 从我第一次使用Redis来帮助加速算法运行速度开始,就把Redis应用在了各个项目中,每次带来的体验非常得好,python多进程+Redis的使用帮助我把单进程运行十几个小时的程序加速到了只需要...10分钟左右,也帮助我把本来需要运行十几分钟的项目加速到了几十秒就能运行结束,同时我也喜欢Redis项目本身的小巧和精致。...以上三点是Redis为什么这么快的原因,内存读写是最主要的,其他两个技术选型对此也有所帮助。 四、Redis支持的数据结构 我们要把数据存到内存里面,怎么存呢?...但是我们知道,fork出来的子进程会拷贝父进程所有的数据,这样理论上当Redis要持久化2G的内存数据的时候,子进程也会占据几乎2G的内存,那么Redis相关的进程内存占用就会达到4G左右,这在数据比较小的时候还不严重...而且这样每次我们只需要写一小部分数据到文件中。

    1.1K10

    记一次性能优化,单台4核8G机器支撑5万QPS

    环境的配置如下: 服务器:4 核 8G 内存,CentOS 7 系统,SSD 硬盘 数据库:MySQL 5.7,最大连接数 800 缓存:Redis,1G容量。以上环境都是购买自腾讯云的服务。...好了,问题找到了,我们继续优化。 更新的架构如下: 我们将全部的配置加载到缓存中,只有在缓存中没有配置的时候才会去读取数据库。...接下来我们再次压测,结果如下: QPS 压到 2 万左右的时候就上不去了; 服务器 CPU 在 60%-80% 之间跳动; 数据库连接数为 300 个左右,每秒 TCP 连接数为 1.5 万左右。...再次进行压测,结果如下: QPS 压到 2.2 万左右的时候就上不去了; 服务器 CPU 在 60%-80% 之间跳动; 数据库连接数为 300 个左右,每秒 TCP 连接数为 1.7 万左右。...猜测每次请求过后,TCP 连接并没有立即被释放,导致 socket 无法重用。 经过查找资料,找到了问题所在: TCP 链接在经过四次握手结束连接后并不会立即释放,而是处于 timewait 状态。

    1.8K21

    记一次性能优化,单台4核8G机器支撑5万QPS

    环境的配置如下:  服务器:4 核 8G 内存,CentOS 7 系统,SSD 硬盘  数据库:MySQL 5.7,最大连接数 800  缓存:Redis,1G容量。以上环境都是购买自腾讯云的服务。...好了,问题找到了,我们继续优化。 更新的架构如下: 我们将全部的配置加载到缓存中,只有在缓存中没有配置的时候才会去读取数据库。...接下来我们再次压测,结果如下: QPS 压到 2 万左右的时候就上不去了; 服务器 CPU 在 60%-80% 之间跳动; 数据库连接数为 300 个左右,每秒 TCP 连接数为 1.5 万左右。...猜测每次请求过后,TCP 连接并没有立即被释放,导致 socket 无法重用。 经过查找资料,找到了问题所在: TCP 链接在经过四次握手结束连接后并不会立即释放,而是处于 timewait 状态。...这就要求 Web 开发人员有牢固的基础知识,否则出现了问题还不知道怎么分析查找。

    1.5K30

    面试官:给我讲一个项目性能优化的方案?

    环境的配置如下: 服务器:4核8G内存,centos7系统,ssd硬盘 数据库:Mysql5.7,最大连接数800 缓存: redis, 1G容量。以上环境都是购买自腾讯云的服务。...好了,问题找到了,我们继续优化,更新的架构如下 我们将全部的配置加载到缓存中,只有在缓存中没有配置的时候才会去读取数据库。...接下来我们再次压测,结果如下:QPS压到2万左右的时候就上不去了,服务器cpu在60%-80%之间跳动,数据库连接数为300个左右,每秒tpc连接数为1.5万左右。...再次进行压测,结果如下: QPS压到2.2万左右的时候就上不去了,服务器cpu在60%-80%之间跳动,数据库连接数为300个左右,每秒tpc连接数为1.7万左右。...回顾这一次调优,得到了很多经验,最重要的是,深刻理解了web开发不是一个独立的个体,而是网络、数据库、编程语言、操作系统等多门学科结合的工程实践,这就要求web开发人员有牢固的基础知识,否则出现了问题还不知道怎么分析查找

    54520

    性能测试:记一次生产环境性能测试优化实践

    环境的配置如下: 服务器:4 核 8G 内存,CentOS 7 系统,SSD 硬盘 数据库:MySQL 5.7,最大连接数 800 缓存:Redis,1G容量。以上环境都是购买自腾讯云的服务。...好了,问题找到了,我们继续优化。 更新的架构如下: 我们将全部的配置加载到缓存中,只有在缓存中没有配置的时候才会去读取数据库。...接下来我们再次压测,结果如下: QPS 压到 2 万左右的时候就上不去了; 服务器 CPU 在 60%-80% 之间跳动; 数据库连接数为 300 个左右,每秒 TCP 连接数为 1.5 万左右。...再次进行压测,结果如下: QPS 压到 2.2 万左右的时候就上不去了; 服务器 CPU 在 60%-80% 之间跳动; 数据库连接数为 300 个左右,每秒 TCP 连接数为 1.7 万左右。...猜测每次请求过后,TCP 连接并没有立即被释放,导致 socket 无法重用。 经过查找资料,找到了问题所在: TCP 链接在经过四次握手结束连接后并不会立即释放,而是处于 timewait 状态。

    74520

    微信 PaxosStore:海量数据冷热分级架构

    每次业务端通过热数据集群来获取冷数据的索引,再直接读取冷数据集群中的文件位置。一次随机读即完成。 这个架构的问题在于扩容!...首先要做的是数据按块进行压缩,在改造之前,冷热数据混杂,是没办法实现按块压缩的,只能以单用户数据为基本单位进行压缩,只可以达到30%左右的压缩率。而通过按数据块进行压缩,则将压缩率提高到了60%左右。...我们通过缓存层的轻重分离,达到了这个目标。改造前,存储层已经有单机级别的item cache,其中包含数据缓存和版本号缓存,命中率也达到了85%,算是比较高的。...每次读写通过数组内数据的挪动,来更新LRU。 这样一个实现确保了内存的高效使用,仅用4G的内存空间,就缓存了约4亿的key,达到了98%的命中率。...同时在上线的过程中,  存储层兼容新旧模式,每次大改造支持回退。    目前我们已经在上海及中国香港上线了此项改造,实现全程无故障切换。

    5.2K120

    性能优化

    从第1版起,核心的投标引擎基本没有动,运行几十天也正常。正好其他事情差不多了,想着再优化优化。...我对比了本地和服务器的数据,以抓取概略标的为例,本地平均时间是220ms左右服务器是120ms左右,快一些很正常。 后面,我基本就以本地数据为主,服务器肯定会快一些。...本地概略标的每次耗时220ms,优化余地不大。 详细标的每次耗时500-600ms,最重要的耗费还是以http方式抓数据,但接口就是如此,要提高很难。...定期获取用户资金,我还追踪了满标的时间,计算每次的耗费,居然达到秒级! 发现问题,解决就很简单了,把用户数据更新的频率和次数优化,把满标时间分离到另外一个程序中,结果就大大改进了。...优化之后,这个比例达到85%以上,换言之,几乎所有的时间都在跟踪标的,把对标的的反应间隔尽可能缩到最小。感觉对于满标极快的标的,抓的成功率高多了。这是最近投标的满标时间: ?

    1.1K80

    记一次单机系统的性能优化:最后竟是 TCP 的锅

    环境的配置如下: 服务器:4核8G内存,CentOS7系统,SSD 硬盘 数据库:MySQL 5.7,最大连接数 800 缓存: Redis,1G 容量。 以上环境都是购买自腾讯云的服务。...好了,问题找到了,我们继续优化,更新的架构如下: 我们将全部的配置加载到缓存中,只有在缓存中没有配置的时候才会去读取数据库。...接下来我们再次压测,结果如下: QPS 压到 2万左右的时候就上不去了,服务器 CPU 在 60%-80% 之间跳动,数据库连接数为300个左右,每秒TPC连接数为1.5万左右。...再次进行压测,结果如下: QPS压到2.2万左右的时候就上不去了,服务器cpu在60%-80%之间跳动,数据库连接数为300个左右,每秒 TCP 连接数为1.7万左右。...回顾这一次调优,得到了很多经验,最重要的是,深刻理解了web开发不是一个独立的个体,而是网络、数据库、编程语言、操作系统等多门学科结合的工程实践,这就要求web开发人员有牢固的基础知识,否则出现了问题还不知道怎么分析查找

    37920

    Java面试:2021.05.20

    1、在讲项目的过程中,聊到了接口这块,瞬间惨不忍睹,问我是否考虑到幂等性问题了,怎么处理的?WC要崩啊!...2、因为我做的是个互联网项目所以自然而然的就聊到了项目的QPS多少,线程池参数多少,怎么配的?...80%左右即可,过多也会消耗其性能。...volatile只提供了保证访问该变量时,每次都是从内存中读取最新值,并不会使用寄存器缓存该值——每次都会从内存中读取。而对该变量的修改,volatile并不提供原子性的保证。...11、怎么做到线程去关闭另一个线程? 12、怎么定位gc问题? 13、堆溢出,和栈溢出?解释下堆和栈的区别? 14、服务器内存溢出? 15、平时自己会去学习什么新的知识?这样可以了解你的知识宽度?

    37820

    分析MySQL数据库的各项优化指标

    最大连接数占上限连接数的 85%左右,如果发现比例在 10%以下,MySQL 服务器连接数上限设置 的过高了。...因此,Max_used_connections / max_connections * 100% 大约占比85%左右。...数目大说明可能有碎片,FLUSH QUERY CACHE会对缓存中的碎片进行整理,从而得到一个空闲块; ◈ Qcache_free_memory,缓存中的空闲内存; ◈ Qcache_hits,每次查询在缓存中命中时就增大...8、 排序使用情况 MySQL首先会尝试在内存中做排序,使用的内存大小由系统变量Sort_buffer_size决定,如果它的大小不够把所有的记录读到内存中,MySQL就会把每次内存中排序的结果存到临时文件中...,经常用每秒查询率来衡量系统服务器的机器的性能。

    1.5K20

    OutOfMemoryException异常解析

    sendbytes); }); thread.Start(); //...代码上下文 这段代码存在的地方大概是,在所有设备在每小时采集一次数据的时候会集中在某一个时间段里大量的发送数据若干次,且每台设备每次发送数据的时候都会创建线程去发送数据...看到这一段代码的时候我人麻了。 (2)根据问题代码继续分析 在程序开发中,创建线程的代价是非常高昂的。而且集中在一个时间点上去频繁创建线程这样的代码肯定不行。...发现在大量创建线程的时候CPU和内存占用会陡增。...这个时候由于时间紧迫只能先改一版本拿到服务器上去顶一阵肯定比上一个版本要好。 问题又来了如果再继续出现问题怎么继续排查?下一次不一定能抛出更有用的信息。...这个时候想到的解决方案如下: 1.添加DUMP文件输出 2.关键敏感地方加强日志信息详细程度和适量try块捕获异常 到此耗时大约3小时左右,编译好版本部署到服务器上再做观察。

    23110

    如何测试Nginx的高性能

    简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器; 作为一款轻量级的Web服务器,具有占有内存少,并发能力强等优势,是高连接并发场景下.../bin/sh# # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15# description...grep nginx # 检查nginx进程,尤其是worker进程是否与worker_processes值一致 ss -antupl |grep 80 # 检查服务端口是否启动 性能测试 测试说明 每次测试进行...3次,最后数据取平均值; 对比测试中的Apache采用event的MPM机制,最大化提高Apache的并发性能; 每次测试后,需重新启动服务(httpd或nginx),以防止多次测试数据不准; 测试工具...; 动态文件测试时,低并发 (100以下)情况下,Nginx和Apache的处理能力相当(650pages/sec左右),但Nginx的内存占用和负载峰值只有Apache的 50%左右;在高并发情况下(

    45530
    领券