일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 맛집
- Spring Boot
- laravel
- redis
- db
- devops
- it
- javascript
- Web Server
- Spring
- AWS
- jsp
- IntelliJ
- Gradle
- MySQL
- ReactJS
- springboot
- ubuntu
- Spring Batch
- php
- linux
- JVM
- java
- jenkins
- tool
- Git
- Oracle
- 요리
- Design Patterns
- elasticsearch
- Today
- Total
목록전체 (810)
아무거나
Spring Batch Partitioning 구현예제코드예제코드Spring Batch Partitioning 이란파티셔닝은 매니저 Step 이 대량의 데이터 처리를 위해 지정된 수의 작업자 (Worker) Step 으로 병렬처리 하는 방식이다.Multi Thread Step 과 비교멀티스레드 Step 은 단일 Step 을 Chunk 단위로 스레드를 생성해 분할처리 한다.어떤 쓰레드에서 어떤 데이터들을 처리하게 할지 세밀한 조정이 불가능해당 Step의 ItemReader/ItemWriter 등이 멀티스레드 환경을 지원하는지 유무가 굉장히 중요파티셔닝은 독립적인 Step (Worker Step)을 구성하고, 그에 따른 각각 별도의 StepExecution 파라미터 환경을 가지게 하여 처리멀티스레드 Step..
Redis 관련 내용 정리대표적인 구조Look Aside Cache (보편적으로 사용)Client -> Application -> Cache 에 데이터가 있으면 Cache 에서 가져옴 만약 없으면 DB 에서 데이터를 읽어오고 해당 데이터를 Cache 에 저장Write BackClient -> Application -> Cache 에 먼저 데이터를 저장하고 특정 시점마다 DB 에 저장이렇게 하면 DB 에 저장될 때 건별로 Insert 쿼리를 날리는 것 보다 한 번에 쿼리를 날리다보니 성능에 용이사용사례여러 서버들이 데이터를 공유할 때인증 토큰 등을 저장Ranking(Sorted Set)APIQueueRedis CollectionsStrings단일 KeyGET SET 멀티 KeyMSET ....MG..
Spring Batch + Redis Pipeline 으로 구현한 성능 개선코드 참고는 https://github.com/bkjeon1614/java-example-code/tree/develop/spring-batch-mybatis-codebase 에서 참고 부탁드립니다.Redis Pipeline 이란Redis의 pipeline은 여러 개의 명령어를 한 번에 보내고, 그 결과를 한 번에 받아올 수 있는 메커니즘입니다. 이를 통해 네트워크 오버헤드를 줄이고 Redis 서버의 처리 성능을 최적화할 수 있다. 또한 주의해야할 점은, Redis 서버의 처리량(capacity)을 고려하여 pipeline의 chunk size를 결정해야 한다.주의사항Request Chunk Size: 먼저 요청하는 chunk s..
스모키 버터수프 재료: 훈제연어 100g, 버터 250g, 감자 50g, 대파 흰부분 2줄기, 우유 200ml, 생크림 100ml, 후추, 엑스트라 올리브 오일 1. 불을 약하게 올리고 버터를 손 한뼘정도의 두께는 손가락 마디정도로 잘라서 넣는다. 2. 그 다음 딱딱한 순서대로인 감자 반개를 잘게 자른다. (빨리 익히기 위함) 3. 대파 흰 부분 두 줄기 정도를 잘게 썰어준다. 4. 감자가 약간 반정도 익을 때(힘있게 부서질 때) 대파를 넣는다. 5. 다시 버터를 1번에 언급한 크기로 다시 넣는다. 6. 대파가 물러서 부드럽게 씹히는 정도로 익혀준다. (하나씩 먹으면서 확인) 7. 우유 200ml 를 넣는다. 8. 생크림 100ml 을 넣는다. 9. 훈제연어를 넣는다. 10. 천천히 훈제향을 뽑아내기 ..
1. 다진고기를 먼저 볶는다. (고기를 먼저 볶는 이유는 양념이 사이사이에 잘 섞이게 하기 위함)2. 설탕 1/2 스푼 (밥 숟가락 기준)3. 청주 1/2 스푼 (밥 숟가락 기준)4. 맛술 1스푼 (밥 숟가락 기준)5. 간장 2/3 스푼 (밥 숟가락 기준)6. 두반장 1/2 스푼 (밥 숟가락 기준)7. 면 넣고 약 3분간 삶은 후 찬물로 샤워8. 볶은 고기를 면위에담고 나머지 쪽다,대파,부추 플레이팅 (중간에 계란 노른자만 넣어줘도 좋다. 필요시 튀김가루, 가다랑어포, 김가루 등을 넣자)9. 참기름 1/2 스푼 (밥 숟가락 기준)10. 고추기름 1/2 스푼 (밥 숟가락 기준)
처음에 주는 면삶은 육수는 은은한 메밀향이나면서 소금간?이 되어있는 느낌 밍밍한 다른집 육수에비해 매우 맛있다 식욕이 생기는 느낌 김치식감이 물렁하면서 씹히는 식감 맛있다. 면발이 타격감있고 매우 쫄깃하다 육수도 육향이 짙어서 좋다 의자가 불편 고춧가루 부재 다음에 또 가고싶다.
1. 중화면면을 미리 삶아놓는다. (찬물에 씻어서 면이 쫄깃하게 만들자)2. 대파를 얇게 채썬다. 3. 여기서 방법이 나뉜다. - 대파의 단맛을 느끼는 버전은 A 로 - 대파의 아삭한 식감과 더 간단하게 만드는 버전은 B 로 A. 대파의 단맛을 느끼는 버전1. 우선 웍에 4T 정도의 기름에 대파를 색이 갈색으로 변할때까지 최대한 볶아준다.2. 그릇에 면과 대파를 올려놓는다.3. 웍에 대파를 볶은 기름 베이스로 1인분 기준 간장 2T, 물 4T, 설탕 1T 을 섞어 소스로 만들고 녹진해질떄까지 센불로 졸인다.4. 그릇에 소스를 대파위로 부어주면 완성 B. 대파의 아삭한 식감과 더 간단하게 만드는 버전1. 그릇에 면과 대파를 올려놓는다.2. 웍에 4T 정도의 기름을 불이붙을 정도로 엄청 뜨겁게..
처음에 주는 면삶은 육수는 은은한 메밀향이나면서 소금간?이 되어있는 느낌 밍밍한 다른집 육수에비해 매우 맛있다 식욕이 생기는 느낌 김치식감이 물렁하면서 씹히는 식감 면발이 타격감있고 매우 쫄깃하다 육수도 육향이 깊어서 좋다 의자가 불편 고춧가루 부재 재방문의사 O
Spring Batch 성능 개선 사례 정리개선 항목 점검 Flow유지보수가 좋고 코드가 직관적인 범주 내에서 최적화를 진행이후에도 성능 이슈가 발생하면 멀티 스레드 / 파티셔닝과 같은 다양한 방식으로 진행즉, 직관적인 방식과 단계적으로 진행하는 편이 좋다.개선 항목단일 UPDATE -> WHERE IN (Nos..) UPDATE 로 변경하기 코드에서 단일로 UPDATE 를 실행하면 건별로 DB의 I/O 발생이 일어난다. 만약 WHERE IN 으로 변경시 예를 들어 1000개의 단 건일 경우 WHERE IN 으로 500개씩 나누어 처리하면 최대 2건의 I/O 발생// 단일UPDATE userSET grade = 'A'WHERE id = 1;UPDATE userSET grade = 'A'WHERE id =..
Spring Batch 5 + Mybatis (JdbcItem Reader/Writer) 구현코드는 https://github.com/bkjeon1614/java-example-code/tree/develop/spring-batch-mybatis-codebase 참고 부탁드립니다.Spring Batch 4.x -> 5.x 대표적 변경 내용What’s New in Spring Batch 5.0Java 17 RequirementMajor dependencies upgradeBatch infrastructure configuration updatesBatch testing configuration updatesJob parameters handling updatesExecution context seriali..