加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

项目优化

发布时间:2020-12-17 01:01:16 所属栏目:安全 来源:网络整理
导读:1.程序级别 ? 码工级别 :在编写程序时注重一些细节,如 ??? (1)对不用的对象及早赋NULL值,以加快GC的回收速度,释放内存 ??? (2)如生成容器类时,如果new时就能预测到容器容量,则一般直接设置容器类的容量大小,以避免后来使用时的不断扩容 ??? (3)在全文
1.程序级别

? 码工级别:在编写程序时注重一些细节,如

??? (1)对不用的对象及早赋NULL值,以加快GC的回收速度,释放内存

??? (2)如生成容器类时,如果new时就能预测到容器容量,则一般直接设置容器类的容量大小,以避免后来使用时的不断扩容

??? (3)在全文检索时Field,Document使用一个对象而内部的值通过set方式设置而避免new大量的对象

??? (4)再如statement和preparestatement以及批处理等

??? (5)局部变量的作用范围尽可能小,循环块的优化等等

? 设计级别:

?? (1)如对无状态的对象使用池化的思想

?? (2)使用多线程的理念

?? (3)异步设计的思路:在互联网的MVC设计时方式,为了加快页面的影响速度,往往把MVC做成简单地增删改查,而把复杂的业务逻辑交由后台的任务去处理,比如彩票追号系统中收到中彩网的期中奖信息后,会存储到库表中,用户通过页面往往无法立即获取中奖金额等等,这些信息往往通过后台程序汇总之后插入表对应字段后,用户搜索时才能直接显示信息,再比如51job上申请一份工作后会有这份工作的竞争图表统计信息,用户进入页面时往往不显示这个图表,当点击link时才会到后台取数据汇总,甚至此时也不汇总,而直接交给后台work一天0时汇总一次。

?? (4)为了增加用户的响应速度,在设计数据库表时,往往增加一些冗余字段,这些字段往往直接显示其它若干个字段的联合计算信息等等。

?? (5)使用缓存技术(如Memcached)加快访问速度同时也减少DB的访问压力。

? 系统级别:采用集群的方式,可以用应用服务器自带的集群,也可以用硬件集群技术F5,radware等。
2.通讯级别
? EJB(传字符串还是序列化对象),webservice(restful),MQ,ActiveQ,ICE等,在通讯层业务逻辑尽可能简单,如QDQF的系统设计。
3.DB级别
? (1)SQL语句级别:如in和exist等,同一个操作使用效率最高的操作SQL

? (2) 表级别:

??????? 索引的建立

??????? 表的分解(又包括数据库的逻辑分区(oracle),以及物理分表。如把一个全国表分成36张省级表)

? (3)DB:表空间,排序区设置以及一些优化策略

?????? 读写和查询操作的分离,如读写统一交给一个库来处理。查询交给另一个库来处理,同步由数据库来保证

? (4)对业务表的扫描转移到消息表的扫描,当消息表的扫描也无法支持时,可以考虑扫描动作交给NOSQL的数据库来处理。如任务处理引擎里就使用redis(缓存)和mongdb来处理消息任务。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读