性能调优

PostgreSQL硬件相关性能调优

。_饼干妹妹 提交于 2021-01-06 05:22:21
PostgreSQL Hardware Performance Tuning Bruce Momjian P OSTGRE SQL is an object-relational database developed on the Internet by a group of developers spread across the globe. It is an open-source alternative to commercial databases like Oracle and Informix. POSTGRESQL was originally developed at the University of California at Berkeley. In 1996, a group began development of the database on the Internet. They use email to share ideas and file servers to share code. POSTGRESQL is now comparable to commercial databases in terms of features, performance, and reliability. It has transactions, views

浅谈linux性能调优之十:资源分配规划

◇◆丶佛笑我妖孽 提交于 2020-04-11 17:25:50
我们都了解apache的两种工作模式,这节我们以prefork模式来考虑apache应用的配置!首先说说apache的prefork工作模式: prefork:特点稳定,对动态页面支持好! prefork的工作原理是,控制进程在最初建立"StartServers"个子进程后,为了满足"MinSpareServers"设置的需要创建一 个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 以增加性能。 MaxSpareServers设置了最大的空闲进程数,如果空闲进程数大于这个值,apache会自动kill掉一些多余进程。这个值不要设得过大,但 如果设的值比MinSpareServers小,apache会自动把其调整为MinSpareServers+ 1。如果站点负载较大,可考虑同时加大MinSpareServers和MaxSpareServers。 MaxRequestsPerChild设置的是每个子进程可处理的请求数。每个子进程在处理了"MaxRequestsPerChild" 个请求后将自动销毁。0意味着无限,即子进程永不销毁

浅谈linux性能调优之十一:内存分配管理

丶灬走出姿态 提交于 2020-04-11 16:38:21
linux下内存分配的管理主要通过内核参数来控制: 1.与容量相关的内存可调参数 以下参数位于 proc 文件系统的 /proc/sys/vm/ 目录中。 overcommit_memory :规定决定是否接受超大内存请求的条件。这个参数有三个可能的值: * 0 — 默认设置。内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。遗憾的是因为内存是使用启发式而非准确算法计算进行部署,这个设置有时可能会造成系统中的可用内存超载。不让过度使用,直接报错 * 1 — 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。应用程序在需要时分配,允许过度使用 * 2 — 内存拒绝等于或者大于总可用 swap 大小以及 overcommit_ratio 指定的物理 RAM 比例的内存请求。如果您希望减小内存过度使用的风险,这个设置就是最好的。 将swap直接使用,使用的内存 = swap + ram * 50% 注意:只为 swap 区域大于其物理内存的系统推荐这个设置 overcommit_ratio 将 overcommit_memory 设定为 2 时,指定所考虑的物理 RAM 比例。默认为 50。 测试程序: #######################################################

浅谈linux性能调优之十九:lvm高级使用

﹥>﹥吖頭↗ 提交于 2020-02-29 15:31:54
上节引出了“逻辑卷”管理技术,大家都知道它比传统磁盘管理所具有的优势,我这里有一个关于lvm管理的手册“LVM HOWTO”,大多介绍是概念,使用方法。要的话可以给我留言或者在网上找找,练会它。除了伸缩的特点,逻辑卷还有一个底层物理卷的迁移功能!硬盘的理论 寿命是3万小时以上,一般硬盘一直开机工作3年就完蛋,如果正常使用10年没有问题。不幸的是我们所管理的服务器上的磁盘处于一直开机工作状态,我们若使 用逻辑卷对上层而言可能只是几个逻辑而成的卷,对底层而言可能有多个物理磁盘。这些磁盘寿命快到了!如何处理?肯定要换磁盘!逻辑卷管理工具中有个 pvmove,可以实现此功能!而且上层lv不受影响,用户可以在管理员替换磁盘的过程中访问数据。 下面我模拟一个应用场景: 假设已有一个逻辑卷,物理磁盘使用/dev/vdc ,空间大小500M 步骤: 使用fdisk直接划分为主分区/dev/vdc1 注意:执行partx -a /dev/vdc,partx -a /dev/vdd 创建逻辑卷: pvcreate /dev/vdc1 生成物理卷 vgcreate vg0 /dev/vdc1 创建卷组 lvcreate -L 400M -n lv0 vg0 创建逻辑卷 mkfs.ext4 /dev/vg0/lv0 格式化成ext4文件系统 mount /dev/vg0/lv0 /mnt 挂载分区到目录

浅谈linux性能调优之五:调优软raid

混江龙づ霸主 提交于 2019-12-24 17:30:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 存储中的一个重要角色,RAID独立冗余磁盘阵列,从分类上将有两种:基于raid卡的硬raid(硬件实现,速度高,适用于大型应用),基于系统的软raid(一般包含于内核之中,性能不如硬raid,但是可优化,小型服务器) 特点:数据完整性,防止故障,容量突破,性能提升 不了解raid相关知识的可以看看这个:http://blog.163.com/sjt_linux/blog/static/199310319201251863948525/ 下面我快速的介绍一下: RAID 0: 没校验,数据分段写入磁盘,吞吐量增大,不容错,100%使用,至少2块 test : mdadm --create /dev/md0 --level=0 --raid-devices=2 --chunk=64 /dev/sd{a,b}1 mke2fs -j -b 4096 -E stribe=16 /dev/md0 notice: --chunk 是在创建时指定,stribe是在格式时指定,stribe = chunk / stribe RAID 1: 镜像,容错,读性能,至少2块,2的倍数,利用率(100/n)% test : mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev

浅谈linux性能调优之五:调优软raid

◇◆丶佛笑我妖孽 提交于 2019-12-24 17:29:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 存储中的一个重要角色,RAID独立冗余磁盘阵列,从分类上将有两种:基于raid卡的硬raid(硬件实现,速度高,适用于大型应用),基于系统的软raid(一般包含于内核之中,性能不如硬raid,但是可优化,小型服务器) 特点:数据完整性,防止故障,容量突破,性能提升 不了解raid相关知识的可以看看这个:http://blog.163.com/sjt_linux/blog/static/199310319201251863948525/ 下面我快速的介绍一下: RAID 0: 没校验,数据分段写入磁盘,吞吐量增大,不容错,100%使用,至少2块 test : mdadm --create /dev/md0 --level=0 --raid-devices=2 --chunk=64 /dev/sd{a,b}1 mke2fs -j -b 4096 -E stribe=16 /dev/md0 notice: --chunk 是在创建时指定,stribe是在格式时指定,stribe = chunk / stribe RAID 1: 镜像,容错,读性能,至少2块,2的倍数,利用率(100/n)% test : mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev

浅谈linux性能调优之八:去掉不必要的开销

淺唱寂寞╮ 提交于 2019-12-24 17:09:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在“浅谈linux性能调优之七:裁剪系统服务”中我说了关闭一些系统服务的知识,但是还是存在一些资源的浪费不轻易被管理员发现,在这节我说几个: 1.在有时我们使用ssh登录服务器时,会发现等待时间会长,最多长达2min 原因:ssh服务器默认会自动解析客户端的主机名,但是解析到客户端的主机名也没用,对客户端来说浪费时间,对服务器而言消耗不必要的资源。 解决:vim /etc/ssh/sshd_config UseDNS no /etc/init.d/sshd restart 类似:apache的 (HostnameLookups Off)选项 2.利用linux计划任务,而进行文件数据库的更新 /etc/cron.daily/makewhatis.cron makewhatis.cron的作用是创建whatis database,用于为whatis服务的。搜寻特定指令 名称 whatis - 在 whatis 资 料 库 中 搜 寻 特 定 指 令 摘要 whatis keyWord ... 描述 whatis 资 料 库 包含 了 所 有 系 统 指 令 的 简 单 描 述 , 而 whatis 指 令 会 在 此 资 料 库 中 搜 寻 符 合 keyword 的 指 令 , 并 把 结 果 显 示 于

浅谈linux性能调优之八:去掉不必要的开销

杀马特。学长 韩版系。学妹 提交于 2019-12-24 17:09:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在“浅谈linux性能调优之七:裁剪系统服务”中我说了关闭一些系统服务的知识,但是还是存在一些资源的浪费不轻易被管理员发现,在这节我说几个: 1.在有时我们使用ssh登录服务器时,会发现等待时间会长,最多长达2min 原因:ssh服务器默认会自动解析客户端的主机名,但是解析到客户端的主机名也没用,对客户端来说浪费时间,对服务器而言消耗不必要的资源。 解决:vim /etc/ssh/sshd_config UseDNS no /etc/init.d/sshd restart 类似:apache的 (HostnameLookups Off)选项 2.利用linux计划任务,而进行文件数据库的更新 /etc/cron.daily/makewhatis.cron makewhatis.cron的作用是创建whatis database,用于为whatis服务的。搜寻特定指令 名称 whatis - 在 whatis 资 料 库 中 搜 寻 特 定 指 令 摘要 whatis keyWord ... 描述 whatis 资 料 库 包含 了 所 有 系 统 指 令 的 简 单 描 述 , 而 whatis 指 令 会 在 此 资 料 库 中 搜 寻 符 合 keyword 的 指 令 , 并 把 结 果 显 示 于

浅谈linux性能调优之七:裁剪系统服务

大兔子大兔子 提交于 2019-12-24 16:57:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 通常部署应用服务,对单台服务器而言只提供单一服务,甚至利用集群技术,分布式技术多台服务器来提供高可用,高性能的服务。这样对于大多系统提供多种服务 的现状显然不符,这就要求我们管理员手动管理,一方面节省了CPU,内存等计算机资源,这些节省的资源可以给开启的服务提供,可能对于单台服务器而言性能 提升不是很大,若服务器数量过大的话就比较明显,另一方面,对于互联网安全中的一个重要原则:开启服务越少,系统越安全,在linux中我们可以直接使 用"/etc/init.d/* stop" 关闭系统中多余的服务,但是这是临时的,我们可以使用chkconfig命令来管理,但是在关闭这些服务时,一定要了解该服务的作用,以及确定系统不使用 这些资源时,系统正常运行 我收集了一些系统默认提供的服务的信息,你可以根据自己的需求来关闭所有不需要的服务: *********************************************************************************************************** 1.alsasound :Alsa声卡驱动守护程序。Alsa声卡驱动程序本来是为了 一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀

浅谈linux性能调优之七:裁剪系统服务

那年仲夏 提交于 2019-12-24 16:57:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 通常部署应用服务,对单台服务器而言只提供单一服务,甚至利用集群技术,分布式技术多台服务器来提供高可用,高性能的服务。这样对于大多系统提供多种服务 的现状显然不符,这就要求我们管理员手动管理,一方面节省了CPU,内存等计算机资源,这些节省的资源可以给开启的服务提供,可能对于单台服务器而言性能 提升不是很大,若服务器数量过大的话就比较明显,另一方面,对于互联网安全中的一个重要原则:开启服务越少,系统越安全,在linux中我们可以直接使 用"/etc/init.d/* stop" 关闭系统中多余的服务,但是这是临时的,我们可以使用chkconfig命令来管理,但是在关闭这些服务时,一定要了解该服务的作用,以及确定系统不使用 这些资源时,系统正常运行 我收集了一些系统默认提供的服务的信息,你可以根据自己的需求来关闭所有不需要的服务: *********************************************************************************************************** 1.alsasound :Alsa声卡驱动守护程序。Alsa声卡驱动程序本来是为了 一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀