性能优化策略(精选十篇)
性能优化策略 篇1
随着B/S架构的飞速发展,Ajax应用的盛行,开发编辑软件的简易操作,Web容器功能的大步升级,使Web应用得以越来越丰富,进而对数据的传输、处理、存储也提出了更高的要求,高效的数据存取速度是系统能够运行的基础保证。据统计, 基于数据库的Web系统的性能改进40%来自对网络、硬件、操作系统、数据库参数的优化,在大型数据流处理系统中,数据库的优化占到其80%的比例;而60%则来自对应用程序的优化, 尤其是SQL语句的优化。下面具体将对数据库的建立、性能参数的优化、应用程序的优化来说明提高数据高效存储、处理的方法。说明:本系统中的数据库设计是建立在大数据量处理之上,数据量的级别在千万级。
2 数据库建立
2.1 表空间
数据库中所有的数据都是放在表空间中的,DB2中根据表空间的用途,大体分为5种不同的表空间:(1)目录表空间,主要是保存系统目录表,总是在创建数据库时创建该表空间,命名为:SYSCATSPACE;(2)常规表空间保存表数据和索引,创建数据库时候默认生成的,其名称为:USERSPACE1; (3)大型表空间,用于存储长型或者LOB表列,其必须驻留在数据库管理表空间中,默认一个都不创建。(4)系统临时表空间,为排序、连接和其他操作提供数据库管理器空间,系统默认生成TEMPSPACE1, 每个数据库系统必须至少有一个系统临时表空间;(5)用户临时表空间,存储已声明的全局临时表,默认情况下一个都不建立。
2.1.1 在定义表空间的时候需要了解下列一些名词
(1)页大小,其支持4KB, 8KB, 16KB, 32KB。每页最多只能存储225行。
(2)扩展块大小:就是一个块中含有的页数,其指定在跳到下一个容器之前将写到当前容器中的页数,数据库管理器反复循环使用所有的容器,该参数只有在表空间中有多个容器时才起作用。
(3)容器:一个表空间有多个容器组成,每个容器只能属于一个表空间,一个容器中有多个扩展块。
(4)预取大小:每次从表空间读取的页数。
2.1.2 建表的优化方案
对于系统编目表和系统临时表空间采用SMS,对于其他的表空间(数据表空间、索引表空间)采用DMS,对于DMS,需要将容器建立在裸设备(raid)或者CIO并发文件系统,这样可以提高10%-15%的性能。具体的表空间的设计需要考虑如下因素。
(1)确定表空间的个数
为了提高系统的性能,将数据和索引放在不同的表空间:数据表空间、索引表空间,这样可以减少I/O冲突,增加并发。有的时候系统中有些表操作很是频繁、或者表中放置的是大数据,建议增加数据表空间个数,将这些表单独的放置在表空间中。这样的设计有利于提高系统的处理和响应,请求的并发数。以及后期系统空间的调整。将日志文件放置在单独的物理设备上,这样也很是重要,因为这样它们的频繁活动就不会给在同一硬盘驱动器上的其他工作带来不良影响。
(2)确定表空间的大小
这关系到扩展数据库大小和预取大小。
一般有如下关系,如表1所示。
在估算系统中表空间大小的时候,可以以一年为单位,计算该表空间内所有表的最大存储数据量之和,取其值的1.6倍。
(3)确定页大小
很多人在设计的时候倾向于设计较大的页面,因为这样可以减少在读取特定数据量的行时的I/O请求数量。但是如果页面过大,将会导致表空间的浪费,每个页面中最多可以放置225行记录,因此,采用如下公式(1),先计算出页最大存储量,在选择最合理的页大小。假定表中每条记录的大小为K字节 (因为数据库中每个表空间内的各个表中记录大小不一,建议取同一表空间内各个表单条记录的均值),每页占用数据为W。
这里假定选择了BkB (B只能是4、8、16、32) 大小的页。如果从空间利用率来说,那么B应该是最接近W的,如果对系统的性能要求比较高,则B取大于或者等于W的最小值。当设计导致了W比32大得多,建议重新考虑表的结构。
(4)确定每个表空间中的容器个数
一个表设置多个容器,并将容器分布在不同的物理驱动器上,DB2就可能使用并行I/O。建议建立的容器个数小于CPU的内核数。
2.2 缓冲池设计
数据库中的数据访问都要经过缓冲池:读的数据需要先读到缓冲池才能提交给应用,写的数据也要先写到缓冲池才能进行I/O。缓冲池是影响数据库性能最大的参数之一。
大的缓冲池可以显著的减少I/O这一最耗时的操作,但是如果缓冲池设计过大,将会导致没有足够的物理内存分配给他,引起系统使用每种页大小最小的缓冲池,性能将会急剧下降。
缓冲池配置的建议:
(1)将数据和索引放在不同的表空间,为这些表空间分配不同的缓冲池,减少I/O冲突。
(2)将不同数据访问模式的数据统一放到不同的缓冲池中。比如:批处理和查询通常进行大量的顺序操作,对于OLTP数据访问往往具有随机性。
(3)为独立的应用程序提供一个单独的缓冲池。
(4)对于那些表小且读取频繁的表,将其放置在独立的表空间中,再为这样的表空间分配一个足够大的缓冲池,这样可以同时减少读和写的I/O。
(5)为只读表提供单独的较大的缓冲池可以极大的提高性能。
(6)在分配缓冲池大小的时候,其总大小初次不要超过系统内存的20%,反复通过对系统快照的分析,确定缓冲池的利用率,评定缓冲池设定是否合理。不要将缓冲池的大小设定超过了系统内存的50%,否则将会产生意想不到的后果。
3 数据库参数优化
应用系统往往刚上线的时候,数据库中含有较少的数据,用户的应用也达不到大负荷,数据库的优化难见成效。随着数据量的增大,并发用户数的增多,系统的性能好坏才能渐渐暴露,要搭建一个优秀的数据库系统,需要在运行中不断的完善,一步登天是不可取的。建议在数据库响应较慢或者有高性能要求的时候,采取调优数据库配置参数。一般的调优要符合下面的过程,如图1所示。
DB2数据库的配置参数分为:数据库管理器(DBM) 参数配置和数据库 (DB) 参数配置。
每个数据库都有其自己的运行环境、和运行场景,通过采集数据库的快照,来反映系统的内部运行状态。有了状态就可以分析,下面是开启快照的命令:
3.1 DBM配置参数调整
查看DBM参数:
DB2 GET DBM CFG,
更新某个参数
update dbm cfg using参数值
下面主要对其中的某些对系统的性能影响较大的参数做些调优说明
(1) SHEAPTHRES
SHEAPTHRES指定了某个给定时间可为所有私有排序分配的软内存限制 (soft limit) 。当为私有排序分配的内存达到了此限制,新请求的私有排序的内存大小分配将会减少。
运行:GET SNAPSHOT FOR DBM (假定已经开启了sor监视器),局部如图3所示。
计算:
如果Q是小百分比表明可通过增加SHEAPTHRES的大小。如果"Post threshold sorts"的值大于10,应尝试增加SHEAPTHRES的大小。如果"Total Private Sort heap allocated"大于SHEAPTHRES,则应增加SHEAPTHRES的大小, 建议逐次增加256。
(2) SHEAPTHRES_SHR
实例中并发共享的排序可以消耗的内存总量的硬性限制:
如果共享排序堆高水位标记 (shared sort heap high water mark)远远低于SHEAPTHRES_SHR,应该减少SHEAPTHRES_SHR,这样可以节省数据库函数的内存消耗,如果总分配的共享排序堆 (total shared sort heap allocated) 大于或者等于SHEAPTHRES_SHR,需要增加SHEAPTHRES_SHR,因为这说明了排序没有得到排序堆的完整排序空间。在增加SHEAPTHRES_SHR的时候,建议逐次增加排序堆 (SORTHEAP) 的2倍。
(3) MON_HEAP_SZ
数据库系统监视器可以支配使用的内存数量。
如果在执行系统快照的时候,DB2不能给其分配足够的可用内存,将会报错误,建议将这个值在初始化的时候设为:1024,如果还不能解决问题,逐次增加256,直到错误消失。
(4) MAXAGENTS、NUM_POOLAGENTS和NUM_INITA-GENTS
MAXAGENTS参数表明在任何给定时间接受应用程序请求的数据库管理器代理程序的最大数目;NUM_POOLAGENTS参数是用于评定您希望代理程序池增加到多大的准则;
NUM_INITAGENTS参数决定空闲代理程序的初始数量。
GET SNAPSHOT FOR DBM获取系统快照,局部图示如图4。
如果“Agents waiting for a token”或者“Agents stolen from another application”大于0,则应该增加MAXAGENTS,让数
据库管理器可以使用更多的代理程序。
建议:在大多数情况下,将MAXAGENTS和NUM_POOLA-GENTS的值设置成略微大于并发应用程序连接的最大预计数目。让NUM_INITAGENTS保留为缺省值会比较好。
3.2 DB配置参数
查看DB配置参数:
(1)连接数据库,假定A
DB2 connect to A user**using******
(2)获取数据库参数
DB2 GET DB CFG FOR A,
(3)更新某个参数
update db cfg for A using参数值
下面主要讲解一些对数据库性能影响最重要的一些配置参数:
(1) BUFFERPOOL
缓冲池的用途是为了提高数据库系统的性能。从内存访问数据要比从磁盘访问数据快得多。因此,数据库管理器需要从磁盘读取或写入磁盘的次数越少,性能就越好。对一个或多个缓冲池进行配置之所以是调优的最重要方面,是因为连接至数据库的应用程序的大多数数据(不包括大对象和长字段数据)操作都在缓冲池中进行, 如果缓冲池的NPAGES值为-1时,DB2数据库配置参数BUFFPAGE控制着缓冲池的大小。否则会忽略BUFFPAGE参数,并且用NPAGES参数所指定的页数创建缓冲池。
建议:
1)对于仅使用一个缓冲池的应用程序,将NPAGES更改成-1,这样BUFFPAGE就可以控制该缓冲池的大小。这使得更新和报告缓冲池大小以及其它DB2数据库配置参数变得更加方便。
2)缓冲池大小的确定,一开始,如果机器上有足够大的内存,请将BUFFPAGE设置成60000个页(240 MB),或者等于机器总内存的10%,如果数据库处理的数据量会是很大(至少百万级),在保持系统稳定的同时为缓冲池留出尽可能多的内存, 建议初次取机器总内存的30%。
为了对缓冲池做个定性的分析,从而能够更好的设置其大小,采用数据库缓冲池快照:
get snapshot for bufferpools on A,局部图示如图5。
通过公式:
(1- ( (buffer pool data physical reads+buffer pool index physical reads)
/ (buffer pool data logical reads+pool index logical reads) ) ) *100%------- (2)
计算出缓冲池的命中率,如果其值在系统正常运行下,小于70%,建议减小这个缓冲池的大小,逐次减少512。如果其值为100%,建议增大缓冲池,逐次增加512,直到系统中这个比值稳定在90%-98%。
(2)日志缓冲区大小
LOGBUFSZ是一个数据库配置参数。它是用于日志缓冲区的参数。它允许指定数据库共享内存的大小以用作在将日志记录写到磁盘之前这些记录的缓冲区。当下列事件之一发生时会将日志记录写到磁盘:事务提交,日志缓冲区已满,其他某个内部数据库管理器事件发生时。
查看数据库快照,局部图示如图6。
一般而言,“log pages read”和“log pages written”之比应当尽可能小。理想情况下,“log pages read”的值应为0,而“log pages written”的值应很大。当log pages read太多时,意味着需要一个较大的LOGBUFSZ,建议逐次增加512,直到log pages read为零。
(3)排序堆大小
SORTHEAP是一个数据库配置参数,它定义了私有排序所使用的私有内存页的最大数目,或共享排序所使用的共享内存页的最大数目。其性能对数据库影响巨大。
建议:
1)使用数据库系统监视器来跟踪排序活动。
2)使用合适的索引使排序堆的使用降到最低。
3)当需要频繁进行大型排序时,增加SORTHEAP的值。
4)如果增加SORTHEAP,请确定是否还需要调整数据库管理器配置文件中的SHEAPTHRES参数。
打开sort监视器, 采集数据库快照,局部图示如图7。
根据计算公式:
SortsPerTransaction= (Total Sorts) / (Commit statements attempted+
Rollback statements attempted) ------------ (4)
PercentSortOverflow= (Sort overflows*100) / (Total sorts) --------- (5)
如果SortsPerTransaction大于5,它表明可能每个事务的排序太多。如果PercentSortOverflow大于3%,及有可能发生了很糟的大型排序。发生这种情况时,增加SORTHEAP有些时候能解决问题,但是还是建议用户去认真的分析下SQL,看看是不是可以通过添加正确的索引改进有问题的SQL语句的存取方案。
如果用户有个很长的SQL(含有很多的排序、分组),其检索的表也建立了合适的索引,但是增加SORTHEAP也效果不明显,因为这个长的SQL里面可能会有很多的中间结果,其牵涉到不光是排序推,还牵涉到临时表的大小(交换数据、排序数据),缓冲池的大小,如果已经没有足够的空间来调优,那么可以采取分而治之,将SQL分解,建立几个中间表,将分解的SQL查询结果放到中间表中,再一个个的组合中间表。
(4) 锁
LOCKLIST表明分配给锁列表的存储容量。MAXLOCKS定义了应用程序持有的锁列表的百分比,在数据库管理器执行锁升级之前必须填充该锁列表。LOCKTIMEOUT指定了应用程序为获取锁所等待的秒数。
对系统性能的影响:一旦锁列表满了,由于锁升级生成更多的表锁和更少的行锁,因此减少了数据库中共享对象的并发性,从而降低了性能。另外,应用程序间可能会发生更多死锁(因为它们都等待数量有限的表锁),这会导致事务被回滚。
建议:如果锁升级造成性能方面的问题,则可能需要增大LOCKLIST参数或MAXLOCKS参数的值。可以使用数据库系统监视器来确定是否发生锁升级,跟踪应用程序(连接)遭遇锁超时的次数,或者数据库检测到的所有已连接应用程序的超时情形。
打开锁监视器,采集数据库锁快照,如图8所示。
如果“Lock list memory in use (Bytes) ”超过定义的LOCKLIST大小的50%,那么就增加LOCKLIST数据库配置参数中的4KB页的数量,建议逐次增加256。锁升级、锁超时和死锁将表明系统或应用程序中存在某些潜在问题。锁定问题通常表明应用程序中存在一些相当严重的并发性问题,在增大锁列表参数的值之前应当解决这些问题,可以考虑降低系统的隔离级别。
(5)日志文件
LOGPRIMARY指定要预先分配空间的日志文件的数量,LOGSECOND是按照需要来分配空间的,LOGFILESIZE用户定义每个日志文件的大小。
系统在运行中先使用主日志,在不够的情况下使用次日志, 如果次日志也不够用的话,就提示日志满,在做大的事务的时候,小日志,容易引起日志满的情况。
建议:如果应用系统需要处理大的事务,建议采用较多的主日志,次日志取主日志数的1.2倍,设置logfise,取较大值。一般意义上来讲,日志越大,性能越好,但是随着日志文件的丢失,丢失事务的可能性也越大。在一般情况下,如果有足够的空间,建议加大日志,没有什么坏处的。
(6)语句堆
语句堆stmtheap用于在SQL语句编译期间作为编译器的工作区。如果系统中有较长的sql语句,建议修改这个参数,可以按256逐次增加该参数的值。此参数对数据库性能影响重大,建议合理调整,初始值建议为8192。
4 应用优化
4.1 更新统计信息
统计信息包含数据库中所有的表格信息、所有表格的字段信息、字段值的分布情况、所有索引的信息、表格空间的性能信息等重要信息, 是生成执行计划的重要依据。所以这些统计信息是否完整与正确非常重要。而当表格数据经过插入、删除、更改后, 统计信息并不会自动更新。所以必须对统计信息进行更新。建议DBA定期对数据库中各数据表的统计信息进行更新:
RUNSTATS ON TABLE表名WITH DISTRIBUTION AND DETAILED INDEXES ALL
4.2 碎片整理
对表进行大量更改后,逻辑上连续的数据可能被分散在许多个不连续的物理数据页中,因此数据库管理器必须执行更多的读操作来访问数据,对表扫描也会出现很多不必要的I/O, 导致预读取变得效率低下。碎片整理,可以收回浪费的空间,对数据重组。
具体的过程如下:REORGCHK->REORG->RUN-STATS->BIND或REBIND
建议:如果系统插入、删除比较频繁且数据量较大,可以每天晚上12:00或者用户访问少的时候运行一次碎片整理。如果处理的数据不是特大,建议一个星期做一次整理,在做整理的时候需要考虑表的大小,其关系到整理的时间,在整理期间最好断开数据的外部应用连接。
4.3 合理建立索引
(1)根据条件语句中谓词的选择度创建索引。
(2)避免在建有索引的列上使用函数。
(3)避免在小表上建立索引。
(4)在经常进行链接的列上建立索引,并且字段类型要保持一致。
(5)在需要排序的列上建立索引,如是ORDER BY GROUP BY可以建立集群索引。
(6)避免在选择性太低的字段上建立索引。
(7)要合理使用组合索引,比如在使用了组合索引(A、B),那么有效的索引为条件A、条件A、B,条件B索引无效。
(8)为索引指定独立的表空间。
(9)将include列添加至唯一索引。
(10) 在建立主键的时候,根据实际情况考虑建立升序还是降序。
(11) 如果要改经父表执行的删除和更新操作,在外键上创建索引。
(12)对于有些表,查询的组合较多,如果为每个类型的查询都建立索引,在某些情况下会严重影响系统性能,这个时候建议采用DB2 DESIGN ADVISOR.在向导中,尽量列举出在项目中使用到该表的所有sql,并刻画他们的频率,DB2 DE-SIGN ADVISOR会给出很优化的索引建议。
在索引跟新后,需要做一次信息收集,更新统计信息。
4.4 查询优化
(1)在select语句中只选择需要的列,切忌用select*....。
(2)查询条件尽量建立在索引之上。
(3)尽量避免使用算术运算表达式, 因为这样会增加编译器的优化过程:先进行计算,再重写SQL。
(4)使用负逻辑、distinct谓词都将导致表扫描。所谓负逻辑就是指诸如!=、<>、not in的查询谓词。
(5)使用Like谓词时, 尽量避免在字符串的开始使用“%”或“”。如此使用通配符只能导致表扫描而降低速度。但当通配符“%”或“”出现在字符串的其他位置时, 优化器就能使用索引。
(6)条件判断where、having的使用,要看具体筛选的结果集大小,一般情况下,在where条件足够时, 不要使用having语句。
(7)链接查询的链接列使用数值类型比使用字符串属性效果好得多。这是由于字符串的匹配本身比数值比较效率低的缘故。
(8)尽量用数据类型相同的数据进行比较,以免发生数据转换。
(9)使用SELECT...FETCH FIRST n ROWS ONLY限制查
询结果集大小。
(10)使用SELECT...FOR READ ONLY, 这样的好处在于可以提高fetch操作的性能,因为他允许DB2执行块操作。
(11)确保让重复的SQL语句使用参数标记,主要是可以最小化DB2语句的PREPARE成本,优化器可以定制在重复执行语句时使用的采取路径。
(12)尽量将可以的操作简化为一条语句如:
Insert into tablea values (1);
Insert into tablea values (2);
Insert into tablea values (3);
需要将其变为
Insert into tablea values (1), (2), (3);减少了数据库对SQL语句的编译次数。
(13)合理使用NOT IN和NOT EXISTS, NOT IN是自内向外的,NOT EXISTS是自外向内,要考虑实际中子查询的结果集以及子查询的复杂度。一般情况下,在子查询较大、较复杂时采用NOT EXISTS。
(14)调整表的连接顺序,减少中间结果集的数据量,尤其在left join或者right jion的时候需要注意。
4.5 其他
(1)利用SQL存储过程
存储过程能降低网络开销,而且存储过程改善静态sql的预备性能。
(2)高并发要求
1)采用数据库连接池
在实际情况下,打开和关闭连接的开销较大,在高并发下,会影响到应用程序的性能。
2)选择合适的隔离级别
数据库的隔离级别越严格,其并发数就越小,因为应用程序要等待资源上的锁被释放。
隔离级别从高到低:RR---RS--CS--UR
用户根据自己的需求设定系统的隔离级别,默认为隔离级别CS。
修改隔离级别:
DB2 CONNECT RESET
DB2 CHANGE ISOLATION TO隔离级别(CS)
3)设置合理的注册变量
Db2set DB2_SKIPINSERTED=ON//忽略插入行
Db2set DB2_SKIPDELETED=ON//忽略删除行
Db2set DB2_EVALUNCOMMITTED=ON
//允许发生在未提交的数据上
以上的参数是实例级的。用户可以根据实际系统中的需求来设定上面的变量,需要注意的是,这样可能会读取到脏数据,但是并发性能有了很大的提高。如果系统中以查询为主,建议采用这样的方案。
5 结语
在当今Web应用盛行的局势下,数据库承担着不可或缺的作用,其重要性在开发中越发明显,在数据库的管理和开发过程中,优化设计可以提高数据库的性能,特别是大型数据库,优化过程更为重要,不仅可以提高查询响应速度,还可以减少对内存的需求。概要的讲解了建设一个高效的数据库需要特别注意的地方,提出表空间设计的原则,数据库系统参数的调优方法以及从应用开发方面讲解更新统计数据、合理建立索引、优化SQL语句等简单、方便有效的优化方法。仅从开发案例出发,列举出解决实际问题有效的数据库调优方案,如果用户在使用的过程中上述的性能调优还是不能满足系统的并发,建议参考MDC、数据库分区、MQT,如果用户对SQL优化想有个直观的了解,建议使用DB2的Visual Explain。
摘要:数据库的优化对提高系统的性能起到了绝对性的作用, 从数据库建立 (表空间、缓冲池) 、性能参数配置 (日志空间、排序堆、SQL堆等) 、应用优化 (SQL优化、索引等、统计信息) 这几个方面做了细致分析。文中提到的优化方案都是经过了实际项目的验证。
关键词:表空间,缓冲池,排序堆,索引,SQL优化,日志,统计信息
参考文献
[1][美]Dennis Shasha, Philippe Bonnet, 孟小峰, 李战怀, 等译.数据库性能调优——原理与技术[M].北京:电子工业出版社, 2004.
[2]牛新庄.DB2数据库性能调整和优化.北京:清华大学出版社, 2009.
[3]牛新庄.深入解析DB2-高级管理、内部体系结构与诊断案例.北京:清华大学出版社, 2009.
[4]Roman B.Melnyk, Paul C.Zikopoulos著, 袁勤勇, 何欣, 贾颖, 等译:DB2技术参考大全.北京:清华大学出版社, 2002.
[5] (美) Stephane Faroult, Peter Robson著, 温昱, 靳向阳译.SQL语言艺术.北京:电子工业出版社, 2008.
如何做好网站性能优化 篇2
代码优化
(1) CSS
避免使用CSS表达式
尽可能用类和ID选择,少用后代选择器,子选择,通配符选择器等高级选择器(CSS选择器是从右到左开始匹配)
(2)JavaScript
尽量避免全局查找,建议使用局部变量
将常用变量缓存起来使用
不要使用with语句(会增加作用域链长度)
有效利用正则表达式处理字符串
尽量使用全等===做判断(避免变量隐式转换)
利用setTimeout定时器将耗时长的大任务分割为N个异步任务执行
使用window.requestAnimationFrame()绘制动画,而不是setInterval()
(3)DOM操作
用innerHtml代替DOM操作,减少DOM操作次数
缓存DOM节点查找的结果
采用事件委托监听DOM事件
少用iframe
尽可能批量修改DOM,可以通过下面的步骤减少重绘和重排的次数:
隐藏元素,进行修改,然后再显示它
使用一个文档片断(document.createDocumentFragment())在已存DOM之外创建一个子树,然后将它拷贝到文档中
将原始元素拷贝到一个脱离文档的节点中,修改副本,然后覆盖原始元素
(4)HTML
样式表和脚本文件都采用外部文件链接方式加载
样式表链接定义在内,脚本文件放在末尾
性能优化策略 篇3
【关键词】计算机网络 路由 路由性能
【中图分类号】TP393.02【文献标识码】A 【文章编号】2095-3089(2016)02-0252-01
在计算机靠网络通信技术的教学中,要使学生明确网络性能衡量指标的重要性,通过路由测量,将信息及时送往各个目的地,实现网络通信。利用此种原理进行教学,能够使学生掌握如何对资源进行合理运用,减少运营消耗的实用型网络通信技术。以下本文就对基于计算机网络中的路由和性能优化技术的教学改进策略行阐述,具体如下。
一、遗传算法的改进
从生物学角度分析,遗传算法是对基因进行操作,通过再生、变异、交换等方式,产生比父代适应性更强的染色体群。在计算机网络中,要注重遗传参数的选择。遗传参数主要包括影响算法的有效群体的数据,然后对控制交换的操作频率进行集中转换,如果在增加群体多样性中,变异频率出现大幅变化,那影响路由的整体效果。群体数目较小,就无法供应足够的采样点,在算法的表述中效果较差,无法解决路由问题[1]。这部分的教学重点是要让学生注重采样点的选取,并保证群体数量能够处于150-300之间,确保网络的应用性能可以得到优化。交换频率的具体情况,也会影响网络运行模式,太大或太小都会影响搜索的效果,导致遗传算法出现问题。
路由及其性能的优化技术的教学重点,是要让学生掌握选择问题和具体的优化步骤,可能够合理控制不同的数据,掌握遗传算法的参数。例如从遗传体的角色分析,染色体的编码是随机产生的,不同的染色体有不同的适应值,工作人员要进行认真的选择。这个过程中可以选取轮盘法,对不同的个体和群体进行竞争选择,然后交换染色体的基因,阐述这种群体变异的主要情况。工作人员要从不同的个体中,选取一个最优秀的个体,确保其适应值高于上一代,将交换及变异的概率控制在原有的水平。由此说明了计算机网络中路由优化原理,经过此种方式,能够保证路由优化的整个过程都是有效的,更好的促进计算机网络发展。
二、计算机仿真结果及其分析
通过遗传算法对计算机网络中路由的优化改进,得到了较好的效果,现对这种结果进行验证。对其通过大规模分布的形式,进行仿真实验,从而得出仿真结果,证明路由性能得到优化。
图1:ARPA网络拓扑结构及其链路长度
在图1的ARPA网中,有21个节点,26条链路,420对源,目的节点,分组到达率为4分组/s,由此在进行仿真实验时,需要进行合理的遗传参数选择,工作人员要了解群体的规模,将初始交换概率进行合理统计,在路由优化仿真的过程中,应对每个节点路由进行记录,最后还要对点编号。改进的并行遗传算法进行仿真后的结果分别示于表1。
表1:ARPA网的计算机仿真的路由优化结果
在表1中,最优解主要表示的是得到的平均网络时延,然后对网络的性能进行衡量,如果在统计中,时延的值比较小,那么表示网络的实时性也比较好;在链路利用率的分析中,主要说明的是,资源的使用情况。在一定的负荷下,利用率越小,代表网络对资源的利用越合理,能够保证路由策略。
在分析与结果统计中,需要注意的是,随着分组长度的增加,优化的成果体现的更加明显,不同网络的时延都会有所不同,工作人员要根据实际的数据进行分析。如果时延的比例仅为预期的一半,那么应适当增加分组的长度,从而保证其得到有效调整。在本次研究的算法中,能够通过通信量的负荷链路进行重新分配,从负荷重的链路重新分配到负荷轻的链路,避免出现瓶颈现象,这种方式对资源的使用进行了优化,能够增加得到最优解的速度。所以在路由及使用算法的改进中,使用遗传算法能够提高最优解的质量,实现分组长度的有效加成,在算法的使用中,要使学生注意时延结果,确保其稳定的上升,保证算法的有效性。
在计算机网络技术教学中,要将遗传参数选择作为教改的新方向。遗传参数主要包括影响算法的有效群体的数据,然后对控制交换的操作频率进行集中转换。在路由及其性能的优化中,学生应掌握其选择问题和具体的优化步骤,能够合理控制不同的数据,掌握遗传算法的参数。针对遗传算法的使用,也要根据实际情况,进行适当选择,保证整个过程的合理性,从而实现路由及性能的优化。计算机网络中算法的使用,需要保证稳定的时延效果,增加算法的有效性。
参考文献:
系统性能问题分析及优化策略方法 篇4
信息系统性能作为非功能性要求,虽不是系统功能所关注重点,但却是反应功能是否正常稳定运行提供服务的关键。及时发现系统性能问题,做到防患于未然是系统建设管理人员必须具备基本能力。本文通过在多次系统性能优化管理工作中的经验方法进行总结,供信息系统的建设管理人员参考借鉴。
1 性能问题表现
系统性能问题,在系统使用过程中非常容易发现,总结起来,主要表现于响应时间、延迟时间、吞吐量、并发用户数以及资源利用率。其中,响应时间是系统对请求做出响应的时间,常指该系统所有功能的平均时间或者所有功能的最大响应时间;延迟时间是用户请求开始到系统响应结束的时间间隔;吞吐量是指系统在单位时间内处理请求的数量;并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量;资源利用率反映的是在一段时间内资源平均被占用的情况。对于数量唯一的资源,资源利用率可以表示为被占用的时间与整段时间的比值。各项指标都是决定系统性能问题的重要因素,因此对各指标的合理优化,是提高系统性能的重要手段。
2 性能优化策略
系统建设过程中一般前期只重视功能,后期才会偏向性能。建设初期,实现者主要关注系统设计本身的业务功能和系统功能的实现,而忽略系统性能问题。随着系统投入应用,系统业务功能、数据量、用户并发量的增加,导致系统性能不断下降,性能问题逐渐成为系统建设投运过程中的首要问题。因此,系统优化必须在系统启动时开始重视,对系统架构设计,基础平台中间件的选择,代码编写、软硬件配置进行合理的决策实施。
系统性能是系统稳定运行的重要评价指标,系统性能优化已成为系统设计者的重要研究方面。而性能优化需从系统各方面进行分析,根据系统特点制定合理性能优化策略,其主要分为如下两个方向。
2.1 空间换时间
各种Cache如CPU L1/L2/RAM到硬盘,都是用空间来换时间的策略,这样的策略通过把计算的过程一步一步地保存或者缓存下来,减少系统在指令计算上的时间开销,比如数据缓存、CDN等。这样的策略还表现为冗余数据,比如数据镜像,负载均衡等。
2.2 时间换空间
少量的空间可能性能会更好,比如网络传输,如果有一些压缩数据的算法,这样的算法比较耗时,但因为瓶颈在网络传输,所以用时间来换空间反而能省时间。
3 分析优化方法
性能优化主要从操作使用层、业务层、架构层、数据存储、操作系统等几个方面进行分析优化:操作使用方面,主要考虑操作的简便性、减少系统请求、合理控制分配各个功能点的使用等方面。业务层主要考虑业务体系的优化;应用系统功能如何进行拆分以达到功能配置最优化;架构层从系统架构和应用架构两个角度考虑,包括事务控制、代码缓存、权限管理体系、远程调用、工作流引擎等内容。数据库优化范围包括数据库的库表结构设计、数据存储、数据库操作等方面考虑;操作系统层的内容考虑系统的并发用户数、吞吐量,系统可靠性等方面。
3.1 系统架构
优化按照从大到小的原则进行,首先从系统结构或者框架入手,思考设计最佳的性能结果或框架,最后到编程工具、控件的选择,以及语句的优化。
3.2 代码逻辑
代码越精简,执行效率越高,编码过程中需要注意性能设计,少做分配和释放内存的操作,合理地使用异常机制等;同时采用并行处理策略,多核的CPU配置已经是常见的配置,程序设计中考虑多线程的执行,充分利用计算资源,达到提高性能的目的。
3.3 网络通信
信息系统一般部署在成熟具有一定规模和覆盖面的网络通信设施的基础之上,网络的结构、带宽等均已经固定,短时间内不会有大的升级改进。网络通信的优化,通常在系统架构部署,数据压缩,使用数据库存储过程等方面进行优化改进,减少网络数据传输量,从而达到提高网络性能的目的:在系统架构方面,采用分布式部署模式,降低在集中部署架构中系统对主体网络的压力;在数据压缩方面,利用高效压缩算法对数据文件进行压缩打包,减少网络数据传输量;在数据库存储过程中,减少数据库与服务器之间的通信频率,仅将计算结果提供给应用服务器,有效减少网络传输资源的消耗,提高网络性能。
3.4 数据缓存
90%的系统架构优化都围绕缓存进行研究。从硬件上看,有CPU L3-L2-L1,主存,RAID卡缓存等。软件架构上看,有应用服务器缓存,WEB服务器缓存,CDN缓存等。
3.5 数据库
在SQL语句方面,通过并行SQL使得SQL语句可以被多线程或进程同时处理,同时,借助辅助工具对SQL语句进行测试,更方便对语句进行调优。
在数据库系统架构方面,通过对数据库相关参数的设置,充分发挥数据库的计算资源利用率;其次,根据业务模块数据读写频率,合理分配表空间,提高表空间利用率,均衡磁盘读写压力;同时,根据实际情况对数据库中的表建立适当的索引,提高数据表的执行效率;此外,根据数据库工具中的性能诊断分析工具,收集统计数据库运行的状况,明确数据库优化决策。
3.6 硬件
通过硬件升级可以快速解决系统性能问题,对于可预估的系统容量性价很好,相对软件系统优化更为直接。但不是一味追求最新最好的硬件配置,而选择软件优化还是硬件优化是一种技术成本平衡决策,有时软件也需要针对硬件做特定的优化。
4 测试验证
性能测试属于软件测试的范畴,是软件系统级别的测试,其目的是验证用户的性能需求是否满足要求。它不仅是用测试工具去运行一些测试脚本,证明系统是否满足性能指标。更关键的是要识别系统瓶颈和产生瓶颈的原因,辅助优化调整平台设置来达到最佳的性能。
性能测试主要包括负载测试和压力测试两个方面。通过负载测试考察系统软件在既定的负载下的性能表现,一般体现为响应时间、资源利用率、并发用户数等指标。而压力测试则是测试系统在极端情况下的表现,压力测试预期目的是发现系统问题,找到系统正常运行的临界值。一般体现为最大并发用户数,最大吞吐量等。
5 结语
性能与应用系统的代码、应用服务器都有着密切的关系。在保证应用有一个稳固可靠的体系结构的前提下,拥有优质高效的代码,并在此基础上再来集中精力调整应用服务器,这样才能达到集中应用系统性能优化的理想效果。
摘要:随着信息化建设的深入和普及,信息系统已经成为了社会的生产、生活重要组成部分,信息系统由各类型复杂的软、硬件组成,功能逻辑结构复杂,数据种类多样,系统的性能犹如系统的生命,是系统正常运行服务的关键,越来越受到人们的重视。如何优化系统性能,是系统设计研发者们必须考虑的问题。性能优化目标只有一个就是提高系统性能,但是性能分析优化的方法策略却多种多样,如系统的架构优化,程序的逻辑优化,内存、I/O、网络、磁盘优化,数据库优化等等。如何选择合适的优化方法,解决性能问题,是系统性能优化的关键。
关键词:性能,优化,系统,升级
参考文献
[1]骆涛.面向大数据处理的并行计算模型及性能优化[D].中国科学技术大学,2015.
[2]袁爱梅.Oracle数据库性能优化研究[D].华东师范大学,2007.
[3]谭建平.Web网站系统性能优化研究及其应用[D].重庆大学,2007.
[4]孙风栋,闫海珍.Oracle 10g数据库系统性能优化与调整[J].计算机技术与发展,2009(2).
浅谈通讯网络性能优化体系 篇5
【中图分类号】TP393.09 【文献标识码】A 【文章编号】1672-5158(2013)03-0118-01
一、概述
一般来说,通讯工程的基础非流量工程莫属,同时也是网络系统的重要组成部分,其直接与网络性能监控和优化挂钩。其主要指的是:从Internet 网络运行角度处理大型 IP 网络的性能监测与控制问题,主要包括性能检测、评估和Internet流量统计和控制。本文主要从被动方面针对 CERNET 的网络运营模式,提出了有效的性能测试方案,实现了其端与段之间的性能测量和相互评估,为其基于 MPLS 的网络监测与评估提供了理论基础。
二、网络性能监测和控制系统
2.1系统设计原则
系统的设计要以 RFC 的规定为准则,为用户提供简洁明了的服务说明,使其便于衡量和进行选择,此外,系统在同一网络主干道上的测量应有一个统一的标准,确保测量的一致和结果的有效性。该系统模式下要尽量避免主动测量带来的干扰,如果主动测量的周期与被测对象的变动一致,那么只可能测得一种结果;而且,主动测量还可能导致网络进入受干扰的“同步状态”。
2.2 系统的结构
网络性能测试系统主要在 IP 网络的各主要节点上进行,其主要结构如图1所示。图 1 基于流量工程的监控系统结构
2.2.1 监测子系统
网络性能测量是开展网络性能监测与控制活动的重要基础,其测量所得的数据是网络监控与评估的根本依据,包括常规的网络信息服务,MonitorServer上的天气预报服务,主干道节点的网络延迟、数据吞吐以及丢包率等重要信息,并依此而对网络运行状况进行评估。
对于网络系统的监测主要分为主动式监测和被动式监控两种方法,主动式监测主要是定时地向被监测主机发送数据包,检测其网络延迟、数据吞吐量等。主动式监测有助于及早地发现问题、分析问题,得出结论,并最终解决问题。被动式监控是指在特定的主机或站点上进行数据收集和分析,以持续地监测相关网络的运行状况,此种方法的监测周期由规律性测量和针对性测量两方面来决定。规律性测量是指以固定的时间间隔来对监测对象进行测量分析,这样的测量能够完整地反映出线路的流通状况;针对性测量是指针对网络运行中出现的特定异常情况进行专门数据采集和分析,结合规律性监测的数据来解决所遇到的问题。
2.2.2 分析子系统
分析子系统是根据监测系统所提供的数据进行研究分析的模块,其分析对象主要包括一下五个方面:其一,端与端之间的路由联通问题,进行双向监测,以分析是否存在路由阻塞、循环、摆动等病状;其二,网络瓶颈分析,测量网络瓶颈宽带流通量,确定瓶颈问题原因;其三,信息包的丢失调查:如果在网络输送中发生信息包丢失的问题,要及时分析原因,是因为网络负载过大还是恶意程序拦截等其它因素,或者根本只是因为接收者为发送相关消息;信息包输送的延迟:要分析最大延迟和最小延迟,是发送与接受的双向延迟,还是某一方的单向延迟,以此还可以确定网络的宽带流通量;最后,综合分析,分析以上所有检测结果的相关性。
2.2.3 优化与控制子系统
网络性能优化主要是根据以上面的测量和分析结果为参考,对现有的网络系统所存在的漏洞和不足进行评估,并进行优化。实时优化要求对网络运行中出现的问题进行尽快解决,时间范围要求严格,具体方法包括队列的管理,IGP/BGP,MPLS,RSVP 等技术。
该系统采用 MPLS 技术进行子系统优化。MPLS(Multi-Protocol Lable Switching):多协议标签路由。主要针对传统网络系统中的路由问题,包括、实时传输慢、网路延迟多等弊端。传统的 IP 网络每一跳(hop)都需对 IP 分组进行路由决策,导致路由器成为网络传输的瓶颈。而网络中的第二层数据链路层具有高速快捷性。MPLS 研究了一种第二层信息流通与第三层路由转发相结合的模式,既利用了第二层数据链高质量的优势,同时利用路由器的灵活便捷功能,形成一种高效的网络性能优化模式。
2.3 系统实现过程
系统实现过程包括:对于CERNET主干网节点(包括与国际网络及国内各网络的相关联的节点)进行实时的流量统计监控;以曲线图形式实时将测量结果显示在网络上;对测量结果进行全面细致的分析;利用上述的 MPLS 技术对网络性能欠佳的路段进行完善和修复;分级收取相关费用。
三、测试结果
(1)丢包率与响应时间的测量。以 CERNET 总节点到东北地区分节点的网络测试结果为例,如图 2:
在该项测量中,TCP 及 UDP 数据包大小均为 1KB,发送窗口和接受窗口大小均为 16KB。数据吞吐量测量时间间隔为 20 分钟,以免测量太繁影响网络负载,间隔太长又得不出有效结果。
结束语
性能优化策略 篇6
SQL Server作为一种被广泛使用着的数据库管理系统, 它能满足当下数据库系统的各种要求和不同类型的数据库解决方案, 具有着许多显著的优点, 如:易用性、集成性、可伸缩性以及用于决策支持的数据仓库功能等, 在越来越多的商业技术领域中使用。但随着使用的时间增长, 必须要面对的问题是:当数据信息积累到一定的规模时, 必将导致数据库的性能下降, 数据查询的效率变慢, 甚至到无法容忍的地步。定期维护数据库和对系统的性能进行优化就显得尤为的重要。
1 设计优化策略
设计阶段是决定系统性能的关键阶段, 只有设计合理, 才能减少瓶颈问题, 减少CUP利用率, 减少资源争用。
(1) 数据库语言编程优化。在设计阶段, 数据库系统应遵循规范化的要求, 注重语句的书写规范, 避免因语句的大小写、输入错误等影响数据库的查询。避免大量的使用SELECT语句, 通过SELECT语句对数据进行数据查询是程序编写中最常用的一种方法。但是, SELECT语句使用过多, 需要较长的时间从数据库系统中提取数据, 容易造成数据库系统运行缓慢。
(2) 索引优化。根据数据量决定哪些表需要增加索引, 数据量小的可以只有主键。根据使用的频率决定哪些列需要建立索引, 将经常作为连接条件、筛选条件、排序、经常使用在WHERE子句中的列作为索引侯选列;还可以把经常出现的列组合在一起, 组成复合索引, 在创建的时候注意重复率低的列放在前面。一个表中不要有太多的索引;如果表经常被用来做修改操作的或者定义为text、image和bit数据类型的列, 就不建议添加索引了。要注重对索引的维护, 周期性的重新组织或重新生成索引。如果不正确的使用索引, 不但不会提高查询效率, 反而会降低更新速度, 造成严重的问题。
(3) 数据库对象的存储。数据库对象存储也是有一定策略的。一般数据库对象应是均匀地把数据分布在系统磁盘中, 这样访问分散到不同的磁盘, 使用户数据尽可能跨越多个设备, 多个I/O运转, 避免I/O竞争, 克服访问上的瓶颈。同时, 分离系统数据库和应用数据库, 把系统审计表和临时表放在不忙的磁盘上, 把事务日志放在单独的磁盘上, 减少磁盘I/O的开销;把频繁访问的表放在不同的磁盘上;把频繁用的表、频繁做Join操作的表分别放在不同的磁盘上;甚至可以把频繁访问的表的列放在不同的磁盘上, 这样做可以把访问分散到不同的磁盘上, 避免I/O的争用问题。
2 查询优化策略
优化数据库系统查询功能, 可以让用户在短时间内寻找到所需要的数据, 提高效率。在一般情况下, 我们可以考虑以下几点来对查询进行优化:
(1) 不要写SELECT *的语句。当我们想要列出表中所有的信息时, 这是一个简便的方法, 但是数据库在解析的时候会将”*”转换成所有的列名, 这意味着将耗费更多的时间。所以要在查询中选择需要的列。
(2) 应避免在WHERE中进行数据的计算, 若计算的数据过多、过大, 容易造成数据库系统索引失效而进行全表扫描, 进而影响数据库系统运行效率。另外, 应多使用AND连接, 减少长字符串连接或OR连接的使用。
(3) 当采用谓词LIKE作查询时, 如果以”_”或”%”等通配符作为条件的开始就会导致SQL Server无法使用索引而影响查询效率。如:SELECT Student Name FROM Student WHEREStudent Name LIKE“_海”, 在使用的时候尽可能避免这种语句的出现。
(4) 避免使用子查询语句。当一个查询中使用了子查询, 查询速度难免就会受到影响。查询嵌套的层次越多, 查询的效率就越差。
(5) 查询中避免使用”!=”、”not exist”和”not in”等, 这些查询的效率极低, 不但需要花费大量的时间, 而且会耗费相当大的系统资源, 甚至会造成其它进程的阻塞。在实际应用中, 尽可能用其它替代。
(6) IS NULL或IS NOT NULL操作的限量使用。这是因为不能用null作索引, 任何包含null值的列都将不会被包含在索引中。即使索引有多列的情况下, 只要这些列中有一列含有null, 该列就会从索引中排除。这也就是说如果某列存在空值, 即使对该列建索引也不会提高性能。
(7) DELETE语句的优化。在一般的删除操作中我们都使用DELETE语句。对于小数量的使用该语句没有任何问题, 但是一些大的数据表来说, DELETE就会产生一定的影响, 它是一种事物性操作, 会将操作记录到SQL的事务日志中, 这样不但增加时间, 而且由于频繁的写入, 会导致Log文件过大, 过于消耗磁盘空间。在这种情况下, 可以考虑使用TRUNCATE来代替DELETE, 这样既不会写入事务日志, 执行速度较快。
除此之外, 对于SQL Server数据库查询优化, 还可以采用SQL Server数据库本身自带的一些数据库管理工具, 熟练运用这些工具能够提高优化工作的效率。如在SQL Server2008中, SQLServer Profiler和数据库引擎优化顾问是比较常用的两个工具。
3 存储过程的优化策略
存储过程是由一些SQL语句和控制语句组成的被封闭起来的过程, 它驻留在数据库中, 可以被客户应用程序调用, 也可以从另一个过程或触发器调用。使用存储过程的好处在于可以减少网络通信量;提供单点维护;抽象化业务规则;增强安全性;能支持执行计划重复使用等。在环境允许的情况下, 将易于变化的业务规则;需要集中管理和控制的逻辑与运算处理;需要对基本表的数据进行较复杂的逻辑处理才能返回所需的结果数据集等这样的一些操作可以考虑放入存储过程中完成。但在使用的过程中要注意:
(1) 使用SETNOCOUNT ON。在默认情况下, 存储过程将返回过程中每个语句影响的行数。如果不需要在应用程序中使用该信息, 那么就在存储过程中使用SET NOCOUNT ON语句以终止行数的统计。尽管这不是一个大的问题, 但它可以为高流量应用程序的性能产生负面影响。
(2) 尽量使用OUTPUT参数。通过使用OUTPUT参数返回标量数据, 可以略微提高速度并节省少量的处理功率。
(3) 提供返回值。将一组返回值及其含义标准化, 并一致地使用这些状态信息返回给进行调用的应用程序, 这会使得处理调用应用程序中的错误更加容易。
(4) DDL和DML语句混合使用中的问题。在DDL和DML语句混合使用的时候, 将DML语句放在DDL语句之后执行, SQL Server将重新编译存储过程, 这是由于为了给DML创建计划, SQL Server需要考虑由DDL对该对象所作的更改, 强制存储过程多次进行重新编译, 对性能造成负面影响。
在SQL Server数据库被普及的今天, 人们对保障数据库运行的高效性、安全性的需求日益加大, 对其进行合理的设计和优化, 已显得尤为重要。本文中所提到的一些策略, 只是简单阐述了数据库性能优化的一些原则和方法。实际上, 影响数据库系统性能的因素还有很多, 这就需要数据库的设计师和管理员不断的进行探索、改进。
参考文献
[1]马力.SQL Server数据库性能优化研究[J].国际IT传媒品牌, 2013.11 (7) :146-148.
[2]罗云.SQL Server数据库查询语句优化的研究[J].信息通信, 2014, 4.
[3]李红丽.SQL Server数据库的查询优化探析[J[.长春教育学院学报, 2014.4 (7) .
性能优化策略 篇7
关键词:数控机床,结构特征,性能优化
0 引言
数控机床技术首次出现于20世纪五六十年代, 它的出现加速了机械制造业的发展, 并大大提升了社会总体生产效率。在经济快速发展的趋势下, 机械制造领域所生产的产品种类越来越丰富、产品功能越来越多样化, 这也给数控机床的功能性和结构性有了更严格、更高端的要求, 人们迫切需要一种集高速化、智能化、复合化、高精度化、网络化为一体的数控机床[1]。随着科学技术的不断发展进步, 使数控机床的多功能性成为可能, 从而也扩大数控机床在工业领域的应用范围。本文主要针对当前的数控机床的结构特征进行分析, 并提出优化数控机床性能的策略。
1 数控机床概述
数控机床是一种装载数字控制程序的机电一体化产品, 它通过控制系统编辑、处理控制编码以及各种符号指令, 将编码用数字的形式代替, 再通过信息处理设备输入数控装置, 并在数控装置的运算和处理后对机床的各个子部件发送控制信号, 指导整个机床的运作, 并根据要求和尺寸自动将零件加工出来。数控机床能够有效完成一些品种多样、结构紧密复杂、小批量、频繁改型、生产周期短的零件加工问题。数控机床主要由加工程序载体、数据控制装置、机床主体以及其他辅助功能设备组成。数控机床综合运用了计算机技术、微电子技术、测量技术、电气自动化技术、传感器技术等最新技术成果, 在机械制造和加工领域应用广泛。数控机床是由美国著名发明家约翰?帕森斯于20世纪中叶发明的, 在计算机技术和电子通信技术的推动下, 数控机床逐渐进入数字化智能控制时代[2]。数控技术是衡量机械制造生产水平的重要标准, 同时也是衡量国家生产水平和综合国力的标准, 数控技术逐渐渗透到国民经济的各个领域。因此, 数控机床具有广阔的发展前景和巨大的社会经济效益。
2 数控技术发展方向
2.1 全方位智能化
随着计算机技术和人工智能技术的不断发展, 人们对数控机床中程序自动化、控制智能化有了更高的要求。具体表现在以下两个方面。
第一, 加工过程控制智能化。数控机床通过实时监测加工系统中的主轴、进给电机功率、电流、电压等信息, 再通过智能算法识别刀具的受力、磨损状况以及机床运行的稳定性, 从而及时调整加工过程中的各项参数。
第二, 故障智能诊断和修复[3]。数控机床能够根据以往的故障信息, 智能化地推断故障发生原因及发生部位, 并仿真事故发生的过程, 从而找出修复故障的方法。
2.2 配件高精度化
为了提高数控机床运行的稳定性和精确性, 机床的各类配件的选择上遵循“高科技化、高精确化”原则, 转变以往的以几何精度为主的观念, 数控机床的精度要求逐渐扩展到运行、热变形、抗振等方面。以CNC系统控制精度为例, 数控机床的精度控制采用当前最先进的高速差补技术, 通过微小数控程序实现控制, 逐步细化CNC控制单元, 并采用高分辨率的传感器装置, 提升位置检测和元件测量的精度。此外流行于国际上的网格解码检查技术在提升数控机床加工中心的运行轨迹精度方面具有显著效果, 它通过三维仿真预测数控机床的加工精度, 帮助数控机床在不同加工条件下实现不同规格、不同类别的加工任务[4]。
2.3 功能复合人性化
功能复合人性化是今后数控机床未来发展的趋势, 同时也是实现人性化操作的主要体现。功能复合化数控机床是指在一台机床上能够实现多种程序、多重要素的加工, 能够实现从原料到成品的多元素加工。根据数控机床的功能复合化的实现形式可以分为工序复合型以及工艺复合型。前者是将生产工序整合在一台机床上, 比如双主轴车削中心;后者是将产品生产的各个工艺技术整合在一台机床上, 比如铣镗钻车复合———复合加工中心。功能复合化的数控机床能够大大减少零部件的装载卸载程序、缩短更换或调整刀具的时间, 从而减少这些过程中产生的误差, 有效提升了加工精度, 也成功缩减了产品生产周期。功能复合化的数控机床能够减少人工操作的工序, 解放劳动力, 提高生产效率, 因此功能复合化的数控机床也是一种遵循“人性化”的发展方向。
2.4 运行高速化
现在的数控机床运用了伺服传动系统以及无级变速主轴, 大大提升了数控机床各个部件的自动化水平, 提升了数控机床在运行过程中的传动性能。通过缩短传输链来达到简化数控机床结构的目的。由于数控机床是通过加工程序载体以及数控装置发送数据代码指令的, 因此在数据传输和处理的速度、刀具运动速度、主轴转速以及其他辅助装置的配合速度方面必须实现全方位的并联和贯通。而伺服传动系统是一种自动化服务系统, 能根据数控装置给出的具体指令控制完成各项辅助服务, 能够调整主轴转动结构, 实现主轴自主变速运动。数控机床的全面自动化还体现在结构布局方面, 进给变速箱和主轴箱的整体结构较为简单, 减少了连接轴承和齿轮的数量, 缩短了电动机与主轴、滚珠丝杠的连接距离, 从而提升了机械运行的速度。
2.5 驱动并联化
驱动并联化是指在数控机床的主轴与机座之间配置多杆并联联接机, 数控装置只要控制中间杆系中杆的长度来实现整个平台的自由运行。并联运动机解决了以往机床串联移动部件质量大的问题, 同时提高了系统的刚度、扩大了刀具运动导轨的进给范围, 提升了整个机床的作业自由度, 增加了加工设备的灵活性和机动性。并联式驱动机的运用, 使数控机床更能满足多种型号、种类复杂的零件加工要求, 且并联机自身智能化程度高、运行速率快, 成为提升数控机床整体生产加工速度的新型结构。而在国际数控机床的生产制造领域, 并联机驱动设备是提升数控机床性能的关键技术, 同时也是数控研究行业的重点研究方向, 未来的数控机床中的并联机驱动装置的更新进步将是一大发展趋势。
2.6 信息互动网络化
在计算机网络和通信技术高速发达的时代, 实现数控机床的双向、高速的联网通讯功能是未来数控机床的发展方向。数控机床实现信息互动的网络化能够让各项信息在制造业各个部门、各个车间之间流通, 而通过网络的数据上传和数据共享功能, 又能够对数控机床的加工运行过程进行远程控制和在线监督, 同时实现数字化操控, 能够有效完成对数控机床的远程故障诊断和故障修复工作。比如我国新一代的数控加工中心配置了一个信息塔, 它的主要构件是摄像头、计算机、手机等, 与互联网联接, 能够在线传输声音、图片、视频、文字等信息。
3 数控机床的性能优化策略
3.1 科学布局机械各机构
要提升数控机床的整体性能必须要从机床的各个部件的配置和布局方面着手, 合理布局各个子系统和零部件, 尽量简化机械的结构, 加强数控机床布局的合理控制, 从而提高整个机床的刚性度, 提升机床运行的受力水平, 维护机床的热稳定系统, 最终 (下转第91页) (上接第70页) 实现数控机床的科学管理。
3.2 提高各零部件的刚度和韧性
数控机床的的零部件刚度关系到整个机床运行的速率以及安全可靠性, 而零部件的刚度是由零件的自身质量、固有频率以及阻尼等相关参数决定。要想提升各个零部件的刚度和韧性, 可以从以下几个方面着手:第一, 科学合理地布局机床内部各个零部件的结构, 尽量减少零部件因负载过度而引起弯曲或扭转问题;第二, 零部件截面体现高度科学性, 筋板放置位置要合理, 并选择性能佳的焊接部件;第三, 合理连接各个零部件, 缩短传送链的长度, 提升机械运行的速度。
3.3 避免热变形产生
像一些低能耗的运行配件 (主轴电动机、变量泵等) 可以减少其热量的产生, 同时一些高能耗的运行配件 (传动齿轮、传送链、传动轴) 可尽量减少, 减少摩擦后热量自然降低。此外对一些易于发热的部件可以进行适当的冷却处理, 加快部件的散热, 从而避免热变形的产生。
3.4 提高机械的抗振性能
数控机床中高速旋转控件不在少数, 然而这些旋转部件在运行过程中会产生较大的振动, 这严重影响整个机床的运行效率, 还增加了机床的噪音。为了减少旋转部件的振动, 可以采用平衡处理法提升旋转部件的抗振性能, 通过减少传动部件之间的空隙, 削弱机床运行的应激振动力, 然后将机床的各个旋转部件的运行频率控制在一定的频率, 提升部件的静态刚度。此外提升机械的抗振性能可以通过在机床各个部件中添加阻尼材料, 削弱振动力量。
4 结束语
总而言之, 在社会经济和科学技术飞速发展的前提下, 数控机床已经逐渐实现全方位自动化、配件高精度化、功能复合化、运行高速化、驱动并联化以及信息互动网络化。中国在进入改革开放时代以后, 机械制造业发展迅猛, 但是难以改变以劳动力、资源、价格等为主市场竞争力的局面, 在产品技术方面缺乏自主开发和自主创新的能力。数控机床作为衡量制造业生产水平的市场竞争力的关键评估标准, 其重要性不言而喻。我国要想转变生产制造业发展方式, 必须要从革新数控机床着手, 早日实现数控机床从低端到高端、从初级产品制造到高级产品制造的转变, 不断提高数控机床产品的性能, 从而为促进我国制造业发展奠定坚实的技术基础。
参考文献
[1]王叔平.浅谈数控机床的结构特征与性能提高策略[J].科技向导, 2012 (26) .
[2]徐敬华.基于多域互用的数控机床模块化配置设计[J].机械工程学报, 2011 (17) .
[3]王丽.有限元分析法在数控机床结构设计分析中的应用[J].科技信息, 2011 (29) .
性能优化策略 篇8
随着Internet技术的高速发展和应用,政府、企业等需要存储的数据量呈指数级的增长。虽然计算、传输和存储三大IT基础设施都得到了飞速的发展,但是相对于计算(数据处理)和传输而言,存储技术相对发展缓慢。这主要是由于在I/O子系统方面缺乏相应的提高,导致I/O成为了存储系统的主要瓶颈。分布式文件系统由于能有效解决分布式存储系统的海量数据存储和I/O瓶颈问题,成为前存储工业界和学术界的研究热点。分布式文件系统如Lustre[1],GFS[2],具有高可靠性,高可用性和可扩展性等特点,能够提供高聚合I/O带宽,支持大量的客户端和PB级的数据量。分布式文件系统是构建分布式存储系统的底层存储子系统,它存储和管理分布式的海量数据。与传统大规模计算类似,I/O性能的优化仍然是分布式系统性能研究的一个挑战,如何减轻I/O性能瓶颈,提高I/O性能是提高整个系统性能的关键。
Hadoop是一个开源的,对大量数据进行分布式处理的软件框架,提供一种可靠、高效、可伸缩的方式进行大规模海量数据处理[3]。Hadoop框架包括两个核心组件:HDFS文件系统和Map Reduce计算模型。HDFS文件系统(Hadoop Distributed File System)为分布式计算存储提供了底层支持。Map Reduce计算模型用于进行大规模海量数据量的计算。HDFS将元数据和应用程序数据分开存储,将元数据存储在Namenode上,将应用程序存储在Datanode上,所有的服务器通过TCP网络互联在一起。目前,Hadoop已成为工业界和学术界进行云计算应用和研究的标准平台。Hadoop现在已经广泛应用于包括Face Book、Twitter、Yahoo!等公司。
分布式文件系统的I/O研究和性能优化是一个极具挑战性和研究价值的工作。本文将Hadoop框架为基础,研究HDFS文件系统的I/O性能问题。针对HDFS写操作性能上的不足,提出基于并发策略的性能优化方案。通过牺牲数据的冗余信息,采取并发的数据访问机制,优化数据的访问性能,提高系统的执行效率。
1 HDFS的I/O特征及问题分析
HDFS采用Master/Slave架构,HDFS集群由一个Namenode节点、若干个Datanode节点和Client组成。节点和Client之间通信建立在TCP/IP基础上。Namenode是中心服务器,负责管理文件系统的名字空间,以及客户端对文件的访问,确定数据块到具体Datanode节点的映射。Datanode负责管理数据块在节点上的存储和处理文件系统客户端的读写请求。一个文件通常被分为一个或多个数据块,这些块存储在一组Datanode上[4]。
由于读/写数据操作在分布式文件系统设计中十分重要,分析HDFS读/写操作的设计特点,有助于理解HDFS的I/O性能特征。HDFS写数据块(Packet)主要包括两个关键步骤:(1)通过Socket发送Packet数据包到第一个Datanode,第一个Datanode将Packet数据包写入本地磁盘。在写入Packet后,然后再将Packet发送到第二个Datanode上,第二个Datanode再将Packet写入本地磁盘,然后再继续发送Packet,依此类推,直到最后一个Datanode写入Packet。此步骤对应图2中的”4:写”。(2)当最后一个Datanode写入Packet后,再向上一层的Datanode发送Ack,直到第一个Datanode将Ack发送到Client,此步骤对应图2中的”5:Ack”。
文献[5]对比研究了HDFS和Lustre文件系统的性能,指出HDFS文件系统的写操作性能存在不足。事实上,HDFS写操作性能较低的主要原因和HDFS的写操作流程相关。从上述分析可知,HDFS处理数据块的方式被分为两个部分,一部分是在数据通道上通过Socket来发送数据,另一部分是把网络数据包中的数据写入本地的磁盘。而这两个部分被串行化地实现,即每次处理数据包都会把它先转给下一个数据节点,然后再写入本地磁盘。这样显然会使数据节点在处理数据包的效率下降,因为它总是需要等待数据被写入本地磁盘,才能读取下一个网络数据包,并进行处理,从而导致了HDFS写操作执行效率的下降。
2 基于并发策略的优化方案
从上述分析可知,HDFS在执行写数据操作时,将磁盘写Packet数据包操作和通过网络传送Packet数据操作串行处理,并且将Datanode发送Ack的操作串行处理,从而影响了系统的写性能。为了解决该问题,提高HDFS文件系统写数据的性能,本文设计了一种基于并发策略的数据处理模式,优化HDFS的写操作性能。改进后的HDFS文件系统写流程如图1所示。
从图1可知,改进后的写流程主要思想是:将磁盘写Packet操作和通过网络传送Packet操作并发处理,同时将Datanode发送Ack的操作也并发处理,将磁盘写操作和网络数据流分开处理。改进后的HDFS写数据示意图,如图2所示。
从图2可知,Datanode从Client接收到Packet数据包后,可以直接将数据包发送到下层的Datanode,而不需要等待Datanode将数据包写入磁盘。同时Datanode收到数据包后,将数据包的写入操作交给Disk Op Module模块,完成磁盘数据的写入。通过创建一个数据包队列(Queue)来缓存网络上的Packet数据包,减少网络数据包达到的速度和磁盘处理的速率不匹配的问题,提高Datanode处理数据效率。同时Datanode在写入数据包便可以异步的发送Ack,而不需等待最后一个Datanode写数据操作的完成,节省了大量的时间。
由于将磁盘写操作和传送数据包操作并发处理,并将发送Ack的操作并发处理,基于并发策略的数据处理模式可以不用等待数据写入磁盘就可以去处理下一个数据包,加快了Datanode处理数据流的速度,提高了系统的运行效率。
3 实验验证
为了验证改进后的HDFS文件系统写操作性能,设计了实验方案进行验证。实验环境配置如下:Hadoop 0.20.1,Cent OS 5,1x Namenode节点,5x Datanode节点,千兆TCP/IP以太网,IOzone Benchmark工具[6]。其中每个节点:6x 6 Core Intel Xeon CPU,48GB内存,1TB SATA磁盘。请求记录大小设置为64KB,Datanode数量设置为5。在实验中,测试存储(写操作)不同大小的数据文件情况下,原HDFS(HDFS0)和改进的HDFS(HDFS1)的性能表现。写操作性能测试指向HDFS文件系统写入新文件的性能。性能评价指标选用延迟(Latency)和吞吐量(Throughput)。详细的实验结果,如图5所示。
从图3可知,改进的HDFS(HDFS1)比原HDFS(HDFS0)的延迟要小,并且随着文件大小的增加,两者之间的延迟差呈现增加的趋势。从而说明改进的HDFS在处理大量数据上有一定的优势,有较好的可扩展性。同时,在写操作性能方面,改进的HDFS(HDFS1)也较原HDFS(HDFS0)的吞吐量要高,性能要好,从而说明基于并发策略的性能优化方案,能有效提高写操作的性能。分析可知,改进的HDFS(HDFS1)在写操作延迟和吞吐量两方面的性能均优于原HDFS(HDFS0)。改进的HDFS文件系统具有较好的海量数据的处理能力,和较好的可扩展性。
4 结束语
分布式文件系统具有高可靠性,高可用性,高I/O带宽和海量存储容量等特点,被认为是管理和访问海量数据的有效方式。本文以Hadoop为研究背景,分析了HDFS的I/O特点,并针对HDFS写操作性能的不足,提出基于并发策略的性能优化方案。将磁盘写操作和传送数据包操作并发处理,并将发送Ack的操作并发处理,不用等待数据写入磁盘就可以去处理下一个数据包,从而提高了数据处理速度和系统的运行效率。实验结果表明该改进方案能有效减少系统延迟,提高系统的吞吐量。为分布式文件系统I/O研究,提供重要的参考价值。
参考文献
[1]Corp.Lustre File System[EB/OL].http://wiki.lustre.org/index.php/Main_Page.
[2]Ghemawat S,Gobioff H,Leung S.The Google FileSystem[C]//the ACM Symposium on Operating SystemsPrinciples,Lake George:Association for Computing Machinery,2003:29-43.
[3]Apache Software Foundation.Apache Hadoop Project[EB/OL].http://hadoop.apache.org/.
[4]Konstantin S,Hairong K,Sanjay R,et al.The HadoopDistributed File System[C]//the 2010 IEEE 26th Symposiumon Mass Storage Systems and Technologies(MSST),LakeTahoe:IEEE Computer Society,2010:1-10.
[5]董守斌,赵铁柱.面向搜索引擎的分布式文件系统性能分析[J].华南理工大学学报(自然版),2011,39(4):7-14.
性能优化策略 篇9
1. 数据库应用系统的性能介绍
Oracle数据库应用系统是专门用于处理指定工作的应用系统,其处理的效率特别高。目前所使用的应用系统问题主要来源于设计阶段的缺陷,包括操作系统的缺陷、数据库硬件设施的缺陷、程序的缺陷、内存的缺陷、服务器的缺陷等等。要想解决这些问题,首先就得对数据库应用系统的性能有所了解。目前数据库应用系统的主要性能指标有以下几个:
1.1 传输效率
传输效率是指数据库应用系统在一定时间内可以传输的数据总量,是数据库应用系统数据处理速度的一种体现形式。目前,提高数据库应用系统传输效率的方法有两种,一是提高数据库应用系统的反应速度,减少访问等待的时间,进而加快数据库应用系统处理数据的速度;二是减少数据库应用系统单次服务的时间,在同等的资源分配情况下处理更多数据,提高数据库应用系统的运行效率。
1.2 缓冲区命中率
用户在使用数据库应用系统时,如果需要从中提取数据,所提取数据会先到达缓冲区域,经过高速缓冲以后,再以详细数据的形式表现出来。而缓冲区的命中率就是数据库应用系统的一项重要性能指标,其可以用来测试内存的性能是否满足用户对系统数据处理速度的要求,具体计算方式为:缓冲区域内的命中数除以所反映出来的数据总数,得到的百分比即为缓冲区的命中率。从缓冲区提取数据的速度比从数据库内直接提取的速度更快,而且消耗的内存更少,所以缓冲区的命中率一般比较高。
1.3 信息反馈时间
信息反馈时间是指从用户提交访问请求到最后的信息反馈这个过程所花费的所有时间,也就是数据库应用系统处理数据信息所需要的总时间。信息反馈时间通常有两种,一种是访问等待的时间,还有一种是系统服务的时间,所以可以从这两方面来提高信息反馈的速度:一是缩短用于系统服务的总时长,进而提高数据库应用系统的数据信息传输效率;二是错开用户对资源的使用时间,尽量避免在同一时间内对同一资源的大量访问,缩短用户等待访问的时间[2]。
1.4 内存占用情况
内存可以分为永久内存、运行内存与共享内存三种,内存占用主要以这三种形式存在,所以可以通过对内存占用比例的调整,来合理分配内存,具体方法如下:
(1)对系统资源的争夺是引起响应时间延长的主要原因,所以要合理使用系统资源,降低争用率;
(2)合理分配系统资源,将主要内存分配到那些能够将内存利用率最大化的问题上,从而提高数据库应用系统的整体效益。
2. 数据库应用系统优化策略
近年来,我国对数据库应用系统的研究虽然取得了一定的成果,但是与发达国家相比,还存在着一定的差距,有许多明显的缺陷尚未解决。总而言之,我国的数据库应用系统研究还不够透彻,应用技术还不够成熟,所以急需相应的优化改良策略来提高我国的数据库应用水平。对此,本文提出了几点数据库应用系统的优化措施。
2.1 SQL语句优化
SQL语句是目前数据库应用系统当中一种最常用的查询语言,主要作用包括对数据的操作、数据的定义、数据的控制等等。SQL语句的优化是指在不影响数据库数据处理结果准确性的前提下,运用可识别的语句,再加上索引的作用,减少同类型的数据输入与输出的次数,将运行效率低下的语句去除,并用性能更加强大的SQL语句来代替。为了提高SQL优化语句的优化效果,还配套了相应的语句优化器和语句管理器,便于SQL优化语句的识别与管理。
2.2 内存优化
服务器内存的优化主要是对数据库应用系统的缓冲区域进行优化。扩展缓冲区域的容量,可以使缓冲区域在同一时间内存放更多的数据,处理量大大增加,为系统磁盘减轻了压力,从而提高了数据库应用系统处理数据的能力。而位于系统缓冲区域内的共享池则是用于保存近期所用的SQL语句。在使用这些SQL语句时,数据库可以自动对其进行保存,而后如果需要再次使用同样的语句,系统就可以跳过语句的识别这一步骤,省去了语句识别的时间,从而缩短了系统响应时间,提高数据库应用系统的运行效率[3]。
2.3 结构设计
目前的数据库应用系统有两种主要结构,一种是传统的客户服务体系结构,还有一种是数据库-网页-浏览器三者结合的体系结构,系统开发人员在进行数据库应用系统开发时,一定要将体系结构的选择考虑进来,选择不同的体系结构,数据库应用系统所表现出的性能也会大不相同。所以,在数据库应用系统设计初期就要投入大量的实验数据对系统性能进行测试,以便尽早将问题处理妥善。
3. 结束语
数据库应用系统的结构相对复杂,性能分析具有一定难度,所以需要从中提取几项关键的性能进行分析,比如传输效率、缓冲区命中率等等。在了解数据库应用系统的各项性能以后,就可以采取一些优化策略对数据库应用系统进行改进,从而达到提高数据库应用系统运行效率和运行质量的目的。
参考文献
[1]王春梅,陈学明.基于Oracle数据库电信CRM经营分析系统的性能优化[J].计算机与数字工程,2015,v.43;No.30503:418-422.
[2]马铁冬,金轴.数据库应用系统性能设计优化策略[J].安徽工程科技学院学报(自然科学版),2010,v.25;No.73 02:84-87.
Linux实时性能分析与优化 篇10
关键字:Linux;RTAI;负载均衡调度算法
中图分类号:TP316文献标识码:A文章编号:1007-9599 (2011) 06-0000-01
Linux's Real-time Performance Analysis and Optimization
Huang Chengmao,Liu Xianqiang
(School of Optoelectronic Information,University of Electronic Science&Technology,Chengdu610054,China)
Abstract:Linux is a time-sharing operating system,its real-time performance is not perfect.We can reconstruct the Linux to meet real-time needs.This paper studies the defects of real-time applications which based on linux kernel 2.6.29,and presented the mothod to imporve the real-time performence in two ways.
Keywords:Linux;RTAI;Load balancing scheduling algorithm
Linux是一个分时操作系统,对实时任务的响应时间存在很大的不确定性和不可预测性,若将其直接应用在实时性要求比较高的硬实时环境中,就必须对Linux内核做一些改进。
一、改善嵌入式Linux实时性能的方法
(一)本文首先要介绍一种基于ADEOS的RTAI改进方法
ADEOS(Adaptive Domain Environment for Operqating System)是在已有的操作系统下插入一层,通过向上层的多个操作系统提供一些原语和机制,从而实现硬件共享。RTAI(Real-Time Application Interface)是面向模块的,利用Linux提供的内核机制完成实时任务和提供实时服务
1.基于ADEOS的RTAI-Linux的构建,它主要包括下面几个步骤
(1)获得标准Linux内核源码和RTAI触源代码;在本文中我们用到是Linux-2.6.29内核版本。
(2)将标准Linux-2.6.29内核源代码打上ADEOS和RTAI补丁。具体的操作如下:
#cd/usr/src/linux-2.6.29 /*首先进入到保存了内核代码的目录中*/
#path-pl -b<../rtai -3.5/base/arch/pathes/hal-linux-2.6.29-i386-1.7-01.patch
(3)进入Linux内核目录,进行内核配置与内核编译、接着要安装编译好的模块,最后还要进行内核配置,把支持ADEOS和RTAI的选项编译进内核。
(4)运行RTAI实时内核,我们只需要将已经编译好的各个模块安装到系统中即可。加载已经编译好的模块操作如下:
# cd /usr/realtime/modules /*进入到modules的目录中*/
#insmodrtai_fifos.ko /*加载编译好的rtai_fifos.ko模块*/
#insmodrtai_kshed.ko /*加载编译好的rtai_fifos.ko模块*/
#insmodrtai_hal.ko /*加载编译好的rtai_hal.ko模块*/
2.基于ADEOS的RTAI-Linux的实时性能测试
测试平台:Intel P4 1.8GHz、内存512M;内核Linux-2.6.29+RTAI3.5;测试过程:对内核空间进行2个小时周期为10000ns的响应测试;测试结果如表1所示。
其中,AD_MAX表示从开始测试到当前响应提前的最长时间;DE_MAX表示从开始测试到当前响应延时的最长时间;OVER表示响应大于10000nS的次数。从表1可见,RTAI内的最大提前为229ns,响应的最大延时为4000ns,可见RTAI的响应时间可达到几us以内,可以很好的满足实时性能的需求。
(二)运用负载均衡调度算法
系统在执行的过程中,虽然所有的嵌入式应用都要求有实时性的要求,但是并不意味着所有的应用都一定具有实时性。在实时任务里,先将硬实时任务、软实时任务和非实时任务区分开来,从而采用不同的调度策略来满足硬实时任务的时限要求。所以便有了另一种比较实用的方法来改善系统实时性能,即:负载均衡调度算法。通过运用负载均衡调度算法实验测试的结果如表2所示。A[5],A[50],A[300]分别表示客户端发出5个,50个以及300个HTTP请求。T1为未使用负载均衡调度算法的平均响应时间,T2为使用负载均衡调度算法的平均响应时间。
由表2可见,负载均衡调度算法起了很大的作用,并且有效的提高了系统的实时性能。
二、结束语
本文对嵌入式Linux的实时性作了一些探讨,并且着重在提高嵌入式Linux的实时性能方面提出了两种解决方法。相信随着实时性能饿不断完善,Linux会得到越来越广泛的应用。
参考文献:
[1]刘松林.在嵌入式应用中增强Linux实时性的方法研究[J].咸宁学院学报,2004,24,6
[2]白小明,邱桃荣.Linux的嵌入式实时操作系统的研究[J].微计算机信息,2006,2:78-80
[3]毛得操,胡希明.Linux内核源代码情景分析[M].杭州:江大学出版社,2001
[作者简介]黄成茂(1986-),湖南常德人,在读硕士研究生,专业:电路与系统,研究方向:嵌入式系统;刘显强(1986-),四川泸州人,在读硕士研究生,专业:电路与系统,研究方向:嵌入式系统。
相关文章:
网络性能分析及优化02-17
怎样提高种猪繁殖性能02-17
网站前端性能优化总结02-17
心得总结:Java性能优化技巧02-17
浅谈如何提高混凝土的抗冻性能02-17
电化学性能优化02-17
c语言程序分类总结02-17
性能优化技术02-17
性能优化方法02-17