ab: Linux web test tool

ref: http://faq.hostway.co.kr/?mid=Linux_WEB&sort_index=readed_count&document_srl=1235&order_type=desc


Apache web server 등이 초당 얼마나 많은 요청을 처리할 수 있는지 측정하는 툴이다


Options


 -k

HTTP Keep-Alive 기능 사용 

-i 

GET 대신 HEAD 사용 

-n [REQUEST_COUNT] 

측정할 요청 수 지정 기본값 1

-t [TIME_LIMIT_SEC] 

측정할 시간 지정. 미지정시 세션에 대하여 50000개의 요청 자동 정의 

-c [SIMULTANEOUSLY_REQUEST_COUNT] 

동시 요청 수 지정. 기본값 1 

-p  [FILE]

POST 요청 및 파일 지정 

-A USER:PASS

사용자 인증

-p USER:PASS 

프록시 서버로의 인증 

-C COOKIE=VALUE 

요청에 쿠키 추가 

-H [HEADER] 

요청에 임의 헤더 추가 

 -T [CONTENT-TYPE]

POST 데이터의 content-type 헤더 지정 

-v 

출력 레벨 지정. 4: 결가괎 상단에 헤더 출력, 3: 결과 상단에 응답코드 출력, 2: 경고,정보 출력 

 -w

HTML table로 결과 출력 

-x <table [ATTRIBUTES]>

HTML <table>에 대한 속성 지정 

-y <tr [ATT]> 

<tr> 속성 지정 

-z <td [ATT]>

<td> 속성 지정 

-V 

버전 정보 출력 후 종료 

-h 

help 


Examples


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[root@LOCALHOST ~]# ab -n 100 -c 10 http://localhost/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
 
Benchmarking localhost (be patient).....done
 
 
Server Software:        Apache/2.2.15
Server Hostname:        localhost
Server Port:            80
 
Document Path:          /
Document Length:        4961 bytes
 
Concurrency Level:      10
Time taken for tests:   0.014 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Non-2xx responses:      103
Total transferred:      531377 bytes
HTML transferred:       510983 bytes
Requests per second:    7204.09 [#/sec] (mean)
Time per request:       1.388 [ms] (mean)
Time per request:       0.139 [ms] (mean, across all concurrent requests)
Transfer rate:          37383.68 [Kbytes/sec] received
 
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0       1
Processing:     0    1   0.4      1       2
Waiting:        0    1   0.4      1       2
Total:          1    1   0.3      1       2
 
Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      1
  80%      1
  90%      2
  95%      2
  98%      2
  99%      2
 100%      2 (longest request)
 
cs


'System Engineering > Linux' 카테고리의 다른 글

Check the disk type in linux (ubuntu)  (0) 2019.11.07
Bash: sed  (0) 2019.05.07
Find files and directory which is using disks very highly  (0) 2018.08.17
Check and recover disk badblocks  (0) 2018.08.16
Apache: Security settings  (0) 2018.08.03

Wowza Streaming Engine


ref: https://www.wowza.com


Intoduce

Wowza media systems의 유료 CDN 플랫폼이다. (구)Wowza Media Server는 미디어 플레이어에 실시간 스트리밍, VOD, 채팅, 원격 녹음 등의 기능을 제공하는 고성능의 확장가능한 대화식 미디어 스트리밍 소프트웨어이다.

Java를 기반 서버로, Java 8이 권장되며, JRE 서버 버전이 같이 설치된다.


Installation

Windows, OS X, Linux 지원

라이센스를 발급받고, Wowza-installer.run 파일을 다운 받아 실행한다.

[install-dir]/conf/Server.license 파일에 라이센스 키가 있다.

기본 설치 위치(Linux): /usr/local/WowzaStreamingEngine-[VERSION]/ (as a root)


Start

1
# /etc/init.d/WowzaStreamingEngine start
cs


http: 1935 포트 접속으로 엔진 동작 확인


성공 확인 후 관리자 시작

1
# /etc/init.d/WowzaStreamingEngineManager start
cs


http:// 8088/enginemanager 실행



관리자 계정으로 로그인하여 플레이어 테스트



[install-dir]/content/sample.mp4 비디오 파일 재생 테스트


Streaming Port

기본 포트

TCP 1935 

RTMP / RTMPE / RTMPT /RTSP 인터리빙 스트리밍 / WOWZ 

TCP 8086-8088 

관리 

UDP 6970-9999 

RTP UDP 스트리밍 


스트리밍 포트 추가 구성도 가능하지만, 다른 프로그램 / 서비스와 포트를 공유할 수 없기 때문에 사전 확인이 필요하다.

TCP 80 

Adobe HDS, Apple HLS, Microsoft Smooth Streaming, MPEG-DASH 스트리밍, RTMPT 

TCP 443 

RTMPS, HTTPS

TCP554 

RTSP 


Log

로그 파일이 기록되는 기본 경로: [install-dir] / logs

기본 로깅수준 INFO는 모니터링 활성화, 정보 수집 가능


Server Configuration

서버 설정

인스턴스 이름, 라이센스, 응용 프로그램 모니터링 기능 등 구성

서버모니터링: 총 리소스 소비(CPU, HEAP, 메모리, 디스크 등), 송수신 커넥션, 네트워크 처리량, 가동시간 모니터링

가상호스트 설정: vhost 환경 관리

가상호스트 모니터링

트랜스코더: 인바운드 소스 스트림 수 모니터링, 트랜스코더 템플릿 관리

미디어 캐시: HTTP 기반 서버 및 네트워크 연결 파일 시스템에서 VOD 파일 원본을 스트리밍하여 VOD 스트림의 확장형으로 사용하는 캐싱 구성

사용자 관리

원본 인증: RTMP / RTSP 기반 인코더 등에 필요한 사용자, 암호관리

성능 조정

로그 관리

SMIL 파일: Synchronized Multimedia integration language. 다양한 비트 전송률 스트림을 HTTP Adaptive bitrate streaming 하는 그룹 구성 관리


Application

스트리밍 컨텐츠 전달을 위한 특정 엔진 구성 옵션



Live

플레이어(단일 서버) 또는 원본 서버로 라이브 스트림 전달

Live Edge

Wowza Media Server 소프트웨어가 실행되는 원본 서버의 라이브 스트림 처리. 라이브 스트림 플레이어에 전달하는데 사용

Live HTTP Origin

HTTP 스트리밍 프로토콜 (Adobe HDS, Apple HLS, MSS, MPEG-DASH)을 사용하여 HTTP 캐싱 인프라에 라이브 스트림 전달

VOD

VOD 파일 플레이어로 스트리밍

VOD Engine

미디어 캐시 소스의 VOD 수집하여 VOD 플레이어로 스트리밍

VOD HTTP Origin

LIVE HTTP Origin과 동일

'CDN - Platform' 카테고리의 다른 글

Streaming Protocol: HLS  (0) 2018.08.21
Streaming Protocols  (0) 2018.08.10

MRTG (Multi Router Traffic Grapher)


ref: http://dpnm.postech.ac.kr/MRTG/mrtg-intro.html


MRTG에 대한 이미지 검색결과


SNMP agent    -->    Manager 로 보내는 자료를 그래픽으로 보여주는 TOOL

Network-link에서 트래픽 부하 감시

WEB UI

Perl, C 기반

설정, 확장 기능이 좋음

에러 패킷 수, 시스템 로드, 모뎀 상태 등 SNMP 변수 쉽게 모니터링


로그 파일이 하디드스크의 용량을 많이 차지 하지 않도록 통합 알고리즘 사용(consolidation)

각 인터페이스 정보를 4단계로 지정. 최근 33시간, 주 , 월, 년 간의 정보

semi-automatic configuration tool


SNMP를 이용하여 기본적인 시스템과 인터페이스 정보 이용

CFG 파일을 사용하여 configuration file 설정

HTML 문서 형식으로 관리가 쉬움

로그 영역: 1200 item = 75MB


How to use


모니터링 대상 라우터에 대한 config file 생성하여 html file에 link 시켜 사용


config file 구성 > mrtg.cfg 파일에 WorkDir 추가 > mrtg 컴파일 > WebUI 구축 > crontab에 mrtg 작업 등록

HLS (HTTP Live Streaming)

Apple사에서 사용하는 표준 HTTP 기반 스트리밍 프로토콜. 스트리밍 데이터를 m3u8 확장자의 재생목록 파일과 잘게 쪼개진 다수의 ts(동영상)파일을 HTTP를 통해 전송하는 방식
- m3u8: m3u 파일이 UTF-8로 인코딩 되어있음
- m3u: 멀티미디어 파일의 재생목록 관리하는 파일
- ts: MPEG-2 Transport Stream 포맷

IETF를 통한 표준화 작업을 통해 다른 업체에서도 HLS 지원이 가능해졌다. 

HLS 전송방식

서버는 HTTP를 통해 클라이언트로부터 요청을 받고, 응답하는 역할만 수행한다. Stream Segmenter는 일정한 시간 간격마다 입력받은 미디어 데이터를 분할해 파일로 만들고, 그 파일에 접근할 메타데이터(m3u8)을 생성하는 역할을 한다.




HLS에서 ABS (Adaptive Bitrate Streaming)을 위해 동시에 여러 비트율의 ts 파일에 대한 정보를 제공한다. 확장성이 높고, 안정적이지만 구조상 파일을 먼저 만들고 스트리밍하는 방식이므로 RTMP/RTSP 방식에 비해 딜레이 문제가 발생할 수 있다.


- 사용자의 네트워크 속도에 따라 적합한 컨텐츠를 선택하여 재생

- 대역폭 변동에 대한 품질 개선 및 안정성

- Apple HLS / Adobe HDS / Microsoft HSS

'CDN - Platform' 카테고리의 다른 글

Platform: Wowza  (0) 2018.08.28
Streaming Protocols  (0) 2018.08.10

SNMP (Simple Network Management Protocol)

네트워크 장비 간 네트워크 관리 및 전송을 위한 프로토콜. UDP / IP (161번 포트) 상에서 동작하는 비교적 단순한 형태의 메시지 교환형 네트워크 관리 프로토콜이다. 구조가 간단하며, 쉽게 관리 적용이 가능. 정보 지향적 동작 구조로, 특정 정보 변수에 대한 단순한 요청/응답 메커니즘 (GET / SET)을 사용한다. Manager - Agent 형태로 동작한다.



2개의 다른 정보 구조 프로토콜과 함께 사용: SMI & MIB

-       SMI (Structure of Management Information)
관리 정보 구조. 변수 작명, 변수 유형, 객체 및 값들을 부호화 등의 규칙. 장비마다 다르게 표현될 수 있는 MIB 객체의 표현 동질성을 유지하는 표준

-       MIB (Management Information Base)
관리 특성을 묘사하는 변수 객체들의 모음



SNMP 장비 구분

Manager (Network Management System)

호스트 등의 관리 시스템. 관리용 메시지를 에이전트에 요청 및 모니터링. Manager S/W, HP OpenView, MRTG, TWSNMP

Agent (Managed Device)

허브, 라우터, 스위치, 브리지, 호스트 등 관리되는 장비. Agent S/W, MIB. 자비 동작에 필요한 변수, 상태 정보 등을 데이터베이스화 하여 유지



SNMP 동작 방식

ManagerAgent에 관리 정보를 요청, agent가 생산하는 MIB 데이터를 통해 관리 역할 수행. MIB에서 Get, Set 등의 명령을 통해 상호 데이터 교환. OSI ASN.1/BER 문법체계를 따른다.



+ Recent posts