mysql性能调优

mysql性能调优

  • sysbench压测调优到百万级别qps

sysbench压测调优到百万级别qps

这篇文章https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads/#:~:text=We%20contacted%20SysBench%20author%20Alexey%20Kopytov%2C%20and%20he,the%20concurrency_kit%20branch%20%28better%20concurrency%20and%20Lua%20processing%29表示mysql和pg可以达到百万级别的QPS,于是我们在自己的实例上进行测试。
使用文章中推荐的方法来测试:

sysbench /usr/share/sysbench/oltp_point_select.lua --db-driver=mysql \--table-size=10000000 --tables=8 --threads=$1 --time=300 \--rate=0 --report-interval=1 --rand-type=uniform --rand-seed=1 \--mysql-user=$user --mysql-password=$pass --mysql-host=$host \--mysql-port=$port --events=0 run

得到结果:
在这里插入图片描述
发现效果不佳,只有1W多QPS。。

线程数调大+warmup参数调大试试:
在这里插入图片描述
发现没有warm-up参数。。。这个时候就应该意识到是版本问题了,然而还在试错。

继续修改参数ssl=0 ,performance_schema=OFF (performance_schema简称ps,这个参数是开启对mysql的性能检测,对于mysql整体性能有一定影响)
在这里插入图片描述
有一些提高,但是并没有数量级的变化,这个时候发现时延很高,意识到应该使用Unix socket连接,目前测试使用另外一台机器,达不到理想效果;

继续调参,5.7把query_cache_size设成0,(这个参数允许 MySQL 在缓存中存储查询结果,从而避免了对数据库的查询操作,提高了查询性能。但是在某些情况下,查询缓存可能会对 MySQL 的性能产生负面影响,比如数据更新频繁的情况下,因为每次数据更新都会导致相关的查询缓存失效。在 MySQL 8.0 中,query_cache_size 改成了query_cache_type 参数。MySQL 8.0 中的查询缓存实现方式与之前的版本有所不同,因此建议不要在 MySQL 8.0 中使用查询缓存,而是采用其他性能优化措施。)
在这里插入图片描述
好多了,还得是缓存!

改成unix-socket:
在这里插入图片描述

达标了~,测试脚本:

sysbench /usr/share/sysbench/oltp_point_select.lua --db-driver=mysql \
--table-size=25000 --tables=8 \
--rate=0 --report-interval=10 --rand-type=uniform --rand-seed=1 \
--time=60 --threads=128 --mysql-socket=/var/lib/mysql/mysql.sock \
--mysql-user=root --mysql-password=Admin@123 --mysql-host=127.0.0.1 \
--mysql-port=3306 --mysql-db=test123 --events=0 run

发现线程控制在128性能最好,高了低了都不如128.

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

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

相关文章

seata安装

seara-Server下载 数据库建库seata 建表SQL地址:https://github.com/apache/incubator-seata/blob/develop/script/server/db/mysql.sql 表结构: 更改配置: # Copyright 1999-2019 Seata.io Group. # # Licensed under the Apache License, Version 2.0 (the "Licens…

Java学习笔记NO.24

T1.完成理工超市系统的商品类及其子类的定义,实现“浏览商品”及“查看商品详情”功能 (1)商品类 public class Goods {public String name;public double price;public int count;public String desc;public Goods(String name, double p…

89380-[82

CSDN是鼓励用户创作的一个平台,作为一个创作平台,可能很多博客新手不知道如何在CSDN写博客,如何使用编辑器,所以这篇文章将教你如何发布CSDN博文以及发布博文的一些规则。 如何创作博客? 第一步:首先在网站…

程序员排查BUG指南

程序员排查BUG(错误)是软件开发过程中的重要一环, 以下是一份程序员排查BUG的指南,帮助你更有效地识别、定位和修复问题: 1、重现BUG:确保能够准确地重现BUG,这是解决问题的第一步。尽量记录重现BUG的步骤。…

AcWing 278.数字组合

首先就是可以给出DFS的思路&#xff0c;也就是指数型递归的操作&#xff1a; #include<iostream> #include<stdio.h> #include<cstring> #include<cstdlib> #include<cmath> #include<vector> #include<algorithm> #include<st…

ORA-02270-此列列表的唯关键字或主键不匹配

学习场景 数据库约束学习 -- 主表 班级表 create table classinfo(cid number(4), -- 班级编号cname varchar2(100), -- 班级名称cyear number(4), -- 入学年份clen number(1) -- 学制 );-- 从表 学生表 create table stuInfo(stuNo number(10) primary key, cid number(4)…

Linux/Uinx 系统编程:定时器以及时钟同步

本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于Intel x86 的PC中的硬件定时器;讲解了CPU操作和中断处理;描述了Linux中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、定时器生成的信号&#xff0c;并通过示例演示了进程间隔定时器。编程…

C语言经典算法-6

文章目录 其他经典例题跳转链接31.数字拆解32.得分排行33.选择、插入、气泡排序34.Shell 排序法 - 改良的插入排序35.Shaker 排序法 - 改良的气泡排序 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠走迷官&#xff08;一&…

《C语言深度剖析》---------关键字(1)

1.双击实质--->加载内存 windows系统里面&#xff0c;双击的本质就是运行程序&#xff0c;把程序加载到内存里面&#xff1b; 任何程序运行的时候都必须加载到内存里面&#xff1b; 程序没有运行之前在硬盘里面&#xff0c;为什么程序运行之前必须加载到内存里面呢&#…

【Apache ShenYu源码】如何实现负载均衡模块设计

ShenYu是一个异步的&#xff0c;高性能的&#xff0c;跨语言的&#xff0c;响应式的 API 网关。有关ShenYu的介绍可以戳这。 一、前瞻 今天我们尝试不同的代码阅读方式&#xff0c;按模块来去阅读源码&#xff0c;看看效果如何。 本次阅读锁定在shenyu-loadbalancer&#xf…

比较基因组——还是看我的教程吧!

一、运行orthofinder 首先 orthofinder使用的版本为2.5.* 不要使用2.2的&#xff0c;2.2默认比对是blast&#xff0c;速度非常慢&#xff0c;结果文件呈现形式也不让人满意。2.5默认用的diamond 速度非常快 第一步代码&#xff1a; nohup orthofinder -t 40 -f data/ & # …

android 的 hal-jni

目标是写一个APP调用HAL的一个函数,在AOSP源码环境下进行开发,大概流程是: APP---->Framework service---->native----->HAL 1.什么是HAL HAL全称Hardware Abstract Layer,硬件抽象层,它向下屏蔽了硬件的实现细节,向上提供了抽象接口,HAL是底层硬件和上层框架…

【网页实战项目设计】基于SSM的医院预约挂号系统

基于SSM的医院预约挂号系统 项目截图 开发环境与技术框架 开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&a…

实战whisper第二天:直播语音转字幕(全部代码和详细部署步骤)

直播语音实时转字幕&#xff1a; 基于Whisper的实时直播语音转录或翻译是一项使用OpenAI的Whisper模型实现的技术&#xff0c;它能够实时将直播中的语音内容转录成文本&#xff0c;甚至翻译成另一种语言。这一过程大致分为三个步骤&#xff1a;捕获直播音频流、语音识别&#x…

面试算法-70-合并 K 个升序链表

题目 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 解释&#xff1a;链表数组如下…

深入了解RSA算法:公钥密码学的基石

RSA算法是一种非对称加密算法&#xff0c;由Ron Rivest、Adi Shamir和Leonard Adleman于1978年提出。它基于大数分解的困难性&#xff0c;使用一对公钥和私钥进行加密和解密。本文将详细介绍RSA算法的原理、实现以及应用场景。 一、RSA算法原理 大数分解问题 RSA算法的基础是…

在线教育话术(1W字精选)

产品结构图 Nginx实现代理 问&#xff1a;我们在本机的host文件中配置了域名映射&#xff0c;都是同一个服务器。我们只需要输入对应的域名就可以到对应的界面&#xff0c;这是怎么实现的&#xff1f; 答&#xff1a;主要就是通过Nginx反向代理来实现的&#xff0c;Nginx会先…

低代码开发与物联网应用:重塑未来技术生态

随着科技的飞速发展&#xff0c;物联网(IoT)正逐渐成为我们日常生活的重要组成部分。在这个大背景下&#xff0c;低代码开发平台的出现为物联网应用的开发带来了革命性的变化。本文旨在探讨低代码开发与物联网应用之间的关系&#xff0c;分析低代码开发如何推动物联网应用的快速…

Java学习笔记之Java基础语法02-运算符

1.运算符和表达式 1.1 运算符&#xff1a; 定义&#xff1a;就是对常量&#xff08;字面量&#xff09;或者变量进行操作的符号。 比如&#xff1a; - * / 1.2 表达式&#xff1a; 定义&#xff1a;用运算符把常量或者变量连接起来的&#xff0c;符合Java语法的式子就是表达…

2024-03-20 作业

作业要求&#xff1a; 1> 创建一个工人信息库&#xff0c;包含工号&#xff08;主键&#xff09;、姓名、年龄、薪资。 2> 添加三条工人信息&#xff08;可以完整信息&#xff0c;也可以非完整信息&#xff09; 3> 修改某一个工人的薪资&#xff08;确定的一个&#x…