New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Bargento 1.0 – NBS System – Menos de 1 segundo para cargar Magento
1. Less Than 1 Second to Load
Emile Heitor – NBS System
2. Why Care ?
A word from our friends at the W3C :
From http://www.w3.org/Protocols/NL-PerfNote.html
0.1 second (one tenth of a second). Ideal response
time. The user doesn't sense any interruption.
1 second. Highest acceptable response time.
Download times above 1 second interrupt the user
experience.
10 seconds. Unacceptable response time. The user
experience is interrupted and the user is likely to
leave the site or system.
4. “The Magento Problem” 1/2
Awesome looking product
Freedom and flexibility
Probably the best E-Commerce platform around
Open Source: Widely known, recognized and
supported
Huge userbase, massive community,
impressive number of 3rd
party modules
5. “The Magento Problem” 2/2
Flexibility has a price
Large amount of PHP code to be interpreted
Object Oriented programming: CPU intensive
“Clean code” does not always mean “fast
rendering”
Many objects to be handled (Javascript, CSS,
lots of media), all bound by PHP
3rd
party modules often slower than core itself
6. Everybody Loves Benchmarks 1/3
The benchmark was completed using the
following hardware
Double Intel Xeon 5550 @ 2.70GHz (8 cores
total)
4GB DDR3
RAID1 143GB SAS 10k RPM disks
Pretty good hardware, average
configuration nowadays.
7. Everybody Loves Benchmarks 2/3
The benchmark was completed using the
following main softwares on the target Web
Server
Debian Stable 64 Bits
Apache 2.2
PHP 5
MySQL 5
Magento 1.4.0.1 (yes, we like it on the edge)
Demo Store
8. Everybody Loves Benchmarks 3/3
The benchmark was completed using the
following main softwares on the bench-machine
Debian Stable 64 Bits
Python 2.6
Funkload SVN (as I said, on the edge)
URL used: Magento Demostore Homepage
15. Single NGINX Reverse Proxy
Magento Cache, full tuning, APC, tmpfs, NGINX
Max 0.54s
16. NGINX Reverse Proxy + Page Cache
Magento Cache, full tuning, APC, tmpfs, NGINX
Max 0.22s
17. More numbers 1/2
Bench configuration
Cycles of concurrent users: [5, 15, 25, 50, 75, 100]
Cycle duration: 30s
Sleeptime between request: 0s
Startup delay between thread: 0.01s
18. More numbers 2/2
Bench content
1 complete page (Homepage)
4 link
12 image
Maximum of 3558 tests
Maximum of 3776 pages
Maximum of 62467 requests
A total of 62k requests in 3 minutes
19. More to come
Magento environment tuning whitebook
Nitrogento extension
Full benchmarks available online
Other UNIX platforms ?
Ongoing R&D on NGINX as a Web
Server... spoiler ?
20. Someone's gonna be mad at me
Direct access, APC, tmpfs, NGINX Web Server + PHP-FPM
Max 0.61s