7. Start with a
guess and try it
out in anger
Alfresco
and
Share
20%
Transforma4on
s
10%
SOLR
30%
Database
30%
Content
5%
Load
Balancer
5%
Resource
Guess
0
Alfresco
and
Share
Transforma2ons
SOLR
Database
Content
Load
Balancer
Resources
Monitor all
Run for days
Resolve Issues
Repeat
Adjust resources
8. Focus
e.g. SOLR
Resources
Alfresco
and
Share
20%
Transforma4on
s
10%
SOLR
30%
Database
30%
Content
5%
Load
Balancer
5%
Resource
Guess
0
Alfresco
and
Share
Transforma2ons
SOLR
Database
Content
Load
Balancer
12. Load Test Risk Factors: Scale
• Increases Cost
– Your Time
– Getting the data in does not normally produce results
• Bulk Loading
– Different hardware for this phase?
– Simulate bulk loading as accurately as necessary
• Number of Documents
– Easier to account for with experience
– Data storage costs
– Backup/Restore procedures
• Users and Groups
– LDAP sync
– Complex Group Hierarchy
– Site Group Permissions
– Mass-authentication
LoadTestAccuracy
13. Load Test Risk Factors: Documents
• Document Types
– Image thumbnail generation
– Text to PDF for preview
– Document library listings (many transformations a.s.a.p)
• Document Size
– Network and IO costs and limits
– CPU used for streaming
– PDF to text memory consumption
– External converters
• More CPU or more infrastructure
LoadTestAccuracy
14. Load Test Risk Factors: API Usage Profile
• Load Profile
– Burst load
– Trickle load
• Data Structure
– Paging
– Sorting
– Permissions
• The Internet
– CMIS across the Atlantic
– Southern hemisphere client apps
LoadTestAccuracy
15. Load Test Risk Factors: UI Complexity
• Share APIs
– /private
• Upload File
– Stream binary
– Then all of these at once:
• Register user activity
• Generate thumbnail
• Generate PDF preview and display
• Get and display document metadata
• Get and display document version history
• Replay Doom (You Only Live Once)
LoadTestAccuracy
22. Load Tests: /tests/dataload
• Reuse user base
• Create
– Sites
– Site Members
• Site data
– Folders
– Files uploaded using CMIS or
TestSoftware
23. Load Tests: /tests/dataload
• AlfrescoBenchmark/alfresco-text-gen
• Text data generated in server
• Option to push data
into ContentStore
TestSoftware
25. Load Tests: FTP sample files vs spoofing
• FTP server
– A few thousand samples
– Use for Share tests
• Transformations
• Text extractions
• Renditions
• Spoofing
– Stress SOLR
– document library size
• Search: searchterms.txt
TestSoftware
26. Share Load Testing: /tests/share
• Concurrent Users:
– A new user logs in every N seconds
– The user logs out after spending Y seconds
– Number of concurrent users C = Y/N
• Selenium Driver Overload
– Use Windows
– 5s to start a browser on EC2 m3.2xlarge
– Up to 40 browsers per load driver on EC2 m3.2xlarge
– Drivers required D = max( 5s/N, C/40)
– m3.2xlarge Windows à spot price of $0.3/hour
– 500 concurrent user à20 drivers à $6/hour
TestSoftware
28. Summary
• Build up load testing software and skills
• Design tests around existing tools
– Understand risks and where to extend or introduce new tests
• Iterate
Summary