'Dev Note/System'에 해당되는 글 4건

  1. 2008.12.12 tpmC 란?
  2. 2008.12.12 [Linux] ssh root 계정 접속 막기
  3. 2008.12.09 [Linux] cron & crontab 설정
Dev Note/System2008. 12. 12. 12:44
tpmC 란?
TPC(Transaction Processing Performance Council, http://www.tpc.org) 에서 TPC-C 벤치마크 시나리오에 대한 1분당 최대처리건수를 나타내는 수치로써, DB기반 OLTP 미들웨어 시스템 서비스를 위한 H/W의 성능을 측정하는 대표적인 방법입니다. 그러나, 최근 들어 각 벤더들은 tpmC수치를 제시하지 않는 추세이며, 각자 고유한 수치의 성능자료를 제시합니다.

TPC는 Transcation Processing Perfomance Council(www.tpc.org)이라는 기관에서는 TPM(Transaction per munitue)라는 수치를 발표합니다.
TPC-C는 양판점(wholesale supplier)의 거래를 대상으로 만든 벤치마크 모델로 다음과 같은 데이터베이스를 사용합니다. 

* Data Base
Table Name Size of Table per Warehouse
WareHosuse
0.089K
District
0.95K
Customer
19.65K
History
1.38K
Order
720K
New-Order
72K
Order-Line
16.2M
Stock
306M
Item
8.2M

* 다섯가지 트랜잭션의 종류가 존재합니다.
New Order, Payment, Order-Status, Delivery, Stock-Level

트랜잭션의 속도메트릭스는 신규주문(New-Order)트랜잭션의 분당 처리수로 표시되는 (tpmC)로 결과가 발표됩니다.

tpmC = 동시사용자수×분당 트랜잭션(사용자수×트랜잭션 복잡도(50%))+인터페이스(가중치%)×네트워크 보정(30%)×피크 타임 보정(50%)×I/O 부하(20%)×년간 업무증가 및 여유율(연 20%)
메모리 용량 = {(OS 커널(100M)+[SGA()]+사용자수×5MB)+[Webserver()]+인터페이스(가중치%)}+여유율(30%)

tpm과 tpmC의 차이점
1. tpm은 각 vendor에서 내부적(비공식)으로 estimate한 값.
2. tpmC는 TPC라는 벤치마킹업체에서 공식정으로 test한 값.
    여기서 C는 벤치마킹업체에서 on-line transaction processing (OLTP) benchmark에
    근거한 값을 말한다고 합니다.
따라서 모든 기종의 tpmC자료는 없고 벤치마킹업체가 test한 일부 high-end서버의 값이
공식적으로 tpc.org라는 사이트에 등록되어 있다고 합니다. 다른 vendor도 마찬가지입니다.
Posted by as.wind.914
Dev Note/System2008. 12. 12. 10:24
ssh 원격접속을 할때 가급적 root로 접속하는 것을 막는다.
타인에게 특히 악의를 가진 어떤 경위로든 비밀번호가 노출되거나 접근이 허용되었을때
그 위험을 최소화하기 위해서는 일반 사용자로 원격 접근하는 버릇을 들이라고 한다.

그래서 ssh 접근 시 root로는 로그인할 수 없게 하는 방법을 알아보자.
리눅스 시스템이 그렇듯이...
ssh 데몬(sshd)의 설정파일에 관련 내용을 기입하고 재시작을 하면 된다.

etc/ssh/sshd_config 에 아래 내용을 기재한다. (주의 -> ssh_config도 있다 헷갈린다.)
PermitRootLogin no
이 내용은 초기에 #PermitRootLogin yes로 되어 있음)
 
/etc/init.d/sshd restart
or
service sshd restart
로 ssh 데몬을 재시작하면 된다.
Posted by as.wind.914
Dev Note/System2008. 12. 9. 11:45
* cron
   - 일정시간마다 시스템에서 자동으로 실행시키는 데몬(Windows의 작업스케줄러와 비슷한 기능)
   - 정기적 작업을 할때 많이 사용
   - cron을 사용할때 crontab이라는 명령을 이용해서 실행한다. (/etc/crontab)
  - 각각의 사용자가 등록한 crontab은 /var/spool/cron/[사용자명]에 저장된다.

* cron 데몬의 시작 & 종료
   - /etc/rc.d/init.d/crond [start/restart/stop]

* crontab
   - 지정된 시간에 다른 프로그램을 실행하면서 연속적으로 실행하는 프로그램
   - 유사한 명령으로는 at 명령어가 있다.

* crontab와 at 명령의 차이점
   - crontab 명령은 일정한 간격으로 계속해서 명령을 실행한다. 하지만 at 명령은 지정된 명령을 한번만 수행.

* crontab 옵션
   -l : 현재 crontab에 의해 설정 된 내용을 출력
   -e : crontab의 내용을 작성하거나 수정
   -r : crontab의 내용을 삭제
   -u : root 권한자가 해당 사용자의 crontab 파일을 다룰때 사용

예) crontab -e -u luffy

* crontab의 작업형식
   [분] [시] [일] [달(월)] [요일] [명령어]
   - 분 : 분을 의미 (0 ~ 59까지 사용)
   - 시 : 시를 의미 (0 ~ 23까지 사용)
   - 일 : 날짜를 의미 (1 ~ 31까지 사용)
   - 달(월) : 달(월)을 의미 (1 ~ 12까지 사용)
   - 요일 : 요일을 의미 (0 ~ 7까지 사용, 0과 7은 일요일을 나타냄)
   - 명령어 : 실행 할 명령어
   구분자는 space로 한다.
   위 형식에서 시간을 나타내는 각 필드에서는 와일드 카드 '*'를 사용할 수 있고, 각각의 요일을 구분할 때는 ','를 사용하고 연일 을 나타낼때는 '-'를 사용한다.
   즉, 월요일과 수요일은 '1,3', 월요일부터 금요일까지는 '1-5'로 표시할 수 있다.
   예) 월요일부터 금요일까지 12시에 /tmp/start라는 스크립트를 실행
      0 12 * * 1-5 /tmp/start
   예) 1월부터 10월까지 2개월마다 매일 12시에 /tmp/start라는 스크립트를 실행
      0 12 1 1-10/2 * /tmp/start (/2는 2달마다라는 표시. 만약 5일마다 작업을 수행시키고 싶으면 0 1 /5 * * [명령]
   예) 월, 수, 금 오전 4시에 /tmp/start라는 스크립트를 실행
      0 4 * * 1,3,5 /tmp/start

* cron 사용자 제한
   - /etc/cron.allow(허가목록)과 /etc/cron.deny(거부목록)을 참조하게 된다.
   - /etc/cron.allow 만 존재하는 경우 : cron.allow 파일에 등록된 사용자만 사용가능
   - /etc/cron.deny만 존재하는 경우 : 기본적으로 모든 사용자가 사용가능하고 cron.deny에 등록된 사용자만 사용불가
   - 두 파일이 모두 없을 경우 : 모든 사용자가 사용가능
   - 두 파일이 모두 있는 경우 : cron.deny 내용을 무시하고 cron.allow 파일에 등록 된 사용자만 사용가능


Posted by as.wind.914