![perf]()
![perf]()
āļāļģāļāļēāļĢāđāļāļĨāļāļēāļāļŠāđāļ§āļāļāļēāļāļāļāļāļ§āļēāļĄāđāļĢāļ·āđāļāļ
Performance Testing in a Nutshell
āļāļķāđāļāļāļģāļāļēāļĢāļāļāļīāļāļēāļĒāđāļĢāļ·āđāļāļāļāļāļ Performance Testing āđāļāđāļāļĒāđāļēāļāļāđāļēāļŠāļāđāļ
āļāļąāđāļāđāļāļ§āļāļīāļ āđāļĨāļ° āđāļāļ§āļāļēāļāđāļāļāļēāļĢāļāļāļŠāļāļ
āļāļąāđāļāļāļēāļĢāđāļāļĢāļĩāļĒāļĄ environment āļāđāļēāļ āđ
āļāļąāđāļāļāļēāļĢāđāļāļĩāļĒāļ script āđāļāļ·āđāļāļāļāļŠāļāļ
āļāļąāđāļāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļĨāļāļēāļĢāļāļāļŠāļāļ
āļāļąāđāļāļāļēāļĢ monitoring āļĢāļ°āļāļ
āđāļĨāļ° Lesson learn āļāđāļēāļ āđ
āļāļąāļāļāļąāđāļ āđāļĢāļēāļĄāļēāđāļĢāļīāđāļĄāđāļāļīāļāļāļēāļāđāļāļĒāļąāļ Performance Testing āļāļąāļāđāļĨāļĒ
āđāļĢāļ·āđāļāļāļāļāļ Performance testing āđāļāđāļāļŠāļīāđāļāļāļĩāđāļĄāļąāļāļŦāļĨāļāļĨāļ·āļĄāļāļąāļāđāļāđāļāđāļēāļĒ
āđāļāđāļĄāļąāļāļāļ°āļĄāļĩāļāļ§āļēāļĄāļŠāļģāļāļąāļāđāļĄāļ·āđāļāļāļķāļāđāļ§āļĨāļēāļŠāđāļāļĄāļāļāļĢāļ°āļāļāļāļēāļ (Deadline)
āđāļāļ·āđāļāļāļāļēāļ āđāļĢāļēāļĄāļąāļāļāļāļŠāļāļāđāļāļāđāļ§āļāļāđāļēāļĒāļāļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļ°āļāļāļāļēāļ
āļāļģāđāļŦāļĄāļ·āļāļāļāļąāļāļ§āđāļē āļāļēāļĢāļāļāļŠāļāļāļĄāļąāļāđāļĄāđāļāļģāđāļāđāļ āļŦāļĢāļ·āļ āđāļāđāļāļāļāļāļąāđāļāļāļĩāđāļŠāļāļ !!
āļāļģāļāļēāļĄāļāļ·āļ āļāđāļēāļāļāļŠāļāļāđāļĨāđāļ§āđāļĄāđāļāđāļēāļāļāļ°āļāđāļāļāļāļģāļāļĒāđāļēāļāđāļĢ ?
1. āļāđāļāļāđāļāđāđāļāđāļŦāđāļāļāļŠāļāļāļāđāļēāļāđāļŦāđāđāļāđ āļāđāļāļĒāļāļĢāļąāđāļāļāđāļāļāļĢāļ·āđāļ !!
2. āļāļĒāļēāļĒāđāļāļĢāļ·āđāļāļāđāļāđāđāļŦāļĄ ? āļāđāļāļĒāļāļĢāļąāđāļāļĄāļąāļāļāļ·āļāļāļēāļĢāļŦāļāļĩāļāļąāļāļŦāļē
3. āļāļĨāđāļāļĒāļĄāļąāļāđāļāļāđāļāļ āļāļĒāļēāļĒāļēāļĄāļāļđāļāļāđāļēāļ āđ āļāļēāļāļē āđāļāļ·āđāļāđāļŦāđāļĨāļđāļāļāđāļēāļĒāļāļĄāļĢāļąāļ
4. ???
āļāļąāļāļāļąāđāļ āļāļ§āļēāļĄāļāđāļēāļāļēāļĒāļŦāļāļķāđāļāļāļĩāđ āđāļĢāļēāļāļ°āļāđāļāļāļāļģāļāđāļāļ·āļ
āļāļēāļĢāļāļģ Performance testing āļāļąāđāļāđāļāđāđāļĢāļīāđāļĄāļāļēāļĢāļāļąāļāļāļēāļĢāļ°āļāļāļāļēāļ
āđāļāđāļ§āđāļēāļāļ°āļāļģāļāļĒāđāļēāļāđāļĢāļāļĩāļĨāđāļ° ?
āļāđāļāļāļāļ°āđāļĢāļīāđāļĄāļāļģāļāļēāļĢāļāļāļŠāļāļ āļāļ§āļĢāļāđāļāļāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļĢāļ°āļāļ
āđāļāļĒāđāļĢāļīāđāļĄāļāļēāļāļāļēāļĢāļāļąāđāļāļāļģāļāļēāļĄ āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļ
āļĢāļ°āļāļāļāļēāļāđāļāđāļāļāļĒāđāļēāļāđāļĢ ?
āļāļ°āđāļāļĢāļĩāļĒāļĄ traffic āļŠāļģāļŦāļĢāļąāļāļāļāļŠāļāļāđāļāđāļēāđāļĢ ? āđāļāđāļāļāļēāļĢāļāļĢāļ°āļĄāļēāļāļāļēāļĢāļĨāđāļ§āļ āđ
āļāļ°āļāļģāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļĨāļāļēāļĢāļāļāļŠāļāļāļāļĒāđāļēāļāđāļĢ ?
āļāļķāđāļāļāļ§āļĢāļāļģāļāđāļāļĄāļđāļĨāļāļēāļāļāļāļĩāļāļĄāļēāđāļāđāļāļāđāļāļĄāļđāļĨāļāļąāđāļāļāđāļ
āđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļēāļāļāļēāļĢāļāđāđāļāļāļāļēāļāļāļĄāļēāđāļ§āđāđāļāđāļāđāļāđāļēāļŦāļĄāļēāļĒ
āļāđāļēāļĢāļ°āļāļāļĄāļĩāļāļđāđāđāļāđāļāļēāļāļāļĩāđāļŠāļđāļāļĄāļēāļ āđ āļāļāļĢāļąāļāđāļŦāļĄāđāļŦāļ§āđāļĨāđāļ§
āļĢāļ°āļāļāļāļ°āļĄāļĩāļ§āļīāļāļĩāļāļēāļĢāļĢāļāļāļĢāļąāļ āđāļĨāļ° āļāļąāļāļāļēāļĢāļāļĒāđāļēāļāđāļĢ ?
āļāļģāļāļēāļĄāđāļŦāļĨāđāļēāļāļĩāđ āļāļ§āļĢāļāļēāļĄāļāļąāđāļāđāļāđāđāļĢāļīāđāļĄāļāđāļāļāļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļ°āļāļ
āđāļāļ·āđāļāđāļŦāđāđāļŦāđāļāļāļķāļāļāļ§āļēāļĄāļŠāļģāļāļąāļ āļ§āđāļēāļĄāļąāļāļāļĢāļ°āļāļāļāđāļ business āļāļĒāđāļēāļāđāļĢ
āđāļāļ·āđāļāđāļŦāđāđāļŦāđāļāļ§āđāļēāļāđāļāļāļĨāļāļāļļāļāđāļāđāļĢāļ·āđāļāļāļāļĩāđāļāđāļ§āļĒ
āđāļĨāđāļ§āļāļ°āļāļģāđāļŦāđāđāļŦāđāļāļāđāļēāđāļāđāļāđāļēāļĒāļĢāļ§āļĄāļāļĩāđāļāļąāļāđāļāļāļĄāļēāļāļĒāļīāđāļāļāļķāđāļ
āļāļģāđāļāļ·āļāļ
āļāļĒāđāļēāļāļĨāđāļāļĒāđāļŦāđāļāļēāļĢāļāļđāļāļāļļāļĒāđāļĢāļ·āđāļāļ Performance test āđāļāļāļĒāļđāđāļāđāļ§āļāļāļĨāļēāļ āļŦāļĢāļ·āļ āļāđāļ§āļāļāđāļēāļĒāļāļāļāļāļēāļĢāļāļąāļāļāļē
āļĄāļīāđāļāđāļāļāļąāđāļ āļāđāļēāđāļāđāļāđāļēāļĒāļĄāļąāļāļāļ°āđāļāļīāđāļĄāđāļāļāļāļ§āļĩāļāļđāļ
āđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļ°āļāļāļāļēāļāļāļąāđāļ
āđāļĢāļ·āđāļāļāļāļēāļĢāļāļāļŠāļāļ Performance āļāļ§āļĢāļāļ°āļāđāļāļāđāļāļīāļāļāļķāđāļāļāļĒāļđāđāļāļĒāđāļēāļāđāļŠāļĄāļ
āđāļĨāļ°āđāļāđāļāļŠāļīāđāļāļāļĩāđāļāđāļāļāļāļēāļĢāļāļēāļĢāļāļģāļāļēāļāđāļāđāļāļāļĩāļĄ
āļāļąāđāļ developer, tester, operation āđāļĨāļ°āļāļāļāļĩāđāđāļāļĩāđāļĒāļ§āļāđāļāļ
āđāļāļ·āđāļāļāļģāļāļēāļĢāļāļāļŠāļāļ āļāļđāđāļĨāļĢāļąāļāļĐāļēāļĢāļ°āļāļ
āđāļĨāļ°āđāļŦāđāļāļĨāļāļēāļĢāļāļāļŠāļāļāļĄāļąāļāđāļāļĨāđāļāļąāļāļŠāļīāđāļāļāļĩāđāļāļēāļāļŦāļ§āļąāļāđāļ§āđ
āđāļāļ·āđāļāļāļāļēāļāļāļēāļĢāļāļāļŠāļāļāļĄāļąāļāļāđāļāļāļāļēāļĢāļāļāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļĢāļđāđāļĄāļēāļāļĄāļēāļĒ
āđāļ§āđāļ§āđāļēāļāļ°āđāļāđāļāđāļĢāļ·āđāļāļ āļāļēāļĢāđāļāļĩāļĒāļ test script
āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāđāļĢāļ·āđāļāļ āļāļēāļĢāđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļ
āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāđāļĢāļ·āđāļāļ āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļĨ
āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāđāļĢāļ·āđāļāļ āļāļēāļĢ monitoring āļĢāļ°āļāļ
āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāđāļĢāļ·āđāļāļ āđāļāļāļāļēāļĢāļāļāļŠāļāļ
āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāđāļĢāļ·āđāļāļ āļāļēāļĢāļāļāļŠāļāļāļāđāļģ āļāļķāđāļāļāđāļāļ reset āļĢāļ°āļāļāļāļĨāļąāļāđāļāļĒāļąāļāļāļļāļāđāļĢāļīāđāļĄāļāđāļāđāļŦāļĄāļ·āļāļāļāļąāļ
āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļ ....
āļĄāļąāļāđāļĒāļāļ°āļĄāļēāļ āđ
āļāļąāļāļāļąāđāļāļĄāļēāļāļđāļāļąāļāļ§āđāļē āđāļĢāļēāļāļ°āļāđāļāļāđāļāļĢāļĩāļĒāļĄāļāļ°āđāļĢāļāļąāļāļāđāļēāļ ?
1. āđāļĢāļ·āđāļāļāļāļāļ Environment
āļāđāļēāđāļāđāļāđāļāđāļāđāļāļāđāļĢāļēāļāļ°āđāļāđāđāļāļĢāļ·āđāļāļāļ āļēāļĒāđāļāļāļāļāđāļāļĢ
āđāļāđāļĄāļąāļāļāđāļĄāļĩāļāđāļāļāļģāļāļąāļāļŦāļĨāļēāļĒ āđ āļāļĒāđāļēāļ
āļāļķāđāļāļāļąāļāļāļļāļāļąāļāļĄāļĩāđāļĢāļ·āđāļāļāļāļāļ Cloud āđāļāđāļēāļĄāļēāļāđāļ§āļĒ
āļāļģāđāļŦāđāļāļēāļĢāļāļāļŠāļāļāļĄāļąāļāļāđāļēāļĒāđāļĨāļ°āļŠāļ°āļāļ§āļāļĄāļēāļāļĒāļīāđāļāļāļķāđāļ
āļāļĩāđāļŠāļģāļāļąāļ āļāļēāļĢāļāļđāđāļĨāļĢāļąāļāļĐāļēāļāđāļāđāļēāļĒāļāļ§āđāļēāđāļāļīāļĄāļāļĩāļ
āđāļāđāļāđāļēāļāļāļāđāļāļĢāđāļŦāļāļāļĩāđāļĄāļĩāļāđāļāļāļģāļāļąāļāļĄāļēāļāļĄāļēāļĒ
āđāļāđāļāļāļēāļĢāđāļāđāļēāļāļķāļ server āļāđāļēāļ āđ āļāļēāļāļ āļēāļĒāļāļāļāļāđāļāļāļāđāļēāļ VPN, Firewall
āļŦāļĢāļ·āļāļāļēāļāļāļĩāđāļāđāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāđāļāđāđāļĨāļĒ
āļĄāļĩāļāļēāļāđāļāļĩāļĒāļ§āļāđāļāļ·āļ āļāđāļāļāļāļ·āđāļāđāļāļĢāļ·āđāļāļāļāļĩāđāđāļŦāļāđāļāļ§āđāļēāđāļāļīāļĄ āļŦāļĢāļ·āļ āļāļģāļāļ§āļāđāļāļĢāļ·āđāļāļāļĄāļēāļāļāļķāđāļ
āđāļāļ·āđāļāļāļģāđāļŦāđāļāļēāļĢāļāļāļŠāļāļāļĄāļąāļāļĄāļēāļāļāļķāđāļāļāļąāđāļāđāļāļ
āļĄāļēāļāļķāļāđāļĢāļ·āđāļāļāļāļāļ configuration āļāđāļāļāļāļĨāđāļēāļĒāļŦāļĢāļ·āļāđāļŦāļĄāļ·āļāļ production āđāļŦāđāļĄāļēāļāļāļĩāđāļŠāļļāļ
āđāļāļ·āđāļāļĨāļāļāļ§āļēāļĄāļāļīāļāļāļĨāļēāļāļāđāļēāļ āđ āļāļēāļāļāļēāļĢāļāļāļŠāļāļ
2. āđāļĢāļ·āđāļāļāļāļāļ test script
āļāļĢāļ°āļāļāļāđāļāļāđāļ§āļĒ
āļāļēāļĢāļāļąāļāļāļēāļĢāđāļĢāļ·āđāļāļ session
āļāļēāļĢāļāļąāļāļāļēāļĢāđāļĢāļ·āđāļāļ caching
āđāļĨāļ°āļāļĩāđāļŠāļģāļāļąāļāļĄāļēāļāļāļ·āļ āļāļ§āļĢāļāļģāļāļēāļĢāļāļāļŠāļāļāđāļāļŦāļĨāļēāļĒ āđ layer āļāļēāļĄ Pyramid testing
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļ
āļāļēāļĢāļāļāļŠāļāļāļĢāļ°āļāļąāļ functional
āļāļēāļĢāļāļāļŠāļāļāđāļāļĢāļ°āļāļąāļ service
āļāļēāļĢāļāļāļŠāļāļāđāļāļĢāļ°āļāļąāļ integration āļĢāļ°āļŦāļ§āđāļēāļ service
āļāļēāļĢāļāļāļŠāļāļāđāļāļĢāļ°āļāļąāļ system
āļāļķāđāļāļāļēāļĢāļāļāļŠāļāļāđāļāļŦāļĨāļēāļĒāļĢāļ°āļāļąāļ
āļĄāļąāļāļāđāļ§āļĒāļāļģāđāļŦāđāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāđāļāļŦāļē āđāļĨāļ° āļĢāļ°āļāļļāļāļģāđāļŦāļāđāļāļāļāļāļāļąāļāļŦāļē
āļāļĩāđāđāļāļīāļāļāļēāļāļāļēāļĢāļāļāļŠāļāļ performance āđāļāđāļāđāļēāļĒāđāļĨāļ°āļĢāļ§āļāđāļĢāđāļ§
3. āđāļĢāļ·āđāļāļāļāļāļāļĢāļ°āļāļ Monitoring āļĢāļ°āļāļ
āđāļāļāļēāļĢāļāļāļŠāļāļ performance āļāļāļāļĢāļ°āļāļāļāļąāđāļ
āļĢāļ°āļāļ monitoring āļĄāļąāļāļĄāļĩāļāļ§āļēāļĄāļŠāļģāļāļąāļāļāļĒāđāļēāļāļĄāļēāļ āļāļēāļāđāļĄāđāđāļāđāđāļĨāļĒ
āļāļģāļāļēāļĄāđāļĢāļ āļāļ·āļ āļāļģāļāļĒāđāļēāļāđāļĢāļĨāđāļ° ?
āļāļēāļĢāļāļīāļāļāļąāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļģāļŦāļĢāļąāļāļĢāļ°āļāļ monitoring āļāļąāđāļ
āļāļ§āļĢāđāļŦāđāļāļĒāļđāđāđāļāļĨāđāļāļąāļ application server āđāļŦāđāļĄāļēāļāļāļĩāđāļŠāļļāļ
āđāļāļ·āđāļāļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļāļąāļāļŦāļēāļāļēāļāļāđāļēāļ network
āđāļāļ·āđāļāļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļāļąāļāļŦāļēāļāļēāļĢāļŠāļđāļāļŦāļēāļĒāļāļāļāļāđāļāļĄāļđāļĨ
āđāļāđāđāļĄāđāļāļ§āļĢāļāļīāļāļāļąāđāļāđāļ§āđāđāļāļĢāļ·āđāļāļāđāļāļĩāļĒāļ§āļāļąāļāļĢāļ°āļāļāļāļĩāđāļāļđāļāļāļāļŠāļāļāđāļāļĒāđāļāđāļāļāļēāļ
āļĄāļīāđāļāđāļāļāļąāđāļ āļĄāļąāļāļāļ°āļŠāđāļāļāļĨāļāļĢāļ°āļāļāļāđāļāļāļĨāļāļēāļĢāļāļģāļāļēāļāļāļāļāļĢāļ°āļāļ !!
āļāļģāļāļēāļĄāļāđāļāļĄāļē āđāļĢāļēāļāļ°āļ§āļąāļāļāđāļēāļāļ°āđāļĢāļāļēāļāļĢāļ°āļāļ Monitoring āļāđāļēāļāļĨāđāļ° ?
āđāļāđāļāļāļāļāđāļāđāļāļŠāļāļāļŠāđāļ§āļāļāļ·āļ
1. Application level
āļŠāļīāđāļāļāļĩāđāļāđāļāļāļāļđāđāļĨāļĒāļāđāļāļ·āļ
- Response time āļāļ·āļāđāļ§āļĨāļēāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāđāļĨāļ° request āļāļąāđāļāđāļāđāđāļĢāļīāđāļĄāļāđāļāļāļāļŠāļīāđāļāļŠāļļāļ
- Throughput āļāļ·āļāļāļģāļāļ§āļ request āļāļĩāđāļĢāļ°āļāļāļāļģāļāļēāļāđāļāđāđāļāđāļ§āļĨāļēāļŦāļāļķāđāļ āđ āđāļāđāļ āļāļģāļāļ§āļ request āđāļ 1 āļ§āļīāļāļēāļāļĩāđāļāđāļāļāđāļ
2. Infrastructure level
āļŠāļīāđāļāļāļĩāđāļāđāļāļāļāļđāđāļĨāļĒāļāđāļāļ·āļ āļāļēāļĢāđāļāđāļāļēāļ CPU āđāļĨāļ° Memory āļāļāļāđāļāđāļĨāļ°āđāļāļĢāļ·āđāļāļ āđāļĨāļ° service
āļāļķāđāļāļĄāļĩāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāļāļēāļĢāđāļŠāļāļāļāļĨ āđāļĨāļ° āļ§āļīāđāļāļĢāļēāļ°āļŦāđ āđāļāđāļ Graphite, Jemalloc āđāļĨāļ° JProfile āđāļāđāļāļāđāļ
āđāļĄāļ·āđāļāļāļģāļāļēāļĢāļāļāļŠāļāļāđāļŠāļĢāđāļāļŠāļīāđāļāđāļāđāļāđāļĨāļ°āļāļĢāļąāđāļāļāļ§āļĢāļāļģāļāļēāļĢāļāļąāļāļāļķāļāļāļĨāđāļ§āđāđāļŠāļĄāļ
āļĄāļąāļāļāļ°āļāļģāđāļŦāđāđāļĢāļēāđāļŦāđāļāļ§āđāļē
āļāļēāļĢāļāļģāļāļēāļāļāļāļāļĢāļ°āļāļāļĄāļĩāđāļāļ§āđāļāđāļĄāļāļĒāđāļēāļāđāļĢ
āļāļēāļāļāļąāđāļāļāļģāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļāļēāļ°āđāļāļĄāļŠāđ
āđāļāļ·āđāļāļāļģāđāļŦāđāđāļĢāļēāļĢāļđāđāļ§āđāļēāļāđāļāļāļāļĢāļąāļāļāļĢāļļāļāđāļĨāļ°āđāļāđāđāļāļāļĒāđāļēāļāđāļĢ
āļ§āđāļēāļĢāļ°āļāļāļŠāđāļ§āļāđāļŦāļāđāļāļīāļāļāļąāļāļŦāļēāļāļāļāļ§āļāļāđāļēāļ
āļāļąāđāļāļ§āļīāļāļĩāļāļēāļĢāļāļāļŠāļāļ āđāļĨāļ° āļĢāļ°āļāļāļāļēāļ
4. āđāļĢāļ·āđāļāļāļāļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļ
āļāļēāļĢāđāļĨāļ·āļāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļāļŠāļāļ performace āļĄāļąāļāđāļāđāļāļāļĩāļāđāļĢāļ·āđāļāļāļāļĩāđāļŠāļģāļāļąāļ
āđāļāļĒāļĄāļĩāļāļģāđāļāļ°āļāļģāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļĨāļ·āļāļāļāļąāļāļāļĩāđ
- āļāđāļēāļĒāļāđāļāļāļēāļĢāļŠāļĢāđāļēāļ āđāļĨāļ° āļāļđāđāļĨ user agent āļŦāļĢāļ·āļāđāļĄāđ ?
- āļāđāļēāļĒāļāđāļāļāļēāļĢāļŠāļĢāđāļēāļ āđāļĨāļ° āļāļđāđāļĨāļāļēāļĢāļāļāļŠāļāļāļŦāļĢāļ·āļāđāļĄāđ ?
- āļĄāļĩ log āđāļ§āđāļŠāļģāļŦāļĢāļąāļāļāļēāļĢ debug āđāļĨāļ° āļāļĢāļ§āļāļŠāļāļāļāļĨāļāļēāļĢāļāļāļŠāļāļāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļĢāđāļēāļāļāļģāļāļ§āļ user session āđāļĒāļāļ° āđ āļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāļēāļĢāđāļĢāļ·āđāļāļāļāļāļ Ramp up/Ramp down āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļāļŠāļāļāđāļāļ Data-Driven āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāļĢāđāļ§āļĄāļāļąāļāļĢāļ°āļāļ Web āđāļĨāļ° API āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāļŦāļĨāļēāļĒ OS āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļąāļāđāļāđāļāļāļĢāļ°āļ§āļąāļāļīāļāļēāļĢāļāļāļŠāļāļāđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāđāļŠāļāļāļāļĨāļāļēāļĢāļāļāļŠāļāļāđāļāļĢāļđāļāđāļāļāļāđāļēāļ āđ āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāđāļāļāļāļąāļāđāļāļĄāļąāļāļīāļĢāđāļ§āļĄāļāļąāļāļĢāļ°āļāļ Continuous Integration āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāļāļ mobile āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļāļŠāļāļāļāļ browser āļāļāļīāļāļāđāļēāļ āđ āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ?
- āļŠāļēāļĄāļēāļĢāļāļāļģāļĨāļāļāļāļ§āļēāļĄāđāļĢāđāļ§āļāļāļ network āđāļāđāļŦāļĢāļ·āļāđāļĄāđ ? āđāļāđāļ 2G, 3G āđāļāđāļāļāđāļ
āļāļīāļāļāđāļēāļĒāļāđāļ§āļĒ Lesson learn āļāļĩāđāļāđāļēāļŠāļāđāļ
1. āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļāļāļēāļĢāļāļģāļāļēāļāđāļāļ backgroud process
āđāļāļ·āđāļāļāļāļēāļāđāļāđāļēāļŦāļĄāļēāļĒāļŦāļĨāļąāļāļāļāļāļāļēāļĢāļāļāļŠāļāļ
āđāļāļ·āđāļāļĢāļāļāļĢāļąāļāđāļĨāļ°āđāļŦāđāļāļĢāļīāļāļēāļĢāđāļāđāļāļđāđāđāļāđāļāļēāļ āļŦāļĢāļ·āļ āļĨāļđāļāļāđāļē
āļāļąāļāļāļąāđāļ āļāđāļēāđāļāđāļĨāļ° request āļāļēāļāļāļđāđāđāļāđāļāļēāļāļĄāļēāļĒāļąāļāļĢāļ°āļāļāļāļēāļ
āđāļĨāđāļ§āļĢāļ°āļāļāđāļāļāļģāļāļēāļāđāļŦāļĨāđāļēāļāļąāđāļāđāļāļ background process
āļĄāļąāļāļāļ·āļāļāļēāļĢāļāđāļāļāļāļąāļāļŦāļēāđāļ§āđ
āļāđāļāļāļĩāļāļāļāļāļēāļĢāļāļģāđāļāļāļāļĩāđāļāļ·āļ āļĢāļ°āļāļāļāļģāļāļēāļāđāļāđāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§
āļāđāļāđāļŠāļĩāļĒāļāļāļāļāļēāļĢāļāļģāđāļāļāļāļĩāđāļāļ·āļ āđāļāļīāđāļĄāļāļ§āļēāļĄāļāļąāļāļāđāļāļāļāļāļāļĢāļ°āļāļāļāļķāđāļāļāļĒāđāļēāļāļĄāļēāļ
āļāļēāļĢāđāļāđāđāļ āļāļ·āļ āļāļ§āļĢāđāļāļīāđāļĄāļāļģāļāļ§āļāđāļāļĢāļ·āđāļāļāļāļķāđāļāļĄāļē
āđāļāļ·āđāļāļĢāļāļāļĢāļąāļāļāļđāđāđāļāđāļāļēāļāļāļĩāļāļ§āđāļēāļāļ°
2. āļāļēāļĢāļāļāļŠāļāļāđāļāđāļĨāļ°āļāļĢāļąāđāļ āļāļ§āļĢāđāļāļĨāļĩāđāļĒāļāļāđāļēāļāđāļēāļ āđ āđāļāļĩāļĒāļāļŦāļāļķāđāļāļāđāļēāđāļāđāļēāļāļąāđāļ (One Parameter Principle )
āđāļāļāļēāļĢāļāļāļŠāļāļāļāļąāđāļ
āđāļĢāļēāļĄāļąāļāļāļ°āļāļģāļāļēāļĢāđāļāđāđāļāļāđāļē configuration āļāđāļēāļ āđ
āđāļāđāļāļāđāļāļ°āļāļģāđāļŦāđāđāļāļĨāļĩāđāļĒāļāļāļĢāļąāđāļāļĨāļ° 1 āļāđāļēāđāļāđāļēāļāļąāđāļ
āđāļāļ·āđāļāļāļģāđāļŦāđāđāļĢāļēāđāļŦāđāļāļ§āđāļē āļāđāļēāđāļāļĄāļąāļāļŠāđāļāļāļĨāļāļĩāļāļĨāđāļŠāļĩāļĒāļāđāļāļĢāļ°āļāļāļāđāļēāļ
āļāļąāļāļāļąāđāļ āđāļŦāđāļāļģāļāļēāļĢāļāļāļŠāļāļāđāļāļ small step āđāļāļāļāļĩāđāđāļāđāļĢāļ·āđāļāļĒ āđ
āļāļģāļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđ āđāļĨāļ° āđāļāđāđāļāļāđāļāđāļ
3. āđāļŦāđāļāļīāļāļāļķāļāļāļĪāļāļīāļāļĢāļĢāļĄāļāļēāļĢāđāļāđāļāļēāļāļāļĢāļīāļ āđ āļāļāļāļāļđāđāđāļāđāļāļēāļāđāļāđāļāļŦāļĨāļąāļ
Flow āļāļāļāļāļēāļĢāļāļāļŠāļāļāļāļąāđāļ
āļāļ§āļĢāđāļāđāļāļŠāļīāđāļāļāļĩāđāļāļđāđāđāļāđāļāļēāļāļŠāđāļ§āļāđāļŦāļāđāđāļāđāļāļĢāļīāļ āđ āļĄāļīāđāļāđāļāļēāļĢāļĄāđāļāļāļķāđāļāļĄāļēāđāļāļ
āļāđāļēāđāļāđāļāļĢāļ°āļāļāļāļēāļāđāļāļīāļĄ āļŦāļĢāļ·āļ Legacy system
āļāđāđāļŦāđāđāļāļēāļāđāļāļĄāļđāļĨāļāļēāļ production server āļĄāļēāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļāļ°
4. āļ§āđāļēāļāđāļ§āļĒāđāļĢāļ·āđāļāļāļāļāļāļāļēāļĢāļāļģ Caching
āđāļāļāļēāļāļāļĢāļąāđāļāļāļēāļĢāļāļģ caching āļāļķāđāļāļĄāļēāļāđāļāđāļ§āļĒāļāļģāđāļŦāđāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļāļāļĢāļ°āļāļāļāļĩāļāļķāđāļ
āđāļāđāđāļāļāļēāļāļāļĢāļąāđāļāļāđāđāļĄāđāđāļāđāļŠāđāļāļāļĨāļāļĩāļāļ°āđāļĢāļāļķāđāļāļĄāļē
āļāļąāļāļāļąāđāļ āļāļĢāļāļāļĩāđāļāļ§āļĢāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāđāļāļĩāđāļĒāļ§āļāļąāļ caching āđāļŦāđāļāļĩ
āđāļāļĄ caching āļĄāļąāļāļĄāļĩāļŦāļĨāļēāļĒ layer āļāļĩāļāļāđāļ§āļĒ
- āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāļĢāļ°āļāļąāļ network
- āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāļĢāļ°āļāļąāļ application
- āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāļĢāļ°āļāļąāļ service
- āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāļĢāļ°āļāļąāļ database
5. āļĢāļ°āļĄāļąāļāļĢāļ°āļ§āļąāļāļāļēāļĢ query āļāļĩāđāđāļāđāđāļ§āļĨāļē āđāļĨāļ° resource āđāļĒāļāļ° āđ
āļāđāļē query āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļāļēāļ database āļĄāļąāļāđāļĒāđ āļĄāļąāļāļāđāļē āļŦāļĢāļ·āļ āđāļāđ resource āļĄāļēāļāļĄāļēāļĒ
āļāļ°āļŠāđāļāļāļĨāđāļŦāđāļāļēāļĢāļāļģāļāļēāļāļāļāļāļĢāļ°āļāļāļāđāļēāļĨāļāđāļāļāļĒāđāļēāļāļĄāļēāļ
āļāļąāļāļāļąāđāļāļŠāļīāđāļāļāļĩāđāļāđāļāļāļĄāļĩāļāđāļāļ·āļ
āļĢāļ°āļāļ monitoring āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļēāļĢ query āļŦāļĢāļ·āļ Slow log
āđāļāļ·āđāļāļāļģāđāļŦāđāđāļĢāļēāļĢāļđāđāļ§āđāļē āļĄāļĩāļāļļāļāđāļāļāļĩāđāļāđāļāļāđāļāđāđāļāļāđāļēāļ
6. āļĨāļāļāļģāļāļ§āļāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāđāļāļēāļāļĢāļ°āļŦāļ§āđāļēāļāļĢāļ°āļāļ
āļĄāļąāļāļāļāļ§āđāļēāļĢāļ°āļŦāļ§āđāļēāļāļāļąāđāļ frontend āđāļĨāļ° backend āļāļąāđāļ
āđāļāđāļāđāļĨāļ° feature āļĄāļąāļāļāļ°āļĄāļĩāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāđāļāļēāļ backend āļāļēāļ frontend āļāļģāļāļ§āļāļĄāļēāļ
āļāļēāļāļāļĢāļąāđāļāļĄāļēāļāļāļāđāļāļīāļāđāļ āļŦāļĢāļ·āļ āļāļĩāđāļāļāđāļāļīāļāđāļ
āļāļąāļāļāļąāđāļ āđāļāļ°āļāļģāđāļŦāđāļĨāļāļāļģāļāļ§āļāļāļēāļĢāđāļĢāļĩāļĒāļāđāļāđāļāļēāļāļĨāļāļāļ°
āļ§āļąāļāļāļĩāđāļāļļāļāļāļģ Performance testing āļāļąāļāļŦāļĢāļ·āļāļĒāļąāļ ?
āļ§āļąāļāļāļĩāđāļāļļāļāļāļģ Performance testing āļāļąāļāļāļĒāđāļēāļāđāļĢ ?