- 浏览: 460893 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的。Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级。
Linux服务器有各种用途,如Web服务器或分支机构内部服务器,CMS或CRS服务器,文件服务器(为Windows和/或Linux用户服务),VoIP电话服务器,邮件或域名服务器,数据库服务器,云计算配置中的基础设施节点等。
Linux功能丰富、强大、灵活,你可以用它完成各种任务,在这篇文章中,我们将讨论一些提高Linux服务器性能的技巧。
1、为磁盘I/O调整Linux内核电梯算法
在选择文件系统后,有一些内核和挂载选项可能会影响到它的性能表现,其中一个内核设置是电梯算法,通过调整电梯算法,系统可以平衡低延迟需求,收集足够的数据,以有效地组织对磁盘的读和写请求。
2、禁用不必要的守护进程,节省内存和CPU资源
每台服务器上都运行着许多守护进程或服务,而具有讽刺意味的是,有很多通常不是必需的,这些服务没有发挥作用,但却消耗了宝贵的内存和CPU时间。此外,它们可能将服务器置于危险境地,多运行一个服务就等于多向黑客打开一扇长驱直入的门,因此,你应该将它们从服务器移除,禁用它们最大的好处是可以加快启动时间,释放内存。另外,你可以减少CPU需要处理的进程数,禁用它们的另一个好处是增强服务器的安全性,因为越少的守护进程意味着可被攻击和利用的漏洞越少。
下面是一些应该被禁用的Linux守护进程,默认情况下,它们都是自动运行的:
序号 守护进程 描述
1 Apmd 高级电源管理守护进程
2 Nfslock 用于NFS文件锁定
3 Isdn ISDN Moderm支持
4 Autofs 在后台自动挂载文件系统(如自动挂载CD-ROM)
5 Sendmail 邮件传输代理
6 Xfs X Window的字体服务器
3、关掉GUI
一般说来,Linux服务器是不需要GUI的,所有管理任务都可以在命令行下完成,因此最好关掉GUI,重定向X显示或通过一个Web浏览器界面显示。为了禁用GUI,“init level(启动级别)”应该被设置为3(命令行登录),而不是5(图形登录),如果需要GUI,可以随时运行startx进入图形用户界面。
4、清理不需要的模块或功能
在服务器软件包中有太多被启动的功能或模块实际上是不需要的(如Apache中的许多功能模块),仔细查看Apache配置文件,确定FrontPage支持或其它额外的模块是否真的要用到,如果不需要,应该毫不犹豫地从服务器禁用掉,这样有助于提高系统内存可用量,腾出更多资源给那些真正需要的软件,让它们运行得更快。
5、禁用控制面板
在Linux中,有许多流行的控制面板,如Cpanel,Plesk,Webmin和phpMyAdmin等,相信每个Linux初级用户都很喜欢这些控制面板,但是,禁用掉这些软件包可以释放出大约120MB内存,因此,我强烈建议禁用掉这些控制面板,除非它们真的需要用到,它们可以通过PHP脚本(尽管有些不安全),或命令行命令启用,这样做后,内存使用量大约可以下降30-40%。
6、改善Linux Exim服务器性能
有许多种方法改善服务器的Exim性能,其中一个办法是使用DNS缓存守护进程,它可以降低解析DNS记录需要的带宽和CPU时间,DNS缓存通过消除每次都从根节点开始查找DNS记录的需求,从而改善网络性能,Djbdns是一个非常强大的DNS服务器,它具有DNS缓存功能,Djbdns比BIND DNS服务器更安全,性能更好,可以直接通过http://cr.yp.to/下载,或通过Red Hat提供的软件包获得。
7、使用AES256增强gpg文件加密安全
为了提高备份文件或敏感信息的安全,许多Linux系统管理员都会使用gpg进行加密,在使用gpg时,最好指定gpg使用AES256加密算法,AES256使用256位密钥,它是一个开放的加密算法,美国国家安全局(NSA)都使用它保护绝密信息,没有什么比它更安全的了。
8、远程备份服务安全
安全是选择远程备份服务最重要的因素,大多数系统管理员都害怕两件事:(黑客)可以删除备份文件,不能从备份恢复系统。
为了保证备份文件100%的安全,备份服务公司提供远程备份服务器,使用scp脚本或RSYNC通过SSH传输数据,这样,没有人可以直接进入和访问远程系统,因此,也没有人可以从备份服务删除数据。在选择远程备份服务提供商时,最好从多个方面了解其服务强壮性,如果可以,可以亲自测试一下。
9、更新默认内核参数设置
为了顺利和成功运行企业应用程序,如数据库服务器,可能需要更新一些默认的内核参数设置,例如,2.4.x系列内核消息队列参数msgmni有一个默认值(例如,共享内存,或shmmax在Red Hat系统上默认只有33554432字节),它只允许有限的数据库并发连接,下面为数据库服务器更好地运行提供了一些建议值(来自IBM DB2支持网站):
kernel.shmmax=268435456 (32位) kernel.shmmax=1073741824 (64位) kernel.msgmni=1024 fs.file-max=8192 kernel.sem=”250 32000 32 1024″
10、优化TCP
优化TCP协议有助于提高网络吞吐量,跨广域网的通信使用的带宽越大,延迟时间越长时,建议使用越大的TCP Linux大小,以提高数据传输速率,TCP Linux大小决定了发送主机在没有收到数据传输确认时,可以向接收主机发送多少数据。
11、选择正确的文件系统
使用ext4文件系统取代ext3
● Ext4是ext3文件系统的增强版,扩展了存储限制
●它具有日志功能,保证高水平的数据完整性(在非正常关闭事件中)
●在非正常关闭和重启时,它不需要检查磁盘(这是一个非常耗时的动作)
●更快的写入速度,ext4日志优化了硬盘磁头动作
12、使用noatime文件系统挂载选项
在文件系统启动配置文件fstab中使用noatime选项,如果使用了外部存储,这个挂载选项可以有效改善性能。
13、调整Linux文件描述符限制
Linux限制了任何进程可以打开的文件描述符数量,默认限制是每进程1024,这些限制可能会阻碍基准测试客户端(如httperf和apachebench)和Web服务器本身获得最佳性能,Apache每个连接使用一个进程,因此不会受到影响,但单进程Web服务器,如Zeus是每连接使用一个文件描述符,因此很容易受默认限制的影响。
打开文件限制是一个可以用ulimit命令调整的限制,ulimit -aS命令显示当前的限制,ulimit -aH命令显示硬限制(在未调整/proc中的内核参数前,你不能增加限制)。
Linux第三方应用程序性能技巧
对于运行在Linux上的第三方应用程序,一样有许多性能优化技巧,这些技巧可以帮助你提高Linux服务器的性能,降低运行成本。
14、正确配置MySQL
为了给MySQL分配更多的内存,可设置MySQL缓存大小,要是MySQL服务器实例使用了更多内存,就减少缓存大小,如果MySQL在请求增多时停滞不动,就增加MySQL缓存。
15、正确配置Apache
检查Apache使用了多少内存,再调整StartServers和MinSpareServers参数,以释放更多的内存,将有助于你节省30-40%的内存。
提高监控/故障排除能力的技巧
下面是一些提高Linux服务器监控和故障排除的技巧:
16、分析Linux服务器性能
提高系统效率最好的办法是找出导致整体速度下降的瓶颈并解决掉,下面是找出系统关键瓶颈的一些基本技巧:
● 当大型应用程序,如OpenOffice和Firefox同时运行时,计算机可能会开始变慢,内存不足的出现几率更高。
● 如果启动时真的很慢,可能是应用程序初次启动需要较长的加载时间,一旦启动好后运行就正常了,否则很可能是硬盘太慢了。
●CPU负载持续很高,内存也够用,但CPU利用率很低,可以使用CPU负载分析工具监控负载时间。
17、学习5个Linux性能命令
使用几个命令就可以管理Linux系统的性能了,下面列出了5个最常用的Linux性能命令,包括top、vmstat、iostat、free和sar,它们有助于系统管理员快速解决性能问题。
(1)top
Top命令不仅显示了当前内核服务的任务,还显示了许多关于主机状态的统计数据,默认情况下,它每隔5秒自动更新一次显示的数据(这个时间间隔是可以配置的),通过top命令,我们可以得知几个结果,如:当前正常运行时间,系统负载,进程数量和内存使用率,此外,这个命令也显示了那些使用最多CPU时间的进程(包括每个进程的各种信息,如运行用户,执行的命令等)。
(2)vmstat
Vmstat命令提供当前CPU、IO、进程和内存使用率的快照,它和top命令类似,自动更新数据,如:
$ vmstat 10
(3)iostat
Iostat命令(在Ubuntu,Red Hat/Fedora上包含在sysstat软件包中)提供三个报告:CPU利用率、设备利用率和网络文件系统利用率,不加任何参数运行时,iostat将显示这三个报告,使用-c,-d和-h参数可以分别独立显示这三个报告。
(4)free
Free命令显示主内存和交换空间的内存统计数据,指定-t参数可以显示总内存数量,指定-b参数可以按字节为单位进行显示,使用-m则以兆为单位显示,默认情况下是以千字节为单位的。
Free命令也可以使用-s参数加一个延迟时间(单位:秒)连续运行,如:
$ free -s 5
(5)sar
Sar命令收集,查看和记录性能数据,这个命令比前面几个命令历史更悠久,它可以收集和显示较长周期的数据。
其它
下面是一些归类为其它的性能技巧:
18、将日志文件转移到内存中
当一台机器处于运行中时,最好是将系统日志放在内存中,当系统关闭时再将其复制到硬盘,当你运行一台开启了syslog功能的笔记本电脑或移动设备时,ramlog可以帮助你提高系统电池或移动设备闪存驱动器的寿命,使用ramlog的一个好处是,不用再担心某个守护进程每隔30秒向syslog发送一条消息,放在以前,硬盘必须随时保持运转,这样对硬盘和电池都不好。
19、先打包,后写入
在内存中划分出固定大小的空间保存日志文件,这意味着笔记本电脑硬盘不用一直保持运转,只有当某个守护进程需要写入日志时才运转,注意ramlog使用的内存空间大小是固定的,否则系统内存会很快被用光,如果笔记本使用固态硬盘,可以分配50-80MB内存给ramlog使用,ramlog可以减少许多写入周期,极大地提高固态硬盘的使用寿命。
20、一般调优技巧
尽可能使用静态内容替代动态内容,如果你在生成天气预告,或其它每隔1小时就必须更新的数据,最好是写一个程序,每隔1小时生成一个静态的文件,而不是让用户运行一个CGI动态地生成报告。
为动态应用程序选择最快最合适的API,CGI可能最容易编程,但它会为每个请求产生一个进程,通常,这是一个成本很高,且不必要的过程,FastCGI是更好的选择,和Apache的mod_perl一样,都可以极大地提高应用程序的性能。
原文来自:http://www.l-ch.net
发表评论
-
shell 自动部署tar包
2018-03-16 17:30 641#!/bin/bash :<<! ... -
centos7 查看各个软件使用内存的情况
2016-06-23 19:15 17101 使用 ps aux | grep nginx 找到ngi ... -
centos 7防火墙设置
2016-06-22 14:06 600请尊重知识,请尊重原创 更多资料参考请见 http:/ ... -
20个Linux服务器性能调优技巧
2016-04-18 13:04 4Linux是一种开源操作系 ... -
linux git 远程仓库初始化与推送设置
2016-04-01 10:02 369请尊重知识,请尊重原创 更多资料参考请见 http:/ ... -
linux 挂载 windows 共享磁盘
2016-02-17 11:40 637linux 挂载windows 共享文件步骤如下 1 建立w ... -
shell 脚本下载网站图片
2015-10-28 16:19 649#!/bin/bash # 抓取图片 if [ $# - ... -
awk 非常好的学习博客,简明教程
2015-10-23 18:27 578http://coolshell.cn/articles/9 ... -
linux 终端录制与回放
2015-10-15 17:12 648录制与回放终端会话打开两个终端 T1 T2在T1 输入 ... -
Linux 内存使用方法详细解析
2015-06-15 14:13 1165来源 http://blog.jobbole.com ... -
linux shell ls脚本样例
2015-06-11 11:36 858#! /bin/sh - #查找输入文件的路径 #在查找 ... -
linux 位置参数的设置
2015-05-27 22:54 693在shell脚本当中会经常使用到参数和变量 常量有一种很好用 ... -
高并发高负载类网站关注点之缓存、负载均衡、存储
2015-05-21 14:00 01 /etc/sysctl.conf 文件里添加如下参数: v ... -
linux shell 分析 ab 测压命令
2015-05-20 16:34 8361 分析文档 #!/bin/bash line_nu ... -
linux 操作文件
2015-05-18 23:22 01 循环读取文本中的执行命令 2 读取命令行输出文本到临时文 ... -
linux 常用命令总结
2015-04-27 23:03 8141 查看文件 more 查看 ... -
权限管理-chattr权限
2015-03-24 22:18 7961 chattr 权限 对包括root在内的所有用户都起作用 ... -
linux centos mysql 自启动设置
2015-03-20 18:40 586首先通过chkconfig命令看看MySQL在不在可管理的列 ... -
java.io.FileNotFoundException: /home/tomcatuser1/.keystore (No such file or dire
2015-03-20 10:58 4193错误解决 java.io.FileNotFoundE ... -
nginx 开机自启动脚本
2015-03-19 10:44 1181PATH=/usr/local/sbin:/usr/local ...
相关推荐
《C程序性能优化-20个实验与达人技巧》是一本深入探讨C语言程序性能提升的书籍,旨在帮助开发者理解程序执行效率的本质,掌握优化技巧,从而编写出更高效的代码。书中通过20个精心设计的实验,由浅入深地讲解了性能...
Linux系统优化技巧是提高系统效率和管理便捷性的关键所在。以下是一些实用的Linux系统优化方法: 1. **禁止终端模式下的显示器自动节能** 在Linux中,有时我们需要显示器保持常亮状态,以便查看实时信息,例如网络...
综上所述,优化Linux服务器硬盘性能涉及清理磁盘、整理碎片、升级硬件以及选择高性能磁盘等多个方面。通过这些方法,可以有效地提升服务器的运行效率,减少延迟,保证服务的稳定性和响应速度。在实际操作中,应根据...
本资料集包含了"Linux使用技巧集"、"Linux高级技巧集"和"Linux基础教程"三个部分,旨在帮助用户从初级到高级全面掌握Linux系统的使用和管理。 "Linux使用技巧集"涵盖了日常操作中的各种实用技巧,例如: 1. **...
"Linux高级技巧集"这个压缩包文件显然是为那些寻求提升Linux技能的用户准备的,它包含了丰富的高级操作和管理技巧。下面,我们将深入探讨其中可能涵盖的一些关键知识点。 1. **命令行效率提升**:Linux的核心是其...
Linux 配置与优化技巧三则 Linux 作为一个免费的 Unix 操作系统,正益受人们的重视。本文将介绍三则 Linux 配置与优化技巧,帮助用户更好地使用 Linux 操作系统。 一、编辑 /etc/inittab 文件 大部分 Linux 发行...
Linux性能优化-菲利普著, 国外经典翻译书, 讲解Linux系统优化技巧各方面, 推存给大家, 清爽版本.
"Linux高级技巧集"则可能包含更深入的话题,如Shell脚本编程、系统调用、内核模块开发、系统性能优化等。这些技能通常在系统管理员或高级开发者的工作中发挥关键作用。 最后,"Linux下的C语言编程"部分将指导读者...
这些资源共同构成了一个丰富的学习库,可以帮助读者从理论到实践,全面掌握Linux系统的性能优化技巧。在阅读和学习过程中,不仅需要理解各种概念和技术,还要学会如何结合实际情况,灵活运用这些知识解决实际问题。...
这个名为“Linux高级技巧集”的CHM文件,显然是一份专为那些寻求提升Linux技能的用户准备的宝贵资源。CHM(Compiled Help Manual)是微软开发的一种帮助文档格式,通常包含一系列章节和索引,便于用户查找和学习特定...
LAMP(Linux_Apache_Mysql_PHP)优化技巧.pdf
在Linux系统的配置与优化中,有几个关键点需要注意,这些步骤能够帮助我们提升系统的效率和安全性。首先,安装Linux时,创建一个独立的分区至关重要...对于初次接触Linux的用户,了解并实践这些优化技巧是很有价值的。
本文档总结的年度十佳 Linux 技巧涵盖了系统管理的多个方面,不仅有助于提高 Linux 管理员的技能水平,还能帮助企业优化 IT 运维流程。通过学习这些技巧,无论是新手还是经验丰富的管理员都能从中受益匪浅。
在优化Linux系统服务器硬盘性能的过程中,我们需要注意几个关键点,以确保系统运行高效且稳定。首先,理解Linux的文件系统机制至关重要。Linux通常使用ext2、ext3、ext4等文件系统,它们在设计上相对减少了碎片化的...
对于嵌入式系统开发人员以及有一定经验的C/C++程序员和Linux程序员来说,书中提供的这些内容将有助于他们更深入地理解嵌入式Linux环境下的性能优化技巧。 此外,书中还提供了对编程过程中常用元素的性能分析,例如...
在Linux系统中,性能调优是一项关键的任务,它涉及到系统的高效运行和稳定性能。本文将深入探讨性能指标、系统变...理解这些概念和技巧,可以帮助我们更好地管理和优化Linux系统,确保其在各种工作负载下都能高效运行。
【Linux主机优化】在LAMP(Linux + Apache + MySQL + PHP)服务器环境中,优化Linux主机是提高整体性能的关键。LAMP作为一个开源的Web服务器解决方案,因其免费、灵活和强大而广受欢迎。为了优化LAMP服务器,可以从...
Linux服务器的性能调优是一个持续的过程,需要根据服务器的使用情况和实际需求来不断调整和优化。通过上述技巧的合理运用,可以显著提高Linux服务器的性能,使其在各种任务中都能高效稳定地运行。