nignx unit 멀티쓰레드 설정

nginx unit 은 1.21.0 버전부터 python 멀티 쓰레드 설정을 할수 있게 되었다.

멀티 쓰레드 설정을 위해서 Appliacation 설정에 threads 키를 추가 하고 원하는 숫자(정수) 를 지정하면 된다.

    "applications": {
        "my_app": {
            "type": "python",
            "path": "/path/to/my/app",
            "module": "wsgi",
            "threads": 4
        }
    }

참고 문서 : https://unit.nginx.org/configuration/#python

nginx unit 는 쓰레드 기반의 아키텍처를 사용하기 때문에 python GIL(글로벌 인터프리터 락)의 영향을 받지 않는다고 한다. https://github.com/nginx/unit/issues/33

winget 모든? 패키지 업그래이드

windows의 winget을 사용하면 편한점이 많다.

winget upgrade 명령하면 아래 처럼 설치된 패키지의 최신 버전을 확인 할수 있다.

> winget upgrade
이름                                                    장치 ID                      버전          사용 가능     원본
-----------------------------------------------------------------------------------------------------------------------
Termius 8.0.2                                           Termius.Termius              8.0.2         8.0.4         winget
Mozilla Firefox (x64 ko)                                Mozilla.Firefox              112.0         117.0         winget
TeamViewer Host                                         TeamViewer.TeamViewer.Host   15.44.5       15.45.3       winget
Microsoft Visual C++ 2015-2019 Redistributable (x64) -… Microsoft.VCRedist.2015+.x64 14.29.30139.0 14.38.32919.0 winget
Microsoft Visual C++ 2015-2019 Redistributable (x86) -… Microsoft.VCRedist.2015+.x86 14.22.27821.0 14.38.32919.0 winget
Microsoft Visual Studio Code (User)                     Microsoft.VisualStudioCode   1.78.2        1.81.1        winget
PowerToys (Preview) x64                                 Microsoft.PowerToys          0.70.1        0.73.0        winget
7 업그레이드를 사용할 수 있습니다.

패키지를 업그래이드 할때는 ? winget upgrade {장치ID} 을 입력 하면 원하는 패키지를 업업그래이드 가능하다.

> winget upgrade  Microsoft.VisualStudioCode
찾음 Microsoft Visual Studio Code [Microsoft.VisualStudioCode] 버전 1.81.1
이 응용 프로그램의 라이선스는 그 소유자가 사용자에게 부여했습니다.
Microsoft는 타사 패키지에 대한 책임을 지지 않고 라이선스를 부여하지도 않습니다.
다운로드 중 https://az764295.vo.msecnd.net/stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/VSCodeUserSetup-x64-1.81.1.exe
  ██████████████████████████████  89.0 MB / 89.0 MB
설치 관리자 해시를 확인했습니다.
패키지 설치를 시작하는 중...
설치 성공

모든 패키지를 업그레이드 하고 싶으면? winget upgrade –all 명령어로 손쉽게 새로운 버전이 있는 모든 패키지 업그레이드가 가능하다.

> winget upgrade --all
이름                                                    장치 ID                      버전          사용 가능     원본
-----------------------------------------------------------------------------------------------------------------------
Termius 8.0.2                                           Termius.Termius              8.0.2         8.0.4         winget
Mozilla Firefox (x64 ko)                                Mozilla.Firefox              112.0         117.0         winget
TeamViewer Host                                         TeamViewer.TeamViewer.Host   15.44.5       15.45.3       winget
Microsoft Visual C++ 2015-2019 Redistributable (x64) -… Microsoft.VCRedist.2015+.x64 14.29.30139.0 14.38.32919.0 winget
Microsoft Visual C++ 2015-2019 Redistributable (x86) -… Microsoft.VCRedist.2015+.x86 14.22.27821.0 14.38.32919.0 winget
PowerToys (Preview) x64                                 Microsoft.PowerToys          0.70.1        0.73.0        winget
6 업그레이드를 사용할 수 있습니다.

(1/6) 찾음 Termius [Termius.Termius] 버전 8.0.4
이 응용 프로그램의 라이선스는 그 소유자가 사용자에게 부여했습니다.
Microsoft는 타사 패키지에 대한 책임을 지지 않고 라이선스를 부여하지도 않습니다.
다운로드 중 https://autoupdate.termius.com/windows/Install%20Termius.exe
  ██████████████████████████████   165 MB /  165 MB
설치 관리자 해시가 일치하지 않습니다.

(2/6) 찾음 Mozilla Firefox [Mozilla.Firefox] 버전 117.0
이 응용 프로그램의 라이선스는 그 소유자가 사용자에게 부여했습니다.
Microsoft는 타사 패키지에 대한 책임을 지지 않고 라이선스를 부여하지도 않습니다.
다운로드 중 https://download-installer.cdn.mozilla.net/pub/firefox/releases/117.0/win64/en-US/Firefox%20Setup%20117.0.exe
  ██████████████████████████████  55.5 MB / 55.5 MB
설치 관리자 해시를 확인했습니다.
패키지 설치를 시작하는 중...
설치 성공
... 생략 ....

출처 : https://learn.microsoft.com/ko-kr/windows/package-manager/winget/

CJ 대한통운 상세조회

SITE : http://nplus.doortodoor.co.kr/web/detail.jsp?slipno={송장번호}

물품 구매를 진행했던 판매 사이트의 배송조회 혹은 CJ 대한통운 공식사이트의 택배조회 보다 상세한 배송 조회를 원한다면 위 주소에서 “{송장번호}” 부분을 자신의 송장번호로 변경하여 웹브라우저 주소에 입력하면 된다.

LVM Cache(dm-cache)

시작

NAS 대용으로 사용중인 서버(미니PC)의 디스크가 부족하게 되어 디스크 증설이 필요했지만 2.5인치 SATA 와 NVME SSD 한개 씩만 지원하는 하드웨어 스팩 덕분에 USB로 쉽게 구성할 수 있는 테라마스터 D2-310 과 WD RED 3TB(WD30EFRX) 하드디스크 2개를 Raid 0으로 디스크 증설을 완료 했지만,

USB 인터페이스(USB 3.1 5Gbps)의 한계 때문인지 5400RPM의 낮은 성능의 디스크 때문인지 SSD를 메인 저장소로 사용했들때 보다 전송속도가 낮아 LVM Cache 적용하게 되었다.

환경

OS : Rocky Linux 8.7 (Green Obsidian)

Disk : sda 5.5TB(D2-310 Raid 0), nvme0n1 2TB

LVM Cache 적용

PV(Physical Volume)설정 과 및 VG(Volume Group) 생성

pvcreate /dev/sda1
pvcreate /dev/nvme0n1p1
vgcreate VG /dev/sda1 /dev/nvme0n1p1

LV(Logical Volume) 생성

#HDD Disk Logical Volume
lvcreate -l 100%FREE -n lv_data1 VG1 /dev/sda
#SSD Cache Memta Volume
lvcreate -L 8G -n lv_cache_meta1 VG1 /dev/nvme0n1p1
#SSD Cache Volume
lvcreate -l 234370 -n lv_cache_data1 VG1 /dev/nvme0n1p1

LVM Cache 설정

# Cache 볼륨과 Meta 볼륨을 결함으로 Cache Pool 을 설정.
# Writethrough 및 Writeback 을 설정 한다.
lvconvert --type cache-pool --cachemode writethrough --poolmetadata VG/lv_cache_meta1 vg1/lv_cache_data1
# Data Volume(실제 데이터 볼륨)을 Cache Pool 과 결함하여 Cache 적용
lvconvert --type cache --cachepool VG/lv_cache_data1 VG/lv_data1
  • Cachemode
    1. writethrough
      • 데이터를 쓸때 캐쉬를 사용지 않는다.
    2. writeback
      • 데이터를 쓸때 캐쉬에 먼저 저장 후 디스크에 저장한다.

그리고.

지금 까지 적용한 내용은 RHEL 6를 메뉴얼을 바탕으로 작성되었다.

RHEL 7 메뉴얼 에서는 Cache pool 생성을 “lvcreate” 단계에서 완료 한다.

LVM Cache RHEL 7.1 부터 정식 지원한다.

더 자세한 내용은 아래 참고 사이트를 확인해본다.