下载服务器应该做些什么优化拜托各位了 3Q

一般下载服务器应该做些什么优化linux操作系统的!!

在网上看到不少有关linux优化方面的好文章,在此我也不赘述这些文章了,我只想从我自己的体会来谈谈这方面的问题。还有给你个链接!自己再看看吧!http://www.pcpop.com/doc/0/94/94577.shtml 作为一个系统管理员,我下面说的都是基于服务器应用的linux来谈的,由于个人电脑上使用linux也许不是像服务器上一样,优先追求安全和稳定,因此个人电脑使用的朋友只做个参考吧。 本文提及的系统,如没有特别声明,均采用redhat公司的redhat linux系统。 关于优化 说起优化,其实最好的优化就是提升硬件的配置,例如提高CPU的运算能力,提高内存的容量,个人认为如果你考虑升级硬件的话,建议优先提高内存的容量,因为一般服务器应用,对内存的消耗使用要求是最高的。当然这都是题外话了。 这里我们首要讨论的,是在同等硬件配置下(同一台服务器,不提升硬件的情况下)对你的系统进行优化。 作为系统管理员,我认为,首先我们要明确一个观点:在服务器上作任何操作,升级和修改任何配置文件或软件,都必须首要考虑安全性,不是越新的东西就越好,这也是为什么linux管理感觉上和windows有所不同的地方,windows首先推荐大家去使用它的最新版本软件和操作系统,其实我个人认为这是一种商业行为,作为从系统管理上来讲,这是很不好的,使用新的软件和系统可能带来新的问题,有些甚至是致命的。 因此,作为管理,我们还是应该考虑稳定的长期使用的软件版本来作为我们的版本,具体的好处我就不多说了。相信作为管理员的你应该知道的。 其实个人使用的linux最直接的一个优化就是升级内核,自己编译的内核是根据自己的系统编译而来,将得到最大的性能和最小的内核。 但是,服务器就不太一样了,当然我们也希望每一台服务器都是自己手工编译的内核,高效而精巧。但是实际和愿望是有差距的,试想一下,如果你管理100来台linux主机,而每一台也许配置都不一样,那编译内核的一个过程将是一个浩大工程,而且从实际考虑,工作量大得难以想象。我想你也不会愿意做这种事情吧。因此,个人建议,采用官方发布的内核升级包是很好的选择。 首先,我们对新安装的系统,将做一系列升级,包括软件和内核,这是很重要的步骤,(这方面的详细情况欢迎察看我另一篇关于升级方面的文章)。 在升级好所有软件后,基本的防火墙和配置都做好以后,我们开始优化一些细节配置,如果你是老系统,那么在作本问题及的一些操作和优化你系统之前,务必被备份所有数据到其他介质。 1、虚拟内存优化 首先查看虚拟内存的使用情况,使用命令 # free 查看当前系统的内存使用情况。 一般来说,linux的物理内存几乎是完全used。这个和windows非常大的区别,它的内存管理机制将系统内存充分利用,并非windows无论多大的内存都要去使用一些虚拟内存一样。这点需要注意。 Linux下面虚拟内存的默认配置通过命令 #cat/proc/sys/vm/freepages 可以查看,显示的三个数字是当前系统的:最小内存空白页、最低内存空白页和最高内存空白。 注意,这里系统使用虚拟内存的原则是:如果空白页数目低于最高空白页设置,则使用磁盘交换空间。当达到最低空白页设置时,使用内存交换(注:这个是我查看一些资料得来的,具体应用时还需要自己观察一下,不过这个不影响我们配置新的虚拟内存参数)。 内存一般以每页4k字节分配。最小内存空白页设置是系统中内存数量的2倍;最低内存空白页设置是内存数量的4倍;最高内存空白页设置是系统内存的6倍。这些值在系统启动时决定。 一般来讲在配置系统分配的虚拟内存配置上,我个人认为增大最高内存空白页是一种比较好的配置方式,以1G的内存配置为例: 可将原来的配置比例修改为: 204840966444 通过命令 # echo"204840966444" > /proc/sys/vm/freepages 因为增加了最高空白页配置,那么可以使内存更有效的利用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-14
我想排对机制是对的,要不同时产生大量线程可能把服务器搞垮呢, (个人意见,仅供看一下)你是要做一个服务器端的程序吗???我觉得这个不是问题啊,我的毕业设计就用到了一个多线程服务器。监听可用serversocket控件,这个控件的好处是本身就可以接受多个用户的请求,然后针对每个请求再产生一个线程,用TThread类就可以了。我没有用到什么TServerClientThread,但是我就可以对每个请求产生一个线程阿。另外一个效率的问题,产生几百几千个线程是有可能把机子搞垮,而且效率反而会慢,你可以考虑和排队机制相配合。不过我觉得应该不会出现多大的问题,你看一个大型数据库系统还不是要支持几千几万个用户,它也要多线程处理。你可以试试吧,自己产生几百个请求“攻击”一下你的服务器端,看看是否会崩溃。呵呵。祝你好JamesJiang(欢乐英雄) 有没有源代码?给我看看? 可能我刚才没说很清楚,我这的系统有很多终端,然后各地的终端把请求提交到各地的网关,再由网关提交请求到服务器。这样就可能发生在同一个网关的第一个请求还没处理完的时候,另外一个请求又来了。 我是这方面的新手,sinmin(天凉好个秋) 能不能给我详细点解说一下中间件?怎么做?
记得采纳啊本回答被提问者采纳
相似回答
大家正在搜