캐시
보기 모듈에 대한 통지 검색은 수십만 개의 통지가 있는 시스템에서, 특히 사용 가능한 모든 코스에 영향을 미치는 통지 대시보드 수준에서 비용이 많이 들 수 있습니다. 이 쿼리 실행의 부담을 완화하기 위해 통지 시스템에는 사용자별, 세션별 캐시가 포함되어 있습니다.
- 캐시는 특정 사용자, 세션 및 상황에 대한 통지 쿼리의 결과를 저장합니다. 즉, 사용자가 로그인하는 각 코스의 각 사용자에 대해, 전체 통지 대시보드 수준에서 별도의 캐시가 보관됩니다.
- 사용자는 수동으로 캐시를 새로고침할 수 있습니다. 새로고침 동작은 주어진 세션에서 모든 상황의 캐시를 지웁니다.
- 캐시는 새 통지가 도착할 때까지 업데이트되지 않습니다. 사용자는 수동으로 새로고침을 하여 이를 확인하거나 캐시 시간 초과를 기다려야 합니다. 기본 시간 초과값은 아래 표를 참조하십시오.
- 캐시는 수동 통지 삭제에 응답합니다. 따라서 사용자가 특정 보기에서 통지를 삭제하면 모든 상황의 캐시에서도 통지가 삭제됩니다.
캐시는 bb-config.properties 구성 파일에서 속성을 사용하여 구성됩니다.
속성 | 키 | 기본값 |
---|---|---|
최대 요소 수 | bbconfig.cache.nautilusCache.elements | 500초 |
수명 | bbconfig.cache.nautilusCache.timetolive | 600초 |
유휴 시간 | bbconfig.cache.nautilusCache.timetoidle | 600초 |
영속 | bbconfig.cache.nautilusCache.eternal | 아니요 |
모듈 표시와 연관된 성능에 문제가 있는 경우 관리자는 이러한 설정을 수정하여 캐시된 통지의 수명을 늘릴 수 있습니다. 하지만 캐시의 수명이 길어지면 날짜가 만료된 통지가 표시될 확률이 더 높아지게 됩니다.
캐시 설정은 통지 배포에 영향을 주지 않습니다.
통지 크기 조정
통지 저장소는 규모가 많이 늘어날 수 있습니다. 이 섹션에는 이를 방지하는 전략이 포함되어 있습니다.
필요하지 않은 통지 비활성화
기본적으로 시스템은 활성화된 모든 통지 즉, 생성될 수 있거나 추후 생성될 모든 통지를 지원되는 모든 이벤트에 전달합니다. 교육기관의 크기와 학기 초 코스 설정 방식에 따라, 이는 표의 크기가 매우 커져 성능 저하가 일어나는 원인이 될 수 있습니다.
필요 없는 통지는 끄는 것이 좋습니다. 이렇게 하려면 코스 설정 => 기본 통지 설정, 조직 설정 => 기본 통지 설정 페이지로 이동한 다음 사용할 수 있는 모든 배포자에 대해 이러한 통지를 항상 끄기로 설정합니다.
또 다른 방법은 바쁜 기간 동안 특정 통지를 꺼두는 것입니다. 예를 들어 코스 템플릿이 완료되는 동안 콘텐츠 항목 사용 가능 통지를 꺼둡니다. 해당 기간 동안 여기에서 대량 통지가 발생할 확률이 크기 때문입니다.
통지 수명 축소
통지에서는 특정 일수가 지난 통지가 정기적으로 삭제됩니다. 기본 설정은 120일이며 이는 학기의 길이와 거의 같습니다. 통지 정리 간격을 업데이트하여 이러한 통지의 수명을 컨트롤할 수 있습니다. 시스템에서 통지를 더 빠르게 제거하려면 이 설정을 낮춥니다. 자세한 내용은 통지 옵션 설정을 참조하십시오.
이 설정은 신중하게 사용하십시오. 삭제된 통지는 검색할 수 없으며 재발행하기가 어렵습니다.
통지 백그라운드 작업
통지 시스템은 두 가지 작업에 의해 동작하며, 이는 모두 bb-tasks.xml 구성 파일에서 정의됩니다.
작업명 | 내부(단위: 분) | 목적 |
---|---|---|
NotificationRemoveStaleDataTask | 5 | 이 작업에는 다양한 기능이 있습니다.
|
DistributionSendNotificationTask | 60 | 등록된 모든 배포자에게 처리되지 않음 상태의 통지를 전송합니다. |
NotificationRemoveStaleDataTask
정리가 수행될 때 관리자는 일반 통지 설정에서 통지의 수명을 설정할 수 있습니다.
마감일이 지나면 모든 마감 통지는 마감지남 이벤트로 바뀝니다. 이러한 모듈에는 과제 마감, 시험 마감, 채점 가능 항목 마감, 설문조사 마감.
이 작업의 마지막 기능인 오래된 수신자 데이터 삭제는 하루에 한 번 실행됩니다. 작업이 시작될 때마다 실행 시간이 되었는지 확인이 수행되며, 시간이 되면 작업이 실행됩니다. 실행 시간은 nautilus_config.properties 구성 파일의 nautilus.staleDataRemove.executionTime 속성에서 지정됩니다.
작업 주기
이 작업의 주기 변경은 다음과 같은 영향을 미칩니다.
- 마감 통지가 마감지남 통지로 얼마나 빨리 바뀌는지가 변경됩니다. 기본 구성에서는 마감일이 지난 후 최대 5분 안에 통지가 바뀝니다.
- 알림장이 얼마나 빨리 전송되는지가 변경됩니다. 기본 구성에서는 알림시간이 지난 후 최대 5분 안에 알림장이 배포됩니다.
- 오래된 데이터 삭제 작업이 얼마나 빨리 실행되는지가 바뀝니다. 기본 구성에서는 지정된 시간의 5분 이내에 이 작업이 실행됩니다.
성능 고려 사항
이 작업의 통지 모두 지우기는 nautilus_config.properties 구성 파일의 nautilus.staleDataRemove.executionTime 속성에서 지정된 야간 시간에 실행됩니다. 기본적으로는 하루에 한 번 오전 1시에 실행되도록 설정되어 있습니다.
이 쿼리는 기본적으로 기한이 지난 통지를 찾아 삭제하는 전체 eud_item_recipient 테이블을 검색하므로 매우 성능 집약적입니다.
이 모든 예방 조치에도 불구하고 이 작업이 시스템에 부담을 주는 경우, 몇 가지 작업을 시도해 볼 수 있습니다.
- 실행 시간을 변경합니다. 많은 교육기관에는 야간에 실행되는 다른 유지보수 작업이 있으며 이 작업이 다른 작업과 충돌하거나 잘못 겹쳐 데이터베이스서버에 이상이 생기는 경우 다른 시간에 실행되도록 설정할 수 있습니다. 좀 더 분명히 말해서, Blackboard는 낮 시간이나 사람들이 시스템을 많이 이용하는 시간에는 이 작업을 실행하지 않을 것을 강력히 권장합니다.
- 통지 저장소의 크기를 줄이기 위한 조치를 취합니다. 통지가 적을 수록 이 쿼리의 실행이 빨라집니다. 이를 수행하기 위한 팁은 통지 크기조정을 참조하십시오.
DistributionSendNotificationTask
이 작업이 너무 긴 시간 동안 실행되지 않도록, 주어진 실행에서 제한된 수의 통지만 처리합니다. 관리자는 nautilus_config.properties 구성 파일의 nautilus.distribution.notificationsPerDistribution 속성에서 이 설정을 구성할 수 있습니다. 기본 설정은 10,000입니다.
배포 작업은 등록된 모든 배포자에게 통지를 전송합니다. 대부분의 교육기관에서는 이메일 배포자에게만 전송됩니다. 새 배포자가 추가될 때마다 어느 정도 성능이 저하됩니다.
작업 주기
이 작업의 주기 변경은 시스템에서 통지가 전송되는 간격을 변경합니다. 기본 구성에서는 통지가 시스템에 도착한 후 1시간 이내에 배포됩니다. 시스템 관리자는 BB_HOME/config/ 폴더에서 tasks.xml 파일을 수정하여 Learn 시스템에서 통지가 배포되는 기간을 설정할 수 있습니다. 기간 값은 blackboard.platform.nautilus.service.internal.DistributionSendNotificationTask에서 확인할 수 있습니다.
호출당 배포되는 통지의 수는 통지가 전송되는 시기에도 영향을 줍니다. 관리자는 nautilus_config.properties 구성 파일의 nautilus.distribution.notificationsPerDistribution에서 이 설정을 구성할 수 있습니다.
성능 고려 사항
이 작업은 상당히 빈번하게 실행되지만 단일 실행에서 처리되는 통지의 수에 최대 한계를 둡니다. 이 두 가지의 배포 방식을 통해 시스템은 통지 로드가 매우 큰 경우(예: 새 코스가 금방 온라인에 등록된 학기 초)에도 통지가 사용 가능하게 되는 즉시 통지를 보낼 수 있으며, 시스템의 성능에 영향을 주지 않습니다.
배포 프로세스에 의해 성능이 저하되는 경우 주기를 축소하여 신속한 처리 성능을 얻을 수 있도록 합니다. 배포에 시간이 너무 오래 걸리면 실행당 처리되는 통지의 수를 줄입니다.
통지가 늦게 도착하는 경우에는 실행당 처리되는 통지의 수와 이 작업의 주기를 축소합니다.
일부 수신자는 명의상으로만 제거됩니다. 즉, 연관된 기록은 실제로 남아 있고 삭제됨 상태로 표시만 됩니다.