一、系统优化
1、硬件优化
- 增加内存
- 更换速度跟高磁盘(sata->sas)可以增加固态硬盘
- 更换更高校率的网卡,或者双网卡绑定,两个网卡作为一个网卡使用。服务器网卡一般为千兆
2、系统层优化
- 计算机的瓶颈在于磁盘I/O,可以挂载文件系统的时候,不记录访问见时间(noatime),这样某个层次上获得优化。每次访问磁盘IO日志都会记录atime。会增加系统开销。
-
系统有:atime ctime mtime 注:禁用atime操作 vim /etc/fstab proc /proc proc noatime,defaults 0 0
- 可针对不同的应用存储类型在分区是指定不同大小的块,比如存储大文件则可以可视化磁盘时指定较大的块(最大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代理缓存服务器