Scalability Minimal Theory
You will learn:
- The Speed of Light
- The Speed of Light
- The Latency of Network
- The Speed of Disk
- Solutions to slowness
10 Users, 10 ZEO Clients
Why are Software Slow ?
- How long does it take at least ?
The Frequency of CPU: 2Ghz
The Speed of Light: 300,000 km/s
The Frequency of RAM: 200 Mhz
Why are Software Slow ?
- 1e12 * 6.82 e-9 = 6820 s = about 2 hours
- 16e9 * 6.82 e-9 = 109 s = 2 min
The Speed of Light: 300,000 km/s
Why are Software Slow ?
- 1e12 * 23.16 = 23160 s = 6.4 hours
- 16e9 * 23.16 = 370 s = 6 minutes
The Latency of Network: 1 µs to 1ms
Why are Software Slow ?
- 1e12 * 3316.5 = 38 days
- 16e9 * 3316.5 = 14 hours
The Speed of Disks: 10,000 rpm
Why are Software Slow ?
- 1e12 * 3000023.16 = 95 years
- 16e9 * 3000023.16 = 1.5 year
The Latency of SSD: 200 µs or better
Why are Software Slow ?
- 1e12 * 200023.16 = 6 years
- 16e9 * 200023.16 = 37 days
Access Conflict (Serialized)
Why are Software Slow ?
- 1e12 * 66011.5 = 2 years
- 16e9 * 66011.5 = 12 days
Solving Access Conflict by Sharding
Why are Software Slow ?
- 1e12 * 13211.5 = 152 days
- 16e9 * 13211.5 = 2.42 days
Solving Access Conflict by Caching
Why are Software Slow ?
- 1e12 * 6.82 e-9 = 6820 s = about 2 hours
- 16e9 * 6.82 e-9 = 109 s = 2 min
Solving Access by Beautiful Code
- 1e12 * 6.32 e-9 = 6320 s = about 2 hours
- 16e9 * 6.32e-9 = 101 s = 2 min
Solving Access by Better Algorithm
- 1e6 * 99010.5 = 1.65 minute
Better Algorithm for 90% cases
(1.65 minutes * 90 + 2 years * 10) / 100 = 2.4 months
What About ERP5 (1)
- Postpone
- Ajax Menus
- Ajax Display
- Activities
- Acces Conflict
- ID Generation
- Acces to Same Btree (HBTree)
What About ERP5 (2)
- Caching
- portal_caches
- HTTP cache
- Sharding
developer-Scalability.Minimal.Theory.html5.why.software.slow.
- Multiple Data.fs
- NEO
What About ERP5 (3)
- Algorithm
- SQL Optimization
- Catalog vs. ZODB