如何开始优化数据库

技术如何开始优化数据库如何开始优化数据库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。对于数据库的调优, 可以从以下几个方面来考虑, 硬件的配置, 网络

如何开始优化数据库?针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。

对于数据库调优,可以考虑以下几个方面:硬件配置、网络配置、数据库配置、SQL编写和解释方法、索引维护等等。首先,下面仅解释数据库配置和与SQL相关的优化的重写。

一般来说,调整数据库性能需要系统的知识。比如你需要知道数据库系统是服务于在线分析系统还是在线交易系统,这对于硬件系统提供的IO CPU有不同的要求,比如你想要多少CPU,如何设置RAID,需要多少内存,数据库设置问题等等。当然也可以通过PGBANCH测试数据库的TPS。

在第二部分中,数据库的优化将在数据库运行后进行。在开始的时候,有必要在这个阶段观察和监控系统。例如,您可以使用pgbadger监控工具对系统进行整体监控,或者powa和pg _ stat _语句可以搜索数据库中的问题并找到瓶颈和慢速查询等信息。

分析的第一点是,对于慢查询分析,需要重写一个又慢又差的SQL。此外,应该创建缺失的索引,重置数据库的配置,重建物理结构等等。

接下来,我们将开始调试数据库的配置。

数据库中的最大连接数在数据库配置中非常重要。默认max_ connections设置的默认值为100。如果设置值较低,可以适当增加work_mem的配置值。

在POSTGRESQL中,连接池通常用于提高系统性能,减少内存浪费,减少连接查杀和重建连接锁所消耗的时间。

基于的两种常用连接池软件

保镖

pgpool-II

当然,在业务层面,连接池也可以使用类似JAVA的连接池或者C3P0等等。

如何开始优化数据库

的以下设置与内存设置相关。

共享缓冲区(共享_缓冲区):共享缓冲区的默认值是

32mb;但是建议设置为总内存的25%左右,但在Linux系统上不能超过8 GB,在windows系统上不能超过512 MB。有时,将shared_buffers增加到一个非常高的值会导致性能的提高,因为数据库可以完全缓存在RAM中。但是,将该值增加太多的缺点是无法为排序和哈希等CPU操作分配内存。

(不是太赞同书中的关于这段的内容,实际上这个值应该根据应用系统的情况来设置,例如是OLTP OLAP, 以及运行一段时间的统计信息,在进行二次调整会更好)

工作记忆

工作内存(work_mem):的默认值为1mb;对于cpu绑定操作,增加这个值很重要。work_mem设置与连接数相关联,因此使用的RAM总量等于连接数乘以work_mem。内存用于排序和散列,因此它会影响使用顺序BY的查询。

不同,联合询问等。

例如,当查询语句为时,我们可以通过解释分析来查看该语句的内存使用情况。

如何开始优化数据库

扩展:

书中到此内存的内容就没有了实际上,PG的内存调整还涉及

temp_buffers = 8MB 针对每个数据库进行的临时BUFFER的设置,在未使用的状态下每个SESSION会占用 64bytes作为占位符

maintenance_work_mem = 64MB

指定维护操作(如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY)所使用的最大内存量。它默认为64兆字节(64MB)。由于数据库会话一次只能执行其中的一个操作,而且安装通常不会同时运行许多操作,因此可以将这个值设置为比work_mem大得多的值。较大的设置可能提高清空和恢复数据库转储的性能。

autovacuum_work_mem在数据库中最重要的autovacuum中使用的内存,默认值 -1表示为使用 maintenance_work_mem的配置来替代这个配置.

shared_memory_type = mmap

dynamic_shared_memory_type = posix

关于如何开始优化数据库的问题的答案将在这里分享。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/129609.html

(0)

相关推荐

  • 真心话劲爆污,你还剩几个能说心里话的朋友

    技术真心话劲爆污,你还剩几个能说心里话的朋友应该没有了真心话劲爆污,随着年龄的增加,越来越不想跟别人说什么,说了也会莫名其妙的惹些烦恼!心里话,只能自己消耗,并不能跟别人说,说多了自寻烦恼而已。而且一般心里话都是一些烦恼

    2021年10月20日
  • 怎么实现mysql读写分离

    技术怎么实现mysql读写分离这篇文章主要介绍“怎么实现mysql读写分离”,在日常操作中,相信很多人在怎么实现mysql读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现my

    攻略 2021年11月18日
  • SQL的常见错误有哪些

    技术SQL的常见错误有哪些本篇内容主要讲解“SQL的常见错误有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL的常见错误有哪些”吧!1. Queries语句的执行顺序

    攻略 2021年10月22日
  • Linux中后台执行作业的命令是什么

    技术Linux中后台执行作业的命令是什么小编给大家分享一下Linux中后台执行作业的命令是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年11月20日
  • 太极拳入门基本功,初学太极拳最好的方法有哪几种

    技术太极拳入门基本功,初学太极拳最好的方法有哪几种初学太极拳最好的方法有哪几种太极拳入门基本功?(原创)这个问题我来回答题主。我从五十岁开始学太极拳,到现在己经有二十三年了。根据我学习太极拳的经历来回答这个问题。初学大极

    生活 2021年10月22日
  • 怎么将PPT文件进行压缩

    技术怎么将PPT文件进行压缩这篇文章给大家分享的是有关怎么将PPT文件进行压缩的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  操作步骤:  1.点击进入压缩页面,在跳转的页面有五个功能选项,

    攻略 2021年11月1日