11
Processes Recording and Logging
LiveCycle Workbench provides tools to monitor the progression of a process. This includes the ability to record 
a process and play it back visually or instrumenting a process and reviewing the resulting log files.
Recording a Process 
Recording a process is useful to understand the performance of a process flow. Before invoking a process, it 
can be recorded from within workbench. 
All recordings should be turned off when not in use as recording can be CPU and disk intensive.
Change font size in pdf text box - Compress reduce PDF size in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
C# Code & .NET API to Compress & Decompress PDF Document
change font size in pdf fillable form; change font size in fillable pdf form
Change font size in pdf text box - VB.NET PDF File Compress Library: Compress reduce PDF size in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET PDF Document Compression and Decompression Control SDK
pdf change font size in textbox; .pdf printing in thumbnail size
12
Instrumenting a Process
Adding logging within a process flow can help determine which sections of a flow require the most attention 
and tuning. Running a process will not tell you how much time each step in the process takes.
Consider the following process:
Instrumentation has been added at the Write String node to log the current time to c:\loggingTimes.txt. This 
technique can help detail exactly where time is being spent from node to node, and where there is opportunity 
for optimization. Logging would need to be done before and after the critical nodes to provide relevant data.
Document Manager and the Global Document Storage (GDS)
LiveCycle ES2 uses an abstract object type, the Document Object, for a variety of purposes. These objects may 
be temporary and removed automatically after a short time or persist throughout the life of a process. The 
Document Manager decides where a document will reside. Temporary, versus persistent.
Persistent documents must remain accessible for long periods and must be accessible equally from every node 
in a cluster. The physical storage area for these documents is referred to as the Global Document Storage area 
(GDS). In LiveCycle ES2 the GDS may be stored on a shared file system, such as a network attached storage 
(NAS) server, or configured to reside within the LiveCycle database where the document data is stored in the 
table TB_DM_CHUNK. This selection is made during system installation. 
When the ES2 User Action stores form data as a LiveCycle Document Object, the global LiveCycle Max Inline 
Size parameter will influence whether the bytes stored in the Document object are stored “in-line” that is, 
directly in the tables, or in the GDS which may be in a file system or database table of its own. The default Max 
Inline Size setting is 64 K. 
Note the above behavior also applies to Document type workflow variables.
C# PDF Text Box Edit Library: add, delete, update PDF text box in
Support to change font color in PDF text box. Ability to change text size in PDF text box. Adding text box is another way to add text to PDF page.
change font size in pdf; can a pdf be compressed
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
Allow users to add comments online in ASPX webpage. Able to change font size in PDF comment box. Able to save and print sticky notes in PDF file.
acrobat compress pdf; compress pdf
13
MaxInLine Size 
The Default document max inline size (bytes) setting can be found in the LiveCycle Administration console 
under Home, Settings, Core System, Core Configurations.
Performance intensive applications that keep very large documents (>= 64K) on the heap are potentially 
subject to a heavy garbage collection penalty. These objects can quickly take up a large part of the heap and 
subsequently trigger frequent garbage collections. 
64K is a typical file size boundary at which most applications perform well. Files larger than 64K are stored in 
the GDS, and files smaller are stored on the heap. Given the fact that each application will have different 
requirements, a good starting point is to choose a Max Inline Size representing the smallest files used more 
frequently. 
Consider an application with files of size 30K (used frequently), 40K (used frequently) and 1.7Meg (used less 
frequently). Max InLine Size of 64K causes 1.7 Meg files to stay in the GDS, and smaller files to be stored 
directly in the heap.
Document disposal time-out
The period of time before a non-persistent Document object will time out and be automatically invalidated. 
This time is measured from the creation of the Document object. A default value for all newly created 
Document objects can be set from within the LiveCycle Administration console . This setting can be used to 
control disk space usage.
A mandatory setting, the default value is 600 seconds and can be adjusted under “Home, Settings, Core System 
Settings, Configuration Settings” - “Default document disposal timeout (seconds)”.
Tuning Services
LiveCycle provides some facilities to tune services at a general level. More extensive options are available 
specific to each service. 
General Service Tuning Options
Allow anonymous access to LCES services
Authentication of transactions can be an overhead to optimal performance, but keep in mind allowing 
anonymous access also means that you are allowing access to some LiveCycle services without authentication, 
which may or may not be suitable.
To allow anonymous access:
1. Log in to LiveCycle Administration Console.
2. Services, Applications and Services, Service Management
3. Click on the [Service] (e.g. Forms Service / Output Service)
4. Click the Security tab.
5. In the Require callers to authenticate list, select No (the default is Yes). 
6. Save.
Creating a Service Endpoint Pool
Every time a service is accessed, an instance of the service is created to respond to the service request. This 
applies to both services provided as part of LiveCycle (such as BarCodedForms), or custom services. 
If there are large number of CPU intense services, performance can be enhanced by creating a pool of 
instances to respond to requests more efficiently. 
This is generally not recommended for services shipped with LiveCycle because once the pool size is reached 
subsequent threads will block until a service becomes available. 
C# PDF Field Edit Library: insert, delete, update pdf form field
Support to change font size in PDF form. RasterEdge.Imaging.Font.dll. pdf"; String outputFilePath = Program.RootPath + "\\" Output.pdf"; List<BaseFormField
can pdf files be compressed; adjust pdf size preview
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Support to add text, text box, text field and crop marks to PDF document. Able to edit and change PDF annotation properties such as font size or color.
change font size in pdf file; change font size pdf text box
14
For custom services, the approach is to perform testing to obtain the maximum throughput and calculate 
highest number of services that will be in use at any one time. A pool can be setup for those services to 
potentially improve performance. 
Configuration
Pools may be configured via the LiveCycle Administration console under ‘services, Applications and Services, 
Service Management, [New Service], Pooling, Pooled Instances”.
For additional help, refer to http://help.adobe.com/en_US/livecycle/9.0/adminHelp/000142.html#1586591
Specific Service Tuning Options
Tuning Content Services
Ehcache
Caches in Content Services (ehcache) under load can use up to 512 MB of heap under the default configuration. 
The cache setting can be optimized based on the use cases and memory available.
Tracing for ehcache can be enabled to identify which caches are less effective and could use additional heap. 
1. Stop LiveCycle server
2. Go to C:\Adobe\Adobe LiveCycle ES2\deploy (or installation directory)
3. Open adobe-contentservices.ear
4. Open contentservices.war\WEB-INF\classes\log4j.properties
5. log4j.logger.org.alfresco.repo.cache.EhCacheTracerJob=debug
6. Repackage and redeploy adobe-contentservices.ear.
7. Start LiveCycle server
Using these logs, the highly used caches can be identified and then tuned. This tuning can be done in the 
following file:
adobe-contentservices.ear\contentservices.war\WEB-INF\classes\alfresco\extension\ehcache-custom.xml
A cache element looks like :-
<!-- approx 50MB memory required , 
<cache 
name=”org.alfresco.repo.domain.hibernate.NodeImpl.childAssocs” 
maxElementsInMemory=”25000”
eternal=”true”
timeToIdleSeconds=”0” 
timeToLiveSeconds=”0” 
overflowToDisk=”false” 
/>
The parameters maxElementsInMemory controls the maximum number of elements to store in the cache and 
overflowToDisk controls whether or not the overflow elements can be persisted to disk. 
Ehcache on a 32 and 64 bit JVMs
For a 32bit system, the LCM changes the ehcache configuration file so that the default memory requirement 
does not exceed 100 MB. This poses an obvious performance penalty because the cache size is limited. For a 
64bit installation, the default configuration is used. 
C# PDF insert text Library: insert text into PDF content in C#.net
Powerful .NET PDF edit control allows modify existing scanned PDF text. Ability to change text font, color, size and location and output a new PDF document.
adjust pdf size; change font size in pdf text box
VB.NET PDF insert text library: insert text into PDF content in vb
Save text font, color, size and location changes to Other robust text processing features, like delete and remove PDF text, add PDF text box and field.
pdf change page size; change paper size pdf
15
Backing up the Index
There are cron jobs created for index backups. These run every day at 3:00 am, local server time. The cron 
expression for this can be updated to run when server load is low. This change is made in:
adobe-contentservices.ear\contentservices.war\WEB-INF\classes\alfresco\scheduled-jobs-context.xml. 
The bean to look for is indexBackupTrigger.
<bean id=”indexBackupTrigger” class=”org.alfresco.util.CronTriggerBean”>
<property name=”jobDetail”>
<ref bean=”indexBackupJobDetail” />
</property>
<property name=’scheduler”>
<ref bean=’schedulerFactory” />
</property>
<!-- trigger at 3am each day , 
<property name=”cronExpression”>
<value>0 0 3 * * ?</value>
</property>
</bean>
Searching and Pruning results
When the system is being used by a large number of users and there large amounts of content to search for, 
then the following parameters can be increased to improve performance: 
# Properties to limit resources spent on individual searches
# The maximum time spent pruning results
system.acl.maxPermissionCheckTimeMillis=10000
# The maximum number of results to perform permission checks against
system.acl.maxPermissionChecks=1000
This change is made in: 
adobe-contentservices.ear\contentservices.war\WEB-INF\classes\alfresco\repository.properties 
or
adobe-contentservices.ear\contentservices.war\WEB-INF\classes\extension\custom-repository.properties.
The properties file custom-repository.properties overrides repository.properties.
Additional property values may also be changed:
• system.acl.maxPermissionCheckTimeMillis: 
The maximum time that a search query will spend in running 
the raw results obtained by running the search query through permission checks. Higher time specified 
here will cause a larger drain on the CPU as the filtering will continue to occur.
• system.acl.maxPermissionChecks: 
The number of permission checks a result will be run against. A higher 
number will be more CPU intensive. The remedy may also lie in defining more efficient queries so that the 
raw results obtained create a small data set. These parameters may help in preventing overload when 
generic queries are fired.
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
PDF document, keeps the elements (like images, tables and chats) of original PDF file and maintains the original text style (including font, size, color, links
pdf page size dimensions; change page size pdf
VB.NET PDF delete text library: delete, remove text from PDF file
Functionality to remove text format by modifying text font, size, color, etc. Other PDF edit functionalities, like add PDF text, add PDF text box and field.
change font size in pdf form; pdf form change font size
16
Purging files from the OS
The default configuration within Content Services is to allow purging of files from the OS after 14 days. If space 
on the file system is becoming an issue and purging content from Content Services is required before 14 days, 
then Content Services can be configured to allow manual deletion of files that are orphaned from their original 
context.
Configuration Change
1. In the adobe-contentservices.ear file, navigate to contentservices.war/WEB-INF/classes/alfresco/. 
2. Open the content-services-context.xml file. Search for baseContentStoreCleaner bean definition. 
3. Set protectDays property to 1 (for example). 周is property controls the reap time. 周e default is 14 
days.
4. Change:
<property name=”listeners” >
<list>
<ref bean=”deletedContentBackupListener” />
</list>
</property>
to:
<!-- <property name=”listeners” >
<list>
<ref bean=”deletedContentBackupListener” />
</list>
</property> , 
5. Redeploy adobe-contentservices.ear.
Deleting Items from Content Services
When content is deleted from Content Services, by default the content is moved to the archive store. From the 
archive store it can be recovered or permanently deleted. Permanent deletion is done using the 
ManageDeleted Items screen shown below, found at:
Company Home, [User Profile], Manage Deleted Items
17
“Delete Listed Items” moves orphaned items to the directory contentstore.deleted after the number of days set 
with protectDays.
You can safely purge the orphaned items from the file system under directory contentstore.deleted found 
under [LiveCycleHome]/lccs_data.
Disk Layout Strategies
Content Services performance can depend on disk layout. Load tests were carried out to compare the 
performance of different disk layouts. In these tests, loads were modeled by retrieving a file from CS, handling 
it as a LiveCycle Document object, then writing it back to CS. A ‘step test” was used to explore how 
performance scaled at different load levels and disk configurations.
The basic transaction had two phases:
• read a document of a specific size 
• write the same document 
The load test was performed with 5M, 20M and 100M documents .
Performance Results
The following matrix shows the disk architecture options used for the CS application.
Test
OS
CS
GDS
TEMP
Baseline
single 7.2K
single 7.2K
single 7.2K
single 7.2K
Striped
single 7.2K
3 way stripe 10K
2 way stripe 7.2K
2 way stripe 7.2K
SAN w/Striped
single 7.2K
SAN
2 way stripe 7.2K
2 way stripe 7.2K
Striped w/SSD
single 7.2K
3 way stripe 10K
SSD
SSD
Striped w/RAMdisk
single 7.2K
3 way stripe 10K
2 way stripe 7.2K
RAM Disk
18
Performance by configuration
This chart represents the performance obtained using each of the configurations and various file sizes. The 
vertical axis is the maximum sustained throughput measured in megabytes of files being both read and written 
back to CS, per second. The horizontal axis provides the file size of the files used in the benchmark. The 
maximum throughput observed was with files of 20 MB, with throughput declining with larger 100MB file size.
Baseline
The baseline configuration uses single disks for each of the logical storage areas. These are all conventional 
7,200 RPM serial attached SCSI units.
This baseline configuration yielded peak throughput of about 34 MB of read/write per second. In the software 
performance analysis benchmarks, the best throughput obtained was 14,000 documents per hour or about 3.9 
per second. These were 5.5 MB documents giving a total throughput of 21.4 MB per second. This production 
hardware baseline produced a comparable, but slightly higher figure of 26 MB/sec for 5 MB documents and up 
to 34 MB/sec for larger document sizes.
19
Striped
The fully striped configuration used RAID 0 disk arrays for each of the logical storage areas. This was the most 
optimal performance configuration tested. Based on the results from the software optimization testing, it was 
determined that the CS file system is the most sensitive to storage performance. The file system was built using 
a 3-way RAID 0 stripe set, using 10,000 RPM SAS disks. The temporary and GDS file systems were each built 
using 2-way stripe sets on 7,200 RPM disks.
The peak throughput obtained for 20 MB files was over 125 MB per second. The throughput outperformed all 
of the other benchmarks at every file size. It is clear that the extra disk bandwidth and the ability to spread disk 
activity across multiple volumes is a key factor in CS performance for this scenario.
SAN with Striped
In this configuration, the CS file system is located on a SAN server, where it physically resides on a 4-disk RAID 
5 volume. The SAN is connected by a dedicated 1 Megabit connection.
The SAN configuration was tested to assess the added latency between the server and SAN. The SAN is not 
dedicated and the expected throughput of the SAN was comparable to the baseline configuration. The actual 
performance obtained with this configuration was much lower than others configurations likely due to the SAN 
single gigabit connection. With limited bandwidth together with the latency of system-to-system 
communication, throughput was low. A true fibre channel connection would have yielded better performance.
20
Striped with SSD
In this configuration, the temporary and global document storage file systems are placed onto solid state 
storage devices. The size and reliability constraints make them ill-suited to large volume and highly reliable 
storage requirements such as content services and so the main CS storage is on the same 3-way stripe set on 
fast disks as in the optimized configuration
The overall performance of this configuration was comparable to, but slower than the optimized striped disk 
configuration. The peak throughput obtained was just over 105 MB/s which was 16% slower than obtained 
with the disk stripe set.
Although the SSDs provide very high read performance, the write performance is comparable to ordinary 
disks. The temporary and GDS file systems require a balance of read and write activity. In this configuration a 
single SSD unit with a given write performance replaces a set of two drives with double the aggregate write 
performance which results in an overall loss of performance.
The benchmark running with SSD units also suffered from a high degree of variability in the result. The 
information plotted in comparison chart is based on a set of 4 to 6 separate runs. The 5MB file size in particular 
yielded results that could vary by 50% between runs.
This level of inconsistency in performance was not seen with any of the other media types and is likely a 
feature of the solid state storage units.
Documents you may be interested
Documents you may be interested