iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么在Linux上优化Mysql运行环境
  • 351
分享到

怎么在Linux上优化Mysql运行环境

2023-06-13 00:06:57 351人浏览 安东尼
摘要

本篇内容介绍了“怎么在linux上优化Mysql运行环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  接触过Mysql的都是知道它是数据

本篇内容介绍了“怎么在linux优化Mysql运行环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  接触过Mysql的都是知道它是数据库,很多用户知道如何使用mysql数据库,但对Mysql运行环境的优化却知之甚少,如果你想要掌握Mysql数据库,对Mysql运行环境的优化也要了解一些,下面小编就给大家介绍下Linux优化Mysql运行环境的方法。

怎么在Linux上优化Mysql运行环境

  一、修改Linux默认的IO调度算法。

  linux默认的io调度算法为cfq,需要修改为dealine,如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式。

  1、在线动态修改,重启失效。

  echo “deadline” 》 /sys/block/sda/queue/scheduler

  tips:这里的sda代表你需要修改的硬盘,根据你实际情况修改。

  2、修改/etc/grub.conf,永久生效。

  修改/etc/grub.conf配置文件,在kernel那行增加一个配置,例如:

  kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=e01d6bb4-bd74-404f-855a-0f700fad4de0 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun1

  6 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline rhgb quiet

  主要关注elevator这个参数,设置内核的话需要重启系统才能生效。

  最后可以通过 cat /sys/block/sda/queue/scheduler 观察一下,修改前和修改后的区别。

  二、扩大文件描述符

  这个是经常修改的参数,高并发的程序都会修改。

  1、动态修改,重启失效,只能使用root,并且当前session有效。

  ulimit -n 51200

  2、修改配置文件,永久生效。

  在/etc/security/limits.conf配置文件中增加一行

  * hard nofile 51200

  扩大可开启进程数 nprocess /etc/security/limits.conf

  在/etc/security/limits.conf配置文件中增加一行

  * hard nproc 51200

  最后修改/etc/pam.d/login文件添加

  session required /lib64/security/pam_limits.so

  重启系统以后使用 ulimit -a 命令查看是否生效。

  三、禁用numa特性

  新一代架构的NUMA不适合跑数据库,它本意是为了提高内存利用率,但是实际效果不好,反而可能导致一CPU的内存尚有剩余,但是另外一个不够用,发生swap的问题,因此建议关闭或者修改NUMA的调度机制。

  1、修改/etc/grub.conf关闭NUMA,重启后生效。

  kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=e01d6bb4-bd74-404f-855a-0f700fad4de0 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun1

  6 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline numa=off rhgb quiet

  2、修改/etc/init.d/mysql或者mysqld_safe脚本,设置启动mysqld进程时的NUMA调度机制,例如。

  在新版的mysqld_safe脚本中自带如下内容,所以不需要添加,你可以看看你的mysqld_safe脚本有没有如下内容。

  if true && test $numa_interleave -eq 1

  then

  # Locate nuMactl, ensure it exists.

  if ! my_which numactl 》 /dev/null 2》&1

  then

  log_error “numactl command not found, required for –numa-interleave”

  exit 1

  # Attempt to run a command, ensure it works.

  elif ! numactl –interleave=all true

  then

  log_error “numactl failed, check if numactl is properly installed”

  fi

  # Launch mysqld with numactl.

  cmd=”$cmd numactl –interleave=all”

  elif test $numa_interleave -eq 1

  then

  log_error “–numa-interleave is not supported on this platfORM

  exit 1

  fi 

  四、修改swappiness设置

  swappiness是linux的一个内核参数,用来控制物理内存交换出去的策略。它允许一个百分比的值,最小的为0,最大的为100,改值默认是60.可以通过下面命令观察

  # sysctl -a | grep swappiness

  vm.swappiness = 60

  这个设置值到底有什么影响呢?

  vm.swappiness设置为0表示尽量少使用swap,100表示尽量将inactive的内存页交换到swap里或者释放cache(cache类似于预读的文件)。

  inactive内存的意思是程序映射着,但是”长时间”不用的内存。我们可以利用vmstat查看系统里面有多少inactive的内存。

  # vmstat -a 1

  procs ———–memory———- —swap– —–io—- –system– —–cpu——

  r b swpd free inact active si so bi bo in cs us sy id wa st

  0 0 16930764 192752 3673320 28601732 0 0 19 31 0 0 1 0 99 0 0

  1 0 16930764 192752 3673320 28601732 0 0 0 0 1136 271 0 0 100 0 0

  0 0 16930764 192748 3673320 28601732 0 0 0 56 1167 325 1 0 99 0 0

  0 0 16930764 192740 3673320 28601732 0 0 0 40 1039 164 0 0 100 0 0

  在Centos7之前,这个值建议设置为0,但是在新版本的内核里面,这样设置可能导致OOM(内存溢出),然后kernel会杀掉使用内存最多的mysqld进程。

  所以现在这个值推荐设置为1,设置方法如下:

  在/etc/sysctl.conf文件中增加一行。

  vm.swappiness = 1

  # sysctl -p //运行这个命令,让配置立刻生效。

  五、优化文件系统挂载参数。

  首先关于使用什么文件系统,网上很多测试,烟花缭乱。大概的结论如下。

  xfs 》 ext3:xfs性能优于ext3

  ext4 》 ext3:ext4性能优于ext3

  ext4 ??? xfs :xfs和ext4谁更优秀?我说不太准…。。

  然后就是挂载文件系统使用的参数:

  defaults,noatime,nodiratime,barrier=0(在xfs上使用nobarrier)

  文件系统挂载参数是在/etc/fstab文件中修改,重启时候生效。

  noatime表示不记录访问时间,nodiratime不记录目录的访问时间。

  barrier=0,表示关闭barrier功能.barrier的主要目的是为了保证磁盘写数据的安全性,但是会降低性能。如果有BBU之类的电池备份电源保证控制卡不瞬间掉电,那么这个功能就可以放心大胆的关闭。

  可以通过一下命令,查看配置是否生效。

  # cat /proc/mounts

  rootfs / rootfs rw 0 0

  proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0

  sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0

  devtmpfs /dev devtmpfs rw,seclabel,nosuid,relatime,size=8188388k,nr_inodes=2047097,mode=755 0 0

  devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0

  tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev,relatime 0 0

  /dev/sda3 / ext4 rw,seclabel,relatime,noatime,nodiratime,barrier=0,data=ordered 0 0

  none /selinux selinuxfs rw,relatime 0 0

  devtmpfs /dev devtmpfs rw,seclabel,nosuid,relatime,size=8188388k,nr_inodes=2047097,mode=755 0 0

  /proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0

  none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

  /dev/sda1 /boot ext4 rw,seclabel,noatime,nodiratime,barrier=0,data=ordered 0 0

“怎么在Linux上优化Mysql运行环境”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在Linux上优化Mysql运行环境

本文链接: https://www.lsjlt.com/news/263821.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Linux上优化Mysql运行环境
    本篇内容介绍了“怎么在Linux上优化Mysql运行环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  接触过Mysql的都是知道它是数据...
    99+
    2023-06-13
  • centos7上怎么搭建php运行环境
    CentOS 7是一款老牌的Linux操作系统,它的稳定性和安全性深受广大服务器使用者喜爱。如果你想在CentOS 7上搭建php运行环境,本文将为你介绍一种简单易懂的方法。安装Apache首先,我们需要在CentOS 7上安装一个Web服...
    99+
    2023-05-14
    php Centos7
  • Linux环境下怎么让进程在后台运行
    这篇文章主要介绍“Linux环境下怎么让进程在后台运行”,在日常操作中,相信很多人在Linux环境下怎么让进程在后台运行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux环境下怎么让进程在后台运行”的疑...
    99+
    2023-06-16
  • 怎么在生产环境运行Elasticsearch
    这篇文章主要讲解了“怎么在生产环境运行Elasticsearch”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在生产环境运行Elasticsearch”吧!基础知识:集群,节点,索引和分...
    99+
    2023-06-16
  • Linux上怎么优化MySQL
    本篇内容主要讲解“Linux上怎么优化MySQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux上怎么优化MySQL”吧!一、CPU首先从CPU说起。你...
    99+
    2022-10-19
  • Linux下怎么安装php运行环境phpstudy
    这篇文章主要讲解了“Linux下怎么安装php运行环境phpstudy”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下怎么安装php运行环境phpstudy”吧!让我们来下载php...
    99+
    2023-06-27
  • 怎么在vscode设置php运行环境
    在使用VS Code进行PHP开发之前,需要正确配置PHP的运行环境以便于开发和调试。在本文中,我们将介绍如何在VS Code中设置PHP的运行环境。本文假设您已经按照PHP的安装指南安装了PHP,并且已经在您的机器上安装了VS Code。...
    99+
    2023-05-14
  • win7上怎么快速搭建php运行环境
    Windows 7电脑是许多人使用的操作系统,许多人也喜欢使用PHP来开发网站和应用程序。要在Windows 7上使用PHP,您需要先搭建一个PHP运行环境。本文将指导您如何在Windows 7上快速搭建PHP运行环境。第一步:安装Web服...
    99+
    2023-05-14
    php Windows 7
  • KDE应用怎么在GNOME环境下运行
    这篇文章将为大家详细讲解有关KDE应用怎么在GNOME环境下运行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。GNODE和KDE两款桌面环境在视觉上的差异是显而易见的,那么如何让一种环境下的应用无误地移植...
    99+
    2023-06-16
  • 怎么在Linux系统上安装Golang环境
    这篇“怎么在Linux系统上安装Golang环境”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么在Linux系统上安装Go...
    99+
    2023-07-06
  • 怎么在EditPlus中配置C/C++运行环境
    这篇文章主要讲解了“怎么在EditPlus中配置C/C++运行环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在EditPlus中配置C/C++运行环境”吧!要想好好配置C/C++运行...
    99+
    2023-06-17
  • 在Linux上怎么后台运行nodejs
    这篇文章主要介绍“在Linux上怎么后台运行nodejs”,在日常操作中,相信很多人在在Linux上怎么后台运行nodejs问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Linux上怎么后台运行nodejs...
    99+
    2023-07-05
  • 怎么在Windows上运行Linux 容器
    这篇文章给大家介绍怎么在Windows上运行Linux 容器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。现在所有的Windows 10 和 Windows 服务器都能很好的支持Docker 容器,Docker 容器主...
    99+
    2023-06-28
  • 怎么在Windows上运行Linux容器
    这篇文章主要讲解了“怎么在Windows上运行Linux容器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows上运行Linux容器”吧!1、概述现在能够在 Windows 1...
    99+
    2023-06-16
  • Linux和Windows下怎么安装配置PHP运行环境
    在现代的Web开发中,PHP已经成为了一种非常流行的语言。从简单的脚本到大型的后端应用,都可以使用PHP实现。PHP是一种脚本语言,它需要在服务器上才能运行。因此,我们需要安装PHP的运行环境,并将PHP与Web服务器(如Apache或Ng...
    99+
    2023-05-14
    php
  • 怎么在Linux中运行多个MySQL
    本篇内容介绍了“怎么在Linux中运行多个MySQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一种在L...
    99+
    2022-10-18
  • 如何在Linux环境下使用PHP缓存技术进行优化?
    作为一种流行的服务器端脚本语言,PHP可以用于构建各种类型的Web应用程序。然而,随着应用程序规模的增长,PHP的执行速度也会逐渐变慢。为了解决这个问题,我们可以使用PHP缓存技术来提高应用程序的性能和响应速度。本文将介绍如何在Linux环...
    99+
    2023-09-14
    缓存 面试 linux
  • 怎么在Knoppix 6.0.1 Beta - DVD上运行的Linux
    本篇文章给大家分享的是有关怎么在Knoppix 6.0.1 Beta - DVD上运行的Linux,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 KNOPPIX是一套...
    99+
    2023-06-17
  • Linux运行命令前怎么临时清空Bash环境变量
    这篇文章主要介绍“Linux运行命令前怎么临时清空Bash环境变量”,在日常操作中,相信很多人在Linux运行命令前怎么临时清空Bash环境变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux运行命令...
    99+
    2023-06-28
  • mysql运行sql文件缓慢怎么优化
    当MySQL运行SQL文件缓慢时,可以考虑以下优化方法:1. 增加内存缓冲区:通过修改MySQL配置文件中的innodb_buffe...
    99+
    2023-10-20
    mysql sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作