개요 스스로 취미 생활에 있어 장비병에 대한 내성이 강한 사람이라고 생각했는데, 어느새 정신을 차리니 내 방에는 심레이싱을 위한 VR과 2축 모션 시뮬레이터, 트랜듀서가 구비되어 있었다. 오랫동안 장비를 극한까지 쥐어짜며 사용하던 트러스트마스터 T300를 놓아줄 때가 된 것 같아 드디어 파나텍의 CSL DD를 구매하게 되었다. 파나텍 CSL DD 휠 베이스 파나텍 CSL DD는 현재 휠 베이스 기술의 대세라고 할 수 있는 다이렉트 드라이브 기술이 사용된, 심레이싱 기어의 명가 파나텍의 엔트리 급 휠 베이스이다. 출시 전부터 파격적인 가격으로 시장 파괴자로 예상되었는데 실제로 파나텍은 본 제품의 출시에 맞춰 기존 판매하던 모든 벨트 구동 방식을 단종시켰다. (이제 CSL DD, DD1, DD2의 선택지만 ..
개요 최근 전에 경험하지 못한 슬로우 쿼리 이슈를 해결하면서 허탈한 마음과 함께 정리하였다. 확인된 이슈 인덱스가 생성되어 있는 컬럼에 대해 2개 이상의 복수개의 파라메터를 IN 조건으로 조회하면 무조건 10초 이상의 슬로우 쿼리가 발생한다. 대상 테이블은 약 2천만개의 로우를 가진 파티셔닝 되지 않은 테이블이다. # 파라메터가 1개일 경우 # 슬로우 쿼리가 발생하지 않음, 1ms 소요 SELECT * FROM foobar WHERE id IN (1); # 파라메터가 2개 이상일 경우 # 슬로우 쿼리가 발생, 최소 10초 이상 소요 SELECT * FROM foobar WHERE id IN (1, 2); 파라메터가 1개일 때만 인덱스를 사용하고, 파라메터가 2개 이상이면 테이블이 무조건 풀스캔된다. US..
개요 최근 슬로우 퀴리 이슈를 해결하면서 비약적인 속도 향상을 경험했는데, 사실 지금도 완전히 이해가 되지 않는 기묘한 부분이라 먼저 정리해둔다. 확인된 이슈 문제의 쿼리는 아래 모양새의 전형적인 페이지네이션 쿼리이다. (실제 운영 쿼리는 복잡한 여러 JOIN 절이 추가되어 있다.) SELECT * FROM foo WHERE ... ORDER BY created_at, id LIMIT 500 OFFSET 0; 신기한 점은 대부분의 쿼리 조건에서는 전혀 문제가 없었지만 특정 조건에서만 ORDER BY, LIMIT, OFFSET의 조합이 30~50초의 슬로우 쿼리로 모니터링되었다.처음에는 WHERE 조건의 대상과 순서를 적절히 재배치하여 효과를 보았지만, 모니터링 결과 이 것이 단순한 인덱스 사용 효율의 문..
개요 Spring Boot, JPA 환경에서 개발자를 당황시키는 AssertionFailure 예외가 발생하는 이유와 해결책을 정리하였다. org.hibernate.AssertionFailure: null id in com.jsonobject.domain.Foo entry (don't flush the Session after an exception occurs) AssertionFailure 예외가 발생하는 이유 AssertionFailure 예외를 발생시킨 지점은 실제 범인이 아닐 가능성이 높다. 같은 트랜잭션(세션) 범위 내에서 앞서 실행된 어떤 쿼리가 영향을 미쳤을 확률이 높다. AssertionFailure 예외는 @Transactional이 명시된 세션 내의 복수개의 쿼리가 연속적으로 실행되는..
- Total
- Today
- Yesterday
- JHipster
- Docker
- Spring Boot
- maven
- 로드 바이크
- 알뜰폰
- 태그를 입력해 주세요.
- DynamoDB
- Eclipse
- 평속
- 자전거
- node.js
- graylog
- jstl
- spring
- bootstrap
- 구동계
- Kendo UI Web Grid
- 로드바이크
- MySQL
- java
- Spring MVC 3
- chrome
- jsp
- Kendo UI
- Tomcat
- CentOS
- jpa
- JavaScript
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |