본문 바로가기
반응형

공부381

[mysql] USER level Lock 설정을 했는데 해제가 안되는 경우. 프로젝트에서 USER LOCK(get_lock) 을 사용하는데 서버에 문제가 생겨 잠시 버벅거리다가 다시 실행하려고 하니 해당 락이 계속 살아있는 경우가 있었다. 그래서 RELEASE_LOCK() 을 이용해 풀면 리턴값이 0으로 나오는데 다시 조회해보면 여전히 살아있다. 아래는 LOCK 관련 메서드를 정리한 것이다. # LOCK 획득- GET_LOCK(str, timeout) # LOCK 사용중인지 확인- IS_USED_LOCK(str) # LOCK 해체- RELEASE_LOCK(str) LOCK 을 해제할때 show processlist; 를 이용해 State 가 'Waiting for table metadata lock' 상태의 것만 kill 하면 된다고 하는데, 실제로 그런 상태값이 있는건 없었다... 2019. 2. 15.
[centos] dstat 로그 남기기(자원활용 점검) 시작 스크립트 vi dstat_start.sh #!/bin/bash ## Today date ##DATE=`/bin/date +%Y%m%d` ## dstat start ##_START(){rm -rf nohup.outnohup dstat -tcmdnl 60 >> ./log/dstat_$DATE.log &} _START 종료 스크립트 vi dstat_stop.sh #!/bin/bash ## dstat stop ##_STOP(){DSTATPID=`ps -ef | grep -i dstat | grep -v "grep" | awk '{print $2'`kill -9 $DSTATPID} 권한추가 chmod +x dstat_start.shchmod +x dstat_stop.sh crontab 설정 crontab -.. 2019. 2. 6.
DBMS 선택시 서버자원 우선순위 클라우드 서버를 사용하면서 자원을 어떻게 배치할 것인가는 늘 이슈였다. 그런데 최근 AWS를 보면서 RDS 서버의 경우 유독 메모리가 높게 잡히는 것을 보았다. 왜 그런지 살펴보니 다음과 DBMS의 성능을 고려할때 다음 순서에 따라 고려한다고 한다. 1. RAM(or SSD) => 데이터크기에 따라2. SSD(or RAM)3. CPU DB의 크기와 동일한 데이터에 대한 엑세스 빈도에 따라 다르지만 작은것들은 RAM 캐싱을 사용하는 것이 좋고, 데이커가 커질수록 결국 하드디스크와의 IO를 염두해야하는데, 이떄 SSD가 좋은 퍼포먼스를 낼 수 있다. 그래서 데이터 크기에 따라 RAM 보다 SSD가 선호되는 경우도 있다. 그래서 AWS에서 제공하는 RDS 의 성능을 보면 vCPU에 비해 메모리 증가폭이 큰데 .. 2019. 1. 28.
[centos] ssh 암호없이 접속하기(ssh-copy-id) 1. 내 ssh 키를 생성한다.2. public key를 대상서버에 복사한다.3. 클라이언트에 ssh 로 접속한다.- 만약 안되는 경우 selinux를 살펴본다. ssh 키를 생성 ssh-keygen -t rsa 대상 서버에 복사 ssh-copy-id [ID]@[IP주소] # 비밀번호를 물어본다. 입력하면 완료된다. 접속하기 ssh [ID]@[IP주소] 만약 비밀번호를 또 물어본다면적용이 제대로 안된 것이다.이떈 selinux를 의심해볼 필요가 있다. 대상서버에 접속해서 다음의 명령어를 실행한다. chcon -t ssh_home_t ~/.ssh/chcon -t ssh_home_t ~/.ssh/authorized_keys 끝. 2019. 1. 28.
[nginx] reverse-proxy 구성할 경우 ssl 설정을 어디에 둬야할까 SSL을 적용해야 하는데 인증서를 어디까지 등록해두어야 할지 문득 궁금해서 다음과 같은 테스트를 했다. 구성:서버 1)nginx 서버 1 => 서버 2 그래서 서버 1번과 서버 2번에 각각 SSL 을 설정해 놓고 온오프로 테스트 해보왔다. 테스트 결과는 다음과 같다 - 서버1: 설정 / 서버2: 설정 => OK- 서버1: 설정 / 서버2: 미설정 => OK- 서버1: 미설정 / 서버2: 설정 => Fail 즉 서버1 에만 설정해두어도 된다. 2019. 1. 27.
[docker] pulling 이 안될경우 (connection refused) 컨테이너를 띄우는데 다음의 에러가 발생한다. Pulling card-nginx (nginx:latest)...ERROR: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:40562->[::1]:53: read: connection refused 인터넷에 살펴보니 새로설치하느니 어째느니 말이 많던데 상용화중이고, 문제가 생길때마다 매번 그렇게 처리할 순 없었다. 그래서 좀더 살펴보니 다행히 좀더 간편한 방법이 있었다. 도메인네임서비스에 구글 DNS를 등록하면 되었다. vi /etc/resolv.conf nameserver 8.8.8.8 다시해보니 정상작동한다. Pulli.. 2019. 1. 25.
반응형