2017年3月25日土曜日

MaxHousekeeperDelete에 대해서

MaxHousekeeperDelete에 관해서 설명드리겠습니다.

MaxHousekeeperDelete은 Default가 5000으로 설정되어 있습니다.
이 파라미터는 HousekeepingFrequency에 설정된 시간에 삭제하는 최대치라고 생각하시면 일부는 맞고, 일부는 틀립니다.
만약, HousekeepingFrequency의 설정을 24로 했다고 예를 들겠습니다. 그럼 쌓인 데이터를 지우는데 최대 5000까지 밖에 못지운다는 이야기입니다. 그럼, 하루에 10000데이터가 쌓인다면 언젠가는 DB에 데이터가 넘쳐 멈춘다는 이야기 입니다.
그럴까요?
그래서 MaxHousekeeperDelete은 Housekeeper와 관계는 있습니다만, 위에 설명드린 것과는 관계가 없는 것입니다. 이 파라메타는, ITEM을 삭제할때 사용되는 파라메타 입니다.
삭제할 ITEM에 지금 까지 데이터가 1000만건 있다고 하겠습니다. 그럼 ITEM을 삭제하니한번에 이걸 지울까요? 그럼, DB에 부하가 엄청 걸립니다.
그때 사용되는 파라메타가 MaxHousekeeperDelete입니다.
삭제한 ITEM의 데이터를 한번에 지우지 않기 위해서, 매시간 얼마만큼의 데이터를 기울지를 결정하는 파라메타입니다.

이 작업을 확인하기 위해서는, 하나의 ITEM을 삭제 해봅니다.
그럼 housekeeper라는 테이블에 삭제한 ITEM이 Insert되어진 것이 보일것입니다.
이 ITEM은 데이터가 전부 삭제되면 테이블로 부터 지워지게 됩니다.

제가 MaxHousekeeperDelete을 설명하는 이유는
Housekeeper가 무거워져서 MaxHousekeeperDelete을 조절하는 분들이 계십니다.삭제한 ITEM이 있다면 효과적이지만, 만약에 없고 계속 무겁다면 DB 튜닝을 추천드리기 위해 이글을 썻습니다.

많은 참조 바랍니다.

0 件のコメント: