- 浏览: 462593 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 643#!/bin/bash :<<! ... -
centos7 查看各个软件使用内存的情况
2016-06-23 19:15 17111 使用 ps aux | grep nginx 找到ngi ... -
centos 7防火墙设置
2016-06-22 14:06 602请尊重知识,请尊重原创 更多资料参考请见 http:/ ... -
20个Linux服务器性能调优技巧
2016-04-18 13:04 4Linux是一种开源操作系 ... -
linux git 远程仓库初始化与推送设置
2016-04-01 10:02 372请尊重知识,请尊重原创 更多资料参考请见 http:/ ... -
linux 挂载 windows 共享磁盘
2016-02-17 11:40 638linux 挂载windows 共享文件步骤如下 1 建立w ... -
shell 脚本下载网站图片
2015-10-28 16:19 656#!/bin/bash # 抓取图片 if [ $# - ... -
awk 非常好的学习博客,简明教程
2015-10-23 18:27 580http://coolshell.cn/articles/9 ... -
linux 终端录制与回放
2015-10-15 17:12 650录制与回放终端会话打开两个终端 T1 T2在T1 输入 ... -
Linux 内存使用方法详细解析
2015-06-15 14:13 1168来源 http://blog.jobbole.com ... -
linux shell ls脚本样例
2015-06-11 11:36 860#! /bin/sh - #查找输入文件的路径 #在查找 ... -
linux 位置参数的设置
2015-05-27 22:54 697在shell脚本当中会经常使用到参数和变量 常量有一种很好用 ... -
高并发高负载类网站关注点之缓存、负载均衡、存储
2015-05-21 14:00 01 /etc/sysctl.conf 文件里添加如下参数: v ... -
linux shell 分析 ab 测压命令
2015-05-20 16:34 8411 分析文档 #!/bin/bash line_nu ... -
linux 操作文件
2015-05-18 23:22 01 循环读取文本中的执行命令 2 读取命令行输出文本到临时文 ... -
linux 常用命令总结
2015-04-27 23:03 8211 查看文件 more 查看 ... -
权限管理-chattr权限
2015-03-24 22:18 7981 chattr 权限 对包括root在内的所有用户都起作用 ... -
linux centos mysql 自启动设置
2015-03-20 18:40 588首先通过chkconfig命令看看MySQL在不在可管理的列 ... -
java.io.FileNotFoundException: /home/tomcatuser1/.keystore (No such file or dire
2015-03-20 10:58 4199错误解决 java.io.FileNotFoundE ... -
nginx 开机自启动脚本
2015-03-19 10:44 1183PATH=/usr/local/sbin:/usr/local ...
相关推荐
### 嵌入式Linux优化的一些技巧 #### 一、概述 嵌入式系统因其便携性和专用性在消费电子领域扮演着至关重要的角色。随着技术的发展,嵌入式Linux系统已经成为开发人员首选的操作系统之一。为了提高系统的性能,本文...
《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高级技巧集”的CHM文件,显然是一份专为那些寻求提升Linux技能的用户准备的宝贵资源。CHM(Compiled Help Manual)是微软开发的一种帮助文档格式,通常包含一系列章节和索引,便于用户查找和学习特定...
LAMP(Linux_Apache_Mysql_PHP)优化技巧.pdf
对于嵌入式系统开发人员以及有一定经验的C/C++程序员和Linux程序员来说,书中提供的这些内容将有助于他们更深入地理解嵌入式Linux环境下的性能优化技巧。 此外,书中还提供了对编程过程中常用元素的性能分析,例如...
在Linux系统的配置与优化中,有几个关键点需要注意,这些步骤能够帮助我们提升系统的效率和安全性。首先,安装Linux时,创建一个独立的分区至关重要...对于初次接触Linux的用户,了解并实践这些优化技巧是很有价值的。
本文档总结的年度十佳 Linux 技巧涵盖了系统管理的多个方面,不仅有助于提高 Linux 管理员的技能水平,还能帮助企业优化 IT 运维流程。通过学习这些技巧,无论是新手还是经验丰富的管理员都能从中受益匪浅。
在Linux系统中,性能调优是一项关键的任务,它涉及到系统的高效运行和稳定性能。本文将深入探讨性能指标、系统变...理解这些概念和技巧,可以帮助我们更好地管理和优化Linux系统,确保其在各种工作负载下都能高效运行。
在优化Linux系统服务器硬盘性能的过程中,我们需要注意几个关键点,以确保系统运行高效且稳定。首先,理解Linux的文件系统机制至关重要。Linux通常使用ext2、ext3、ext4等文件系统,它们在设计上相对减少了碎片化的...
【Linux主机优化】在LAMP(Linux + Apache + MySQL + PHP)服务器环境中,优化Linux主机是提高整体性能的关键。LAMP作为一个开源的Web服务器解决方案,因其免费、灵活和强大而广受欢迎。为了优化LAMP服务器,可以从...
Linux服务器的性能调优是一个持续的过程,需要根据服务器的使用情况和实际需求来不断调整和优化。通过上述技巧的合理运用,可以显著提高Linux服务器的性能,使其在各种任务中都能高效稳定地运行。
在"嵌入式LINUX内存使用与性能优化"这本书中,读者可以深入学习这些概念,掌握实际操作技巧,以提升嵌入式设备的运行效率和稳定性。通过实践和应用,可以有效地解决内存管理和性能优化中的各种挑战。