π R2DBC λ?
Javaμ DBλ₯Ό μ°κ²°νλ λλΌμ΄λ² μ€ νλ.
Spring Framework version 5
- Spring WebFlux μΆκ°
2019.12
- Spring Data R2DBCμμ, λ°μν κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ λλΌμ΄λ² μΆμ!!
- μλ΅μκ°μ΄ λ λΉ λ₯΄κ³ , μ²λ¦¬λμ΄ λλ€.
- μμ²λΉ λ©λͺ¨λ¦¬μ CPUλ₯Ό λ μ¬μ©νλ€.
- JAR νμΌμ μ©λμ μ€μΌ μ μλ€.
π ν μ€ν
1. CPU : 4μ½μ΄ ν λΉ
2. 컀λ₯μ ν : 100κ°
3. HTTP μμ²
- GET
- SELECT 10 λ μ½λ, JSON λ°ν
4. νλΌμ΄λ° ( μλΉμ€μ λΆν μ£ΌκΈ° ) : 2μ΄
5. ν μ€ν λ°λ³΅μ : 5λ² ( νκ· κ΅¬ν¨ )
μ€λ₯κ° λ°μνμ§ μμ μ€νλ§ μ΄ν΄λ΄
6. ν μ€ν ν΄ : wrk
7. ν μ€ν κΈ°μ€
- μλ΅ μκ°
μ²λ¦¬λ ( μμ² μ )
νλ‘μΈμ€ CPU μ¬μ©λ ( /proc/PID/stat κΈ°λ° )
λ©λͺ¨λ¦¬ μ¬μ©λ ( /proc/PID/maps κΈ°λ° ) - μ€νμ’ λ£μ νλ‘μΈμ€ μ μ© λ©λͺ¨λ¦¬
8. ν μ€νΈ μ€ν¬λ¦½νΈ
https://github.com/MaartenSmeets/db_perftest/blob/r2dbc/test_scripts/run_test.py
9. λ°±μλ νκ²½ ꡬν
https://github.com/MaartenSmeets/db_perftest/tree/r2dbc/test_apps
10. κ²°κ³Ό λΆμ
MVC & JDBC | WebFlux & JDBC | MVC & R2DBC | WebFlux & R2DBC | |
νκ· μλ΅μκ° | κ°μ₯ λΉ λ¦ | |||
2λΆκ° μ²λ¦¬ μμ² μ | κ°μ₯ μ μ | κ°μ₯ λ§μ | ||
CPU μ¬μ©λ | κ°μ₯ μ μ | λμ΄λμ΄ | ||
μμ²λΉ CPU μ¬μ©λ μμ | 2 | 1 | 3 | 4 |
λ©λͺ¨λ¦¬ μ¬μ©λ | κ°μ₯ λ§μ | κ°μ₯ μ μ | ||
JAR μ©λ | κ°μ₯ λ§μ | κ°μ₯ μ μ |