Linux 调优
一、系统优化
- 增加内存
- 更换速度跟高磁盘(sata->sas)可以增加固态硬盘
- 更换更高校率的网卡,或者双网卡绑定,两个网卡作为一个网卡使用。服务器网卡一般为千兆
- 计算机的瓶颈在于磁盘I/O,可以挂载文件系统的时候,不记录访问见时间(noatime),这样某个层次上获得优化。每次访问磁盘IO日志都会记录atime。会增加系统开销。
系统有:atime ctime mtime
注:禁用atime操作
vim /etc/fstab
proc /proc proc noatime,defaults禁用atime
- 可针对不同的应用存储类型在分区是指定不同大小的块,比如存储大文件则可以可视化磁盘时指定较大的块(最大8192字节)1024x8。默认块大小 4kb。
二、应用优化
- 1、若不需要记录日志,则尽量关闭日志功能。降低磁盘写入。间接降低磁盘IO
- 2、所有的应用程序都有响应的配置参数,比如Mysql,Nginx等都会这几道内存相关的参数调整,适当掉正相关参数可以大大提高服务的效率。
- 3、对于大型网站来说,有必要减少web请求数量,那我们可以合并js,css,这样可以减少web请求数。
- 4、对于一些图片较多的网站,有必要针对图片做一些适当的压缩,从而不仅可以节省宝贵的带宽资源还可以加快客户端访问速度,当然除了图片外其他的一些静态访问对象是可以进行压缩的,nginx,apache都有支持。
- 5、对于图片,js,css等静态文件的过期设置也是有必要的。
注:元素合并减少TCP链接请求数
注:Nginx 可以压缩静态类型文件-配置文件内 gzip on 参数减轻带宽
注:北京带宽 1M 150元/月
相关知识
三、架构优化
- 1、可以多增加缓存层,比如我们可以在前段增加squid来做缓存静态文件,从而不仅降低磁盘I/O,还可以加快网站的访问速度,在web和db层中间增加一层缓存也是可以减少后端db服务器的I/O的,比如可以增加memcached服务或者增加redis服务。
- 注:squid代理缓存服务器
Linux 调优的更多相关文章
- 于erlang依赖的linux调优
[皇室]杭州-sunface(61087682) 上午 9:42:02 http://docs.basho.com/riak/latest/ops/tuning/linux/ 这篇文章对于erlang ...
- LINUX调优
一.Linux系统调优及安全设置 系统安装安全最小化原则说明 ◆安装linux系统最小化,即选包最小化,yum安装软件最小化. ◆开机自启动程序服务最小化,即无用的服务不开启. ◆操作命令最小化原则, ...
- Linux调优(内存,CPU)
一.相关概念简介 system call:系统调用 time slice:cpu时间片 O(1):Linux系统进程调度器 page frame:分页 RSS:常驻内存集,无法被页面化的数据 MMU: ...
- 【转】转 Linux调优方案,sysctl.conf的设置
http://blog.sina.com.cn/s/blog_541086000100skq0.html proc/sys/net/ipv4/下各项的意义 http://blog.chinauni ...
- 转 Linux调优方案,sysctl.conf的设置
$ /proc/sys/net/core/wmem_max最大socket写buffer,可参考的优化值:873200 $ /proc/sys/net/core/rmem_max最大socket读bu ...
- Linux 调优方案, 修改最大连接数(ulimit命令)【转】
转自:http://blog.csdn.net/liangxiaozhang/article/details/8363435 Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源 ...
- Linux 调优方案, 修改最大连接数-ulimit
Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数 可以用ulimit -a 来显示当前的各种用户进程限制.下面我把某linux用户的最 ...
- Linux 调优方案--ulimit命令
可以用ulimit -a 来显示当前的各种用户进程限制.下面把某linux用户的最大进程数设为10000个: ulimit -u 10240 对于需要做许多 socket 连接并使它们 ...
- Linux调优(文件系统)
查看单个文件是否发生碎片化(被存在磁盘非连续磁盘块上) # filefrag -v /var/log/messages 查看文件系统是否存在大量碎片(会显示空闲离散的块) # dumpe2fs /de ...
- 高负载linux调优
调整Linux内核参数: # vi /etc/sysctl.conf# tells the Kernel it's ok if services bind to non-existant IP ADD ...
随机推荐
- ubuntu在vmware下使用问题
问题1: 在vmware虚拟机下安装的ubuntu系统,为了在windows和ubuntu之间拷贝数据方便,所以在vmware上安装了vmware tools.在安装了vmware tool之后会在u ...
- OpenCV学习笔记四:ImgProc模块
一,简介 这个模块包含一系列的常用图像处理算法. 二,分析 此模块包含的文件如下图: 其导出算法包括如下: /*********************** Background statistics ...
- DB facade实现CURD
数据表 CREATE TABLE IF NOT EXISTS students( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(255) NO ...
- iOS 设置Label中特定的文字大小和颜色
直接上代码: _price = @"27"; NSMutableAttributedString *attributedString = [[NSMutableAttributed ...
- 大话DFT频谱分析(并不是我的话)
有限长信号DFT结果的频谱泄露 提出问题 依照我们在"信号与系统"这门课建立的印象,不管如何频率的连续正弦信号,其频谱应当是两根笔直的谱线(含负频率) 但是,当我们把一段正弦信号採 ...
- Directory和HashTable的区别
1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.2:多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读 ...
- 计算属性 vs 侦听属性 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的
https://cn.vuejs.org/v2/guide/computed.html#基础例子 计算属性 vs 侦听属性 Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属 ...
- 【转】Python 30个实用小Tips
1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: x, y = 10, 20 print(x, y) x, y = y, x print ...
- docker介绍和简单使用
docker介绍 docker 为什么会有docker出现? 一款产品从开发到上线,从操作系统到运行环境,再到应用配置,作为开发+运维直接的协作我们需要关心很多东西,这也是互联网公司不得 不面对问题, ...
- locust基本使用
# coding:utf-8 from locust import HttpLocust,TaskSet,task class BlogDemo(TaskSet): '''用户行为:打开我的博客首页d ...