性能优化是Portal产品研发的一个重要课题。在jetspeed2.0中使用多线程异步处理,来提高性能。但由于Portal技术非常多的依赖于Web Service,而Web Service的网络开销是非常大的。如果每个request都进行网络通讯,无疑性能是很低的。Jetspeed2.0会花大量的时间为用户创建sessions。应当确保每次的点击不应是创建一个新的session。因此需要将一些经常反复使用的状态数据一直保存在内存中,在有效期内供客户端不断反复访问。cache是优化性能的必须选择,cache也是一个中大型系统必须选择的技术。cache是专门针对有状态数据的系统做的一种优化措施。
在jetspeed2.0中cache机制主要应用于文件操作上。因为jetspeed2.0使用门户结构标记语言(PSML)来定义在一个portal页面上如何将portlets进行整合、布局、装饰以及安全限制等。而这些定义是以xml形式存储在文件中的。如果每次都去读文件,性能将会很差。
主要的类有FileCache和FileCacheEntryImpl。FileCache中定义了一个HashMap来存储文档对象,以及扫描频率和存储的最大值(缺省是300秒和100)。FileCacheEntryImpl中保存的是需要被缓存的文档内容。HashMap以文件路径为key来对应相应的文档对象。更新机制是每隔一段时间(300秒)检查一次,如果文件比cache中的新就重新加载,如果cache中的个数大于存储的最大值(100个)就将最先的几个删除,保证cache中存储着100个最新的文档对象。
使用HashMap保存对象是实现cache的最基本思路,但是这只能实现单机系统的缓冲机制,一旦Portal的数据量级达到一定的程度就必须实现多台服务器的"集群"Caching机制。目前在jetspeed2.0中没有看到相关的文档介绍和具体实现方式。通过对另一个开源Portal产品liferay的研究,介绍一种利用EJB实现分布式cache简单实用的实现。
为了达到分布式cache目的,多态Server能共享同样的cache,liferay使用了数据库来持久化这些cache,使用集中式的数据库可以让多态服务器来共享这些被cache的对象。Cache中有两个字段:ID和String型的text,后者是将对象序列化以String方式保存在数据库中。整个Cache机制有三层,第一层WebCachePool是离应用请求最近的;当超过更新期间后,第一层将从第二层CachePool获取,如果第二层没有,将从数据库中获取,如果数据库没有或过期,则启动这个被Cache的对象的某个方法,让其从远程通过网络获取新值。这种机制是利用内存中的对象来代替远程对象,因此它是一种Proxy模式。
分享到:
相关推荐
SAP Portal 7.3 性能优化 Performance Tuning
公司 Portal 可让电子商务迅速利用其电子和人力资源,同时还能向其员工、合作伙伴和 客户提供最佳 Web 体验。因此,Portal 应用程序对业务而言越发重要,...Portal 应用程序性能管理和优化过程中涉及的一些复杂问题。
IBM Portal 调优IBM Portal 调优IBM Portal 调优IBM Portal 调优IBM Portal 调优
NULL 博文链接:https://bradoo.iteye.com/blog/341217
1.1.1 常规性能优化 ........................................................................................................................... 3 1.1.2 设置参数以便提高性能的策略 ........................
在 TIA Portal V12 中,为 S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB 块。那么,优化的 DB 块和标准 DB 块有什么区别呢? 数据管理 优化的 DB 块:数据管理取决于变量的声明。用户可以生成...
集成故障安全功能性,强大的Profinet通信,集成工业信息安全和优化的编程语言。编辑器以任务 为导向且操作直观,使得新软件产品易学易用。此外,产品对快速编程、调试、维修具有很强的 性能。产品在设计过程中特别...
下面是关于后台管理系统的多层次详细分析和功能:用户管理、内容管理、数据管理、系统设置、统计和报告、通知和消息、插件和扩展、性能优化、安全防护、用户反馈和支持、多语言支持 。 后台管理系统是一个用于管理和...
如何优化网站性能?Yahoo!的Exceptional Performance团队负责人Tenni Theurer在本课程中将为您详细介绍提高网页速度的各种方式,并演示部分开发工具。这些方式使得Yahoo!减少了25%-50%的响应时间,很有借鉴意义。更...
它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 最小化内部版本,文件名包含哈希值。 您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。npm run eject 注意:这是单向操作。 eject ,您...
该Portal技术红皮书详细介绍了Portal的架构设计、Portlet的开发和集成、安全机制和性能优化等方面的技术细节。 在Portal架构设计方面,该红皮书详细介绍了Portal的架构图,包括了Portal的整体架构、Portlet的架构、...
它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 最小化内部版本,文件名包含哈希值。 您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。 yarn eject 注意:这是单向操作。 eject ,...
它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 最小化构建,文件名包含哈希。 您的应用已准备好进行部署! 有关更多信息,请参见有关的部分。yarn eject 注意:这是单向操作。 eject ,您将无法...
它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 生成被最小化,并且文件名包括哈希值。 您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。 npm run eject 注意:这是单向操作。 ...
性能调优是指对数据库性能的优化,包括调整数据库参数、优化SQL语句、调整存储参数等。 六、备份和恢复 备份和恢复是指对数据库的备份和恢复,包括冷备份、热备份和incremental备份等。 七、网络管理 网络管理是指...
它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 生成被最小化,并且文件名包括哈希值。 您的应用已准备好进行部署! 有关更多信息,请参见关于的部分。 npm run eject 注意:这是单向操作。 ...
它在生产模式下正确地捆绑了 React 并优化了构建以获得最佳性能。 构建被缩小,文件名包括哈希值。 您的应用程序已准备好部署! 有关更多信息,请参阅有关的部分。npm run eject 注意:这是一种单向操作。 一旦...
TIA Portal V13 是 TIA Portal 的最新版本,具有强大的性能、自动系统诊断功能、集成故障安全功能性、强大的 Profinet 通信和工业信息安全等特点。 TIA Portal V13 的主要特点包括: 1. 支持全符号编程,可以自由...
解决这些问题需要了解 FusionAccess 的性能优化策略和优化工具。 五、FusionAccess 外设使用故障处理 FusionAccess 外设使用故障处理是指用户在使用 FusionAccess 桌面云时遇到的外设问题。这些问题可能是打印机...
处理这些故障需要管理员了解 FusionAccess 的性能体验优化技术和方法。 FusionAccess 外设使用故障处理 FusionAccess 外设使用故障处理是 FusionAccess 故障处理的重要组成部分。管理员需要了解 FusionAccess 的...