共计 1210 个字符,预计需要花费 4 分钟才能阅读完成。
公司在使用 Odoo 进行内部信息化管理,随着业务增长,Ubuntu 服务器性能问题变成了瓶颈,为了解决这些问题,最近的工作重点将移到性能调整上来,同时也会在此记录整个处理过程,以便日后回顾。
在 Ubuntu Server 14.04 LTS 版上以 git 方式源码安装 Odoo8.0 http://www.linuxidc.com/Linux/2015-12/126177.htm
如何在 CentOS 7.x 中安装 OpenERP(Odoo)http://www.linuxidc.com/Linux/2015-06/118497.htm
1. 根据相关资料建议,在 linux 文件系统有一个预读的参数,可以通过如下命令查看:
blockdev –getra /dev/sda
一般的默认值为 256,我们可以将此数据改大一点,建议的范围是在 4096-16384 之间,预读不足的常见问题是写磁盘的速度要比读取的速度要高。
改变参数的命令格式是:blockdev –setra 4096 /dev/sda
需要根据每块磁盘单独进行设置,通常可以将调整命令写入 rc.local 启动脚本中。
2. 在 linux 中,用户每访问一个文件,系统都会更新文件的其中一个属性(上次访问时间),当用户在访问数据时,系统会需要不断的进行写操作,这个在系统中也是一笔不小的开销,我们可以在 /etc/fstab 文件中,对挂载的卷加上 noatime 选项来禁用此行为:
/dev/sda1 / ext3 noatime,errors=remount-ro 0 1
修改完以后,执行 sudo mount -a 命令生效即可。
3. 在 Linux 中有关读缓存与交换的参数如下有两个,可以在 /etc/sysctl.conf 中加上两行:
vm.swappiness=0
vm.overcommit_memory=2
这些参数可以在 /proc/sys/vm/ 中查看
4. 共享内存的设定,ubuntu 中共享内存的默认值都很低,为了更好的利用服务器资源,我们将对其进行调整,网上有一个调整的脚本。
#!/bin/bash
page_size=`getconf PAGE_SIZE`
phys_pages=`getconf _PHYS_PAGES`
shmall=`expr $phys_pages / 2`
shmmax=`expr $shmall \* $page_size`
echo kernel.shmmax = $shmmax
echo kernel.shmall = $shmall
直接以 root 身份运行 ./shmsetup >> /etc/sysctl.conf
sysctl -p
更多 Ubuntu 相关信息见 Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-03/129058.htm