`

Endeca Performance

 
阅读更多

Some Tips for Configuring Endeca for Optimal Production Performance with ATG

Introduction

The following tips will ensure that you are achieving optimum performance from your production Oracle Commerce Endeca environment.

Main Article

Make sure Preview isn’t enabled in production

/dyn/admin/nucleus/atg/endeca/assembler/cartridge/manager/AssemblerSettings/ : Make sure previewEnabled = false

Setting this to true will return back too much merch rule data with the results. You can confirm this by looking at the Dgraph.reqlog, and looking for merchdebug=true in the queries.

Make sure you have the latest Assembler patches

Ensure that you have the following patches applied. (These are included in version 11 of Oracle Commerce, so no patching is required on that release.)

  • Patch 17342677 : This includes 2 fixes. First, it, reduces the number of supplemental objects that are returned with the queries, which helps performance. This is for ATG 10.1.2 and 10.2, but really it’s for Assembler 3.1.1 and 3.1.2.
  • Second, it fixes an XML Parser locking problem that can be seen during performance testing.
  • To verify that the patch was correctly installed, make sure the request logs start including the following with the requests: &merchrulefilter=endeca.internal.nonexistent

This patch should be considered critical and always applied.

Check the properties being returned by Endeca

In Assembler, you can select which properties are returned back with the search results.

If this is not configured, then all of the properties that are configured by Developer Studio will be returned (and this can be large).

If you have incorrectly spelled the names of properties, then an error message will be written to the Dgraph.log. This can cause a slight IO hit by the MDEX, and fill up that log very quickly.

This (by default) can be found at: /atg/endeca/assembler/cartridge/handler/config/ResultsListConfig.properties (by default, this is in /Store/Endeca/Assembler/config/config.jar)

Make sure your Assembler logging is configured correctly

Assembler will create an Endeca LogEntry for each page view and send that message to the Endeca logging server. This happens asynchronously, and the Endeca logging API will spawn a separate thread to handle the communication with the logging server.

If this is configured incorrectly, that separate thread will spawn, try, wait and fail to connect to the logging server. It will eventually go away, but they will build up in memory. If you are doing heap dumps and see problems for com.endeca.logging.LogEntry or LogConnection, this is probably the problem.

For Assembler, you would configure this as an assemblerEventListener on the NucleusAssemblerFactory configuration ( /atg/endeca/assembler/NucleusAssemblerFactory in /dyn/admin ).

Remove any comments from your Experience Manager cartridges and templates

In the XML files that you create for your cartridges and templates in Experience Manager, remove all of the XML comments. Especially remove any Oracle disclaimer text from the top. These comments are returned in the response back from the MDEX Engine and will increase the response size. (In the Discover Electronics application, this text will increase the response size by around 10%).

NOTE: The Experience Manager tool (XM) does not add these “copyright” comments. Any content item (or page) that is edited and saved by XM will not have any comments, so any page or content saved by the tool will not have this issue. The XML comments are only introduced to the system by importing initial content for Discover Electronics. The XML comments were added by hand outside of the tool, and they were only added to sample configuration files. Hopefully, you won’t run your application with this sample configuration.

Check your network latency

Depending on the number of cartridges (and the type of those cartridges) ATG might have to make a number of calls to the MDEX Engine. If the network isn’t fast, this can introduce latency into the application even if the MDEX Engine has to do very little processing.

Make sure the load balancer is working correctly and that the network connections are as fast as possible. If possible, use a network packet sniffer or a tool like wireshark to trace the round trip packets from ATG to your MDEX instances so that you can verify that the network incurred latency has been minimized.

Check your URL Patterns to ensure non-Endeca URLs don’t hit Assembler

http://docs.oracle.com/cd/E41069_01/Platform.11-0/ATGEndecaIntegrationGuide/html/s0706assemblerpipelineservlet01.html

In ATG, there is an AssemblerPipelineServlet. This will read in URLs and process them through Assembler. If it’s not correctly configured, too many URLs might flow through Assembler for no reason. We’ve seen this at several customer sites, where their ATG application was serving up the product images (as opposed to them being hosted externally at Akami or something). They had their URLs incorrectly configured, and for every image being served up, a useless call was being made to Assembler.

The “/atg/endeca/assembler/AssemblerPipelineServlet.ignoreRequestURIPattern” is the property to configure.

Records Per Aggregate Record set to all

Quick background: In Endeca, you can have SKU-level records that are aggregated together into an Aggregate record. You can choose how to bring back the SKU level information. Either 0 SKU’s, 1, or all. By default, this setting is set to bring back All SKU’s in an aggregate.

This isn’t necessary and creates a larger response sizes from Endeca and uses more memory in ATG.

This can be configured in the ResultsListHandler.

All Dimensions Compute Refinement Counts

By default, all dimensions generated via ATG schema are set to compute refinement statistics. You should turn this off if the site does not display them. This can be done by adding the dimensions to the schema.csv in the config/api_input directory and setting the attribute.dimension.compute_refinement_counts to false. You can also globally disable the refinement counts by setting the refineShowRecordCounts property to false in the dimensionTemplate bean in the fcm.context.xml file.

This will save processing time in the MDEX Engine, but won’t really affect response sizes or memory usage by ATG.

Ensure that custom handlers are scoped as Prototype

Incorrectly scoped handlers can cause ConcurrentModificationExceptions. If you should attempt to create/configure an ATG Nucleus Component based on an Endeca class/bean, you will need to set the $scope for that Component to prototype. The Assembler object, created via /atg/endeca/assembler/AssemblerTools, retrieves Objects from ECR|IFCR|Spring. With scope set to global, Assembler is essentially retrieving the specific Object from Spring, which begins to explain why multiple threads are sharing the sameobject. With scope set to prototype, Assembler is retrieving a copy of the Object or an iteration of the Object, which is not shared across multiple threads. EXAMPLE

./localconfig/foobar/endeca/assembler/custom/cartridge/handler/config/ContentSlotListConfig.properties
$class=com.endeca.infront.cartridge.ContentSlotListConfig
$scope=prototype

To clarify a little, the out-of-the-box Commerce Reference Store cartridge handler default configuration components happen to function correctly when configured with global scope because their cartridge handlers don’t attempt to modify them in any way. This is not true of the ContentSlotHandler (or of the cartridge handler contract in general). Thus the recommendation is to always use prototype scope for default configuration objects. Doing so, although conservative for some handlers, makes it easy to ensure correctness. The sample Spring files supplied with the Endeca v11.0.0 release conforms to this recommendation.

分享到:
评论

相关推荐

    Endeca 术语

    ### Endeca 术语知识点 #### 一、Endeca概述 Endeca是一家专注于提供信息访问解决方案的公司,其核心产品Endeca Information Access Platform (IAP) 是一个强大的企业级搜索平台,能够帮助用户从大量非结构化数据...

    Oracle收购Endeca Technolgies.pdf

    Endeca Technologies作为一家专注于这些领域的技术提供商,其收购对于Oracle而言,是一次重要的战略扩展。 首先,让我们了解非结构化数据管理的重要性。非结构化数据是指没有预定义的数据模型的数据,常见的形式...

    Endeca介绍资料(比较全面的一份)

    Endeca是Oracle旗下的一个多维搜索引擎和分析平台,广泛应用于电子商务、企业信息搜索以及大数据分析等领域。该平台的核心特性包括其非关系型的搜索引擎、大数据处理能力、以及能够让用户自由探索数据的架构设计。 ...

    endeca:Oracle Endeca示例

    Oracle Endeca是一款强大的数据探索和导航工具,由Oracle公司提供,主要用于构建企业级的搜索、数据分析和信息发现解决方案。Endeca以其灵活性、可扩展性和高性能而著名,尤其适合处理非结构化和半结构化数据。在本...

    Endeca-RecordStore-Inspector

    Endeca RecordStore Inspector Endeca RecordStore Inspector 是一个 GUI 工具,用于可视化 Endeca RecordStores 的内容。 它的创建是为了帮助 Endeca 开发人员调试与 CAS 数据摄取有关的问题。 我在这里写了一篇...

    endeca:用于Endeca的Ruby适配器(使用JSON桥)。 允许您定义以非常像Ruby的方式从Endeca提取信息所需的映射和读取器

    恩德卡by Rein Henrichs and Andy Stone描述: 用于Ruby的Endeca客户端库。功能/问题: 简介: class Listing < Endeca xss=removed> 'R' map(:expand_refinements => :expand_all_dims).into(:M) float_reader \ :...

    toohey-ATG-Endeca:与MySQL + jboss一起快速设置Oracle Commerce(ATG + Endeca)

    快速安装Oracle Commerce(ATG + Endeca) 关于 这将使用通用默认值安装Oracle Commerce平台(ATG + Endeca)。 这是为了帮助更轻松,更一致地为项目设置开发人员环境。 这将创建一个无用的盒子,供您在团队内部轻松...

    文本挖掘技术工具

    Endeca 的组件包括 MDEX Engine、Endeca Content Acquisition System、Endeca Assembler 和 Endeca Experience Manager 等。这些组件可以帮助企业更好地挖掘和分析数据,从而提高业务决策的科学性和可靠性。 文本...

    oracle-commerce-gradle:Gradle插件来构建Oracle Commerce(ATG + Endeca)项目

    Gradle插件来构建Oracle Commerce(ATG + Endeca)项目 由Naga rajan Seshadri创建电子邮件 完整的例子 使用插件的ATG模块-示例 请参阅根文件夹中的build.gradle,settings.gradle和gradle.properies 请参阅所有...

    从无的放矢到个性化的知识探索北京交通大学图书馆.pptx

    Endeca DataFoundry、Navigation Engine和Presentation Server的基本架构展示了Endeca系统如何处理和呈现数据,以实现更高效的搜索和导航功能。 综上所述,这个文件讨论的核心知识点是: 1. 现代图书馆服务需要与...

    Learning EasyMock3.0 By Official Example

    3. `EndecaConceptsGuide.pdf`:Endeca 是一个数据管理平台,这个指南可能涉及到如何在 Endeca 环境下使用 EasyMock。虽然 Endeca 不是 EasyMock 的一部分,但了解如何在特定上下文中使用模拟对象是重要的实践技巧。...

    官方资料:借助Oracle EBS电子商务套件12.1实现管理价值.pdf

    E-Business Suite 12.1.3 [与 Endeca 集成]:提高效率和有效性:•集中式关键业务功能可支持共享服务 •客户、员工与供应商的自助式协作 •丰富的电子表格与影像集成。 满足全球要求:•统一的全球性平台•通用、...

    博通推出28nm异构知识型处理器 (1).pdf

    甲骨文与道安晋携手发布了一系列基于甲骨文云计算平台的客户体验产品,包括Right Now、Endeca、Fatwire、Inquire、ATG Livehelp等,以及跨国呼叫中心系统。这些产品旨在帮助中国企业利用跨国公司的成熟业务实践经验...

    商务套件EBS(EBusinessSuite)研发战略和路线图.pptx

    - EBS for Endeca的提及表明Oracle致力于将搜索和数据发现技术融入EBS,提升数据分析和洞察力。 5. **支持时间表**: Oracle提供了明确的支持时间表,保证对11.5.10和12.1版本的长期支持,让客户有信心进行长期...

    电子商务套件OracleEBS(E-BusinessSuite)供应链管.pptx

    Oracle EBS SCM的未来发展方向包括更深入的集成,如Endeca的扩展功能,提供内存中成本管理、到岸成本管理、最低成本公式等功能。此外,还强化了配料替换、电子批次记录、触摸屏用户界面等,以适应分布式和预混流程...

    ATG Linux installation

    ATG RMI(Remote Method Invocation)服务运行在6860端口,而Endeca服务位于172.16.102.11的6067端口,BCC(Business Control Center)在172.16.102.12的6068端口,CSC(Commerce Site Composer)在172.16.102.13的...

Global site tag (gtag.js) - Google Analytics