垂直层(Tier)影响性能的因素

资源层
数据库性能
通常考虑以下方面的优化(MySQL为例):
--使用哪种存储引擎:MyISAM vs. InnoDB, MERGE, MEMORY, Federated, ARCHIVE
--使用分区机制
--建立必要的索引
--设置缓存
--调优服务器参数
Table_open_cache
max_connection
Open_files_limit
Thread_cache_size

客户端并发访问速度
受以下几个方面的影响
--事务
--锁与隔离级别
--并发用户数量
--缓存

网络速度
应用服务器与数据库服务器:同一台主机或者位于同一网段

业务层(含整合层)
层内数据与数据库的同步
同步机制大体分为两类:
--使用DAO封装JDBC代码
从性能角度考虑,应该使用连接池(javax.sql.DataSource)。
--使用O/R Mapping框架,如JPA, Hibernate等

业务层应用程序的性能
SLSB具有以下特征:
--池化管理
--复用
--极高性能
SFSB具有以下特征(可以设置高速缓存):
--及时创建
--与客户端一对一
--可升级能力远优于HttpSession

Forward cache机制--将频繁读取的数据缓存在业务层(EJB层)
Off-load shared resources--将频繁读取的数据存储在业务层的存储设备(硬盘)中。

与表示层数据交换的速度
考虑以下因素:
--网络通讯
--使用适合的模式,如传输对象模式(TO)、会话外观模式(SF)
--事务的延伸范围

表示层
Web应用程序的性能
应从以下方面考虑Web层的优化:
--使用Model 2架构
--如果存在业务层,应使用业务代理(BD)模式
--不应在HttpSession对象中保存大型对象
--避免从JSP页中转发(forward)请求
--缺省情况下不要在JSP页中创建HttpSession -- <%@ page session="false"%>
--避免过重使用逻辑标签(tag)
--合理设置HttpSession超时时间

客户端并发访问的速度
以下方面影响客户端并发访问的用户数量和速度(从服务器端看):
--主机的负载均衡(Load balance)
    Session粘着机制( Session affinity)
    Session Prefetch
    短路
--线程池的设置
--使用缓存
--限制并发请求数
--引入中间性的应答

网络速度
--页面的请求频率与数据量(请求延迟)将影响网络速度(从客户端看)。
--设计 UI 时的考虑 - 使用尽量少的页面,每个页面尽可能包含多的信息
--典型的数据量问题: 过多的页面内容,包括页面背景音乐、Flash动画等。
--对于数据量过大的远程请求,可以考虑使用数据压缩技术。
--典型的请求频率问题: 不当地使用AJAX技术,导致过多细粒度的请求。

客户层
客户端代码
--客户层性能与服务器端整体性能无直接关系
--但客户端性能影响用户体验
    考虑JavaScript代码的执行性能
    考虑JS框架的性能:jQuery vs. EXT JS.

网络带宽

水平层(Layer)影响性能的因素

硬件层
--主机的性能
--复制策略的使用

操作系统层
--OS的性能

中间件层
--JVM的性能
--应用程序服务器的性能

应用程序层
--程序的结构
--编码的质量

Java EE (11) - 影响性能的因素的更多相关文章

  1. 理解 OpenStack Swift (3):监控和一些影响性能的因素 [Monitoring and Performance]

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  2. Java SE和Java EE应用的性能调优

    凡事预则立,不预则废,和很多事情一样.Java性能调优的成功.离不开行动计划.方法或策略以及特定的领域背景知识.为了在Java性能调优工作中有所成就.你得超越"花似雾中看"的状态, ...

  3. redis性能测试以及影响性能的因素

    redis-benchmark测试工具的命令使使用方法及参数如下:redis-benchmark [-h <host>] [-p <port>] [-c <clients ...

  4. mysql中影响数据库性能的因素讲解

    mysql中影响数据库性能的因素讲解 在本篇文章中我们给大家讲述了mysql中影响性能的因素以及相关知识点内容,有兴趣的朋友参考下 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情,“你对数据 ...

  5. 从系统的角度分析影响程序执行性能的因素——SA20225205 黄兴宇

    实验总结分析报告:从系统的角度分析影响程序执行性能的因素 1.请您根据本课程所学内容总结梳理出一个精简的Linux系统概念模型,最大程度统摄整顿本课程及相关的知识信息,模型应该是逻辑上可以运转的.自洽 ...

  6. 影响Java EE性能的十大问题(转)

    本文作者是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE.中间件和JVM技术.他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一下常见的10个影响Java EE性能问题 ...

  7. 流言粉碎机:JAVA使用 try catch 会严重影响性能

    目录 一.JVM 异常处理逻辑 二.关于JVM的编译优化 1. 分层编译 2. 即时编译器 1. 解释模式 2. 编译模式 3. 提前编译器:jaotc 三.关于测试的约束 执行用时统计 编译器优化的 ...

  8. 影响mysql性能的因素

    一.服务器硬件. CPU不够快,内存不够多,磁盘IO太慢. 对于计算密集型的应用,CPU越可能去影响系统的性能,此时,CPU和内存将越成为系统的瓶颈. 当热数据大小远远超过系统可用内存大小时,IO资源 ...

  9. Java 中的 try catch 影响性能吗?

    前几天在 code review 时发现有一段代码中存在滥用try catch的现象.其实这种行为我们也许都经历过,刚参加工作想尽量避免出现崩溃问题,因此在很多地方都想着 try catch一下. 但 ...

随机推荐

  1. Google Ads Encryption Key

    aes | floyd's Google Ads Encryption Key

  2. Bigcommerce:安装的出错解决方案

    我们在本地安装时报错了,具体如下: 1. The database details you entered are incorrect: You have an error in your SQL s ...

  3. WITH+HInt MATERIALIZE 不见得有效

    那个要多次调用才需要物化的. 只调用一次,物化没用 MATERIALIZE  语法:MATERIALIZE  描述:指示优化器将内联视图实体化————执行过程中会创建基于视图的临时表. with dd ...

  4. 【Demo 0005】Java基础-类继承性

    本章学习要点:       1.  了解Java继承特性;       2.  掌握继承实现方法;       3.  掌握override规则: 一.类继承特性       1.  继承定义:使用己 ...

  5. 使用BBED恢复数据文件头

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/31018075 @@@@@@@利用BBED模拟损坏5文件1号块(文件头) BBED> ...

  6. 使用Android简单实现有道电子词典

    前言: 毕业设计的内容,仅仅有Java基础.没学过Android. 本着用到什么学什么.花费了10多个晚上完毕毕业设计. 当然,仅仅是简单的实线了电子词典功能,自始至终没有考虑过性能等问题. 本电子词 ...

  7. 深入 CSocket 编程之阻塞和非阻塞模式

    有时,花上几个小时阅读.调试.跟踪优秀的源码程序,能够更快地掌握某些技术关键点和精髓.当然,前提是对这些技术大致上有一个了解. 我通过几个采用 CSocket 类编写并基于 Client/Server ...

  8. ORA-00376:file x cannot be read at this time

    之前出现过机房断电情况,重启数据库后发现出现ORA-00376的错误. 通过查询数据文件状态: SQL> select file_id,online_status from dba_data_f ...

  9. div仿checkbox表单样式美化及功能

    div仿checkbox表单样式美化及功能(checkbox的样式不好看)素材在底部: 效果图: window.css .bj { position: absolute; top: 0; left: ...

  10. 基于SIFT+Kmeans+LDA的图片分类器的实现

    原地址:http://www.cnblogs.com/freedomshe/archive/2012/04/24/2468747.html 题记:2012年4月1日回到家,南大计算机研究僧复试以后,等 ...