영어프랑스어스페인어

Ad


온웍스 파비콘

memcaslap - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 memcaslap을 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 memcaslap 명령입니다.

프로그램:

이름


memaslap - libmemcached 문서

개요


메마스랩 [옵션]

--도움

MEMCACHED_SERVERS

기술


메마스랩 Memcached 서버를 위한 로드 생성 및 벤치마크 도구입니다. 생성합니다
스레드, 동시성, 연결, 런타임, 덮어쓰기 등 구성 가능한 워크로드
누락률, 키 크기, 값 크기, 가져오기/설정 비율, 예상 처리량 등.
또한 데이터 확인, 만료 시간 확인, UDP, 바이너리도 테스트합니다.
프로토콜, 페이스북 테스트, 복제 테스트, 멀티겟 및 재접속 등

Memaslap은 libevent를 사용하여 memcached와 같은 네트워크 연결을 관리합니다. 메마스랩의 실 하나하나
CPU 코어와 바인딩되어 있으며 모든 스레드는 서로 통신하지 않습니다.
각 스레드에 여러 개의 소켓 연결이 있습니다. 각 연결은 키 크기 분포를 유지합니다.
값 크기 분포 및 명령 분포 자체.

다음을 통해 서버를 지정할 수 있습니다. 멤스랩 --서버 옵션 또는 환경 변수를 통해
MEMCACHED_SERVERS.

STYLE


Memslap은 다음과 같은 목적으로 개발되었습니다.

libevent와의 네트워크 연결을 비동기적으로 관리합니다.

비차단 IO를 사용하도록 TCP와 UDP를 모두 설정합니다.

병렬성 향상: 다중 스레드 환경에서 성능이 향상됩니다.

시간 효율성 향상: 처리 속도가 빨라집니다.

키와 값을 보다 효율적으로 생성합니다. 키 크기 분포 및 값 크기
배포를 구성할 수 있습니다.

get, multi-get 및 set 명령을 지원합니다. 명령 배포를 구성할 수 있습니다.

제어 가능한 누락률 및 덮어쓰기 비율을 지원합니다.

데이터 및 만료 시간 확인을 지원합니다.

주기적으로 통계 정보를 덤프하는 기능을 지원합니다.

수천 개의 TCP 연결을 지원합니다.

바이너리 프로토콜을 지원합니다.

페이스북 테스트(TCP로 설정, UDP로 멀티겟)와 복제 테스트를 지원합니다.

세부 사항


유효한 이행 of 네트워크.
memaslap의 경우 TCP와 UDP 모두 비차단 네트워크 IO를 사용합니다. 모든 네트워크 이벤트는
memcached로 libevent에 의해 관리됩니다. memaslap의 네트워크 모듈은 memcached와 유사합니다.
Libevent는 memaslap이 네트워크를 매우 효율적으로 처리할 수 있도록 보장합니다.

유효한 이행 of 멀티스레드 동시성
Memslap은 memcached와 유사한 멀티 스레드 구현을 제공합니다. Memslap이 하나를 만듭니다
또는 더 많은 자체 관리 스레드; 시스템이 테스트하는 경우 각 스레드는 하나의 CPU 코어와 바인딩됩니다.
CPU 코어 선호도 설정.

또한 각 스레드에는 네트워크 이벤트를 관리하는 libevent가 있습니다. 각 스레드
하나 이상의 자체 관리 동시성을 갖습니다. 각 동시성에는 하나 이상의 소켓이 있습니다.
사이. 모든 동시성은 서로 통신하지 않습니다.
같은 스레드에서.

Memslap은 수천 개의 소켓 연결을 생성할 수 있으며 각 동시성에는 수십 개의 소켓 연결이 있습니다.
소켓 연결. 각 동시성은 하나의 소켓을 무작위로 또는 순차적으로 선택합니다.
소켓 연결 풀에서 연결을 실행하므로 memaslap은 각 동시성을 보장할 수 있습니다.
주어진 시간에 하나의 소켓 연결을 처리합니다. 사용자는 수를 지정할 수 있습니다
예상에 따른 각 동시성의 동시성 및 소켓 연결
작업량.

유효한 이행 of 생성 가치
시간 효율성과 공간 효율성을 높이기 위해 메마스랩은 랜덤을 생성합니다.
10천만 자의 문자 테이블입니다. 키와 값의 모든 접미사가 생성됩니다.
이 임의의 문자 테이블에서.

Memslap은 문자표의 오프셋과 문자열 길이를 사용하여
끈. 많은 메모리를 절약할 수 있습니다. 각 키에는 접두사와 접미사의 두 부분이 포함되어 있습니다. 그만큼
접두사는 uint64_t, 8바이트입니다. 이전에 설정된 데이터를 확인하려면 memaslap이 필요합니다.
각 키가 고유한지 확인하여 접두사를 사용하여 키를 식별합니다. 접두사는 다음과 같습니다.
'r', 'n', '0', ' ' 등의 잘못된 문자를 포함합니다. 그리고 memaslap에는 알고리즘이 있습니다
그것을 보장하기 위해.

Memslap은 처음에 모든 개체(키-값 쌍)를 생성하지 않습니다. 그것만
각 작업 창(기본값 10K 개체)을 채울 만큼 충분한 개체를 생성합니다.
동시성. 각 객체에는 다음과 같은 기본 정보, 키 접두사, 키 접미사가 있습니다.
문자표의 오프셋, 키 길이, 문자표의 값 오프셋, 값
길이.

작업 프로세스에서 각 동시성은 순차적으로 또는 무작위로 개체를 선택합니다.
작업을 설정하거나 작업을 가져오는 창입니다. 동시에, 각 동시성은 시작됩니다.
창 밖으로 개체를 내보내고 새 개체를 추가합니다.

단순, 간단, 편리 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만 유용 태스크 일정
Memslap은 libevent를 사용하여 스레드의 모든 동시성과 각 동시성을 예약합니다.
로컬 작업 창을 기반으로 작업을 예약합니다. Memslap은 각 동시성이 다음과 같이 가정합니다.
동일한 키 배포, 값 배포 및 명령 배포를 유지합니다.
외부에서는 memaslap이 모든 배포를 전체적으로 유지합니다. 각 작업 창에는 많은 내용이 포함되어 있습니다.
객체의 경우 각 객체는 키, 값, 만료 시간 등 기본 정보를 저장합니다.
곧. 언제든지 창의 모든 개체는 동일하고 고정된 키와 값을 유지합니다.
분포. 객체를 덮어쓰면 객체의 값이 업데이트됩니다.
Memslap은 저장된 개체 정보에 따라 데이터 또는 만료 시간을 확인합니다.
작업 창.

Libevent는 특정 네트워크 이벤트를 기반으로 처리할 동시성을 선택합니다. 그런 다음
동시성은 명령에 따라 작동할 명령(가져오기 또는 설정)을 선택합니다.
분포. 유지하기 위해 기존 개체를 제거하고 새 개체를 추가해야 하는 경우
동일한 키와 값 분포를 유지하려면 새 객체의 키 길이와 값이 동일해야 합니다.
값 길이.

memcached 서버에 두 개의 캐시 레이어(메모리와 SSD)가 있는 경우 memaslap을 다른 레이어로 실행
창 크기는 캐시 실패율이 다를 수 있습니다. memaslap이
시작 부분에 창이 있으며 memcached 캐시는 모든 개체를 저장할 수 없습니다.
초기화되면 memaslap은 두 번째 캐시 레이어에서 일부 개체를 가져옵니다. 원인이 됩니다
놓친 첫 번째 캐시 레이어. 따라서 사용자는 예상되는 결과를 얻기 위해 창 크기를 지정할 수 있습니다.
첫 번째 캐시 레이어의 실패율입니다.

유능한 이행 of 다중 서버 , UDP, TCP, 멀티겟 프로토콜
각 스레드는 자체 관리되기 때문에 memaslap은 처리할 다른 스레드를 할당할 수 있습니다.
다른 memcached 서버. 이것은 memaslap이 여러 테스트를 수행하는 방법 중 하나일 뿐입니다.
서버. 유일한 제한은 서버 수가 서버 수보다 클 수 없다는 것입니다.
스레드 수. 여러 서버를 테스트하는 또 다른 방법은 복제 테스트입니다. 각
동시성은 각 memcached 서버에 대해 하나의 소켓 연결을 갖습니다. 구현을 위해,
memaslap은 일부 개체를 하나의 memcached 서버로 설정하고 이러한 개체를
다른 서버.

기본적으로 Memslap은 단일 가져오기를 수행합니다. 사용자가 multi-get 옵션을 지정하면 memaslap은
get 명령을 충분히 수집하고 명령을 함께 압축하여 보냅니다.

Memslap은 ASCII 프로토콜과 바이너리 프로토콜을 모두 테스트하지만 ASCII에서 실행됩니다.
기본적으로 프로토콜. Memslap은 기본적으로 TCP 프로토콜에서 실행되지만 UDP도 테스트합니다.
UDP는 신뢰할 수 없기 때문에 패키지가 삭제되거나 순서가 잘못된 패키지가 발생할 수 있습니다. 멤스랩
이러한 문제를 처리하기 위해 메모리 버퍼를 생성합니다. Memslap은 모든 응답을 읽으려고 시도합니다.
서버에서 하나의 명령에 대한 데이터를 가져와 응답 데이터를 재정렬합니다. 일부 패키지가 도착하면
손실되면 대기 시간 초과 메커니즘을 통해 반쯤 구운 패키지가 폐기되고
다음 명령이 전송됩니다.

사용법


다음은 몇 가지 사용 샘플입니다.

memaslap -s 127.0.0.1:11211 -S 5s

memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

사용자는 memaslap을 실행하기 위해 최소한 하나의 서버를 지정해야 합니다. 나머지 매개변수에는
기본값은 아래와 같습니다.

스레드 수 = 1 동시성 = 16

런타임 = 600초 구성 파일 = NULL

키 크기 = 64 값 크기 = 1024

가져오기/설정 = 9:1 창 크기 = 10k

실행 번호 = 0 단일 가져오기 = true

Multi-get = false 각 동시성의 소켓 수 = 1

재연결 = false 데이터 확인 = false

만료 시간 확인 = false ASCII 프로토콜 = true

바이너리 프로토콜 = false 덤핑 통계 정보

주기적으로 = 거짓

덮어쓰기 비율 = 0% UDP = false

TCP = true 처리량 제한 = false

Facebook 테스트 = false 복제 테스트 = false

크기, 가치 크기 명령 유통.
모든 배포판은 사용자가 지정한 구성 파일에서 읽혀집니다.
"—cfg_cmd" 옵션. 사용자가 구성 파일을 지정하지 않으면 memaslap이 실행됩니다.
기본 배포(키 크기 = 64, 값 크기 = 1024, 가져오기/설정 = 9:1)를 사용합니다. 을 위한
구성 파일을 편집하는 방법에 대한 자세한 내용은 "구성 파일"을 참조하십시오.
안내

최소 키 크기는 16바이트입니다. 최대 키 크기는 250바이트입니다. 정밀도
비율은 0.001입니다. 배분비율은 소수점 이하 3자리에서 반올림됩니다.

최소값 크기는 1바이트입니다. 최대 값 크기는 1M 바이트입니다. 정밀도
비율은 0.001입니다. 배분비율은 소수점 이하 3자리에서 반올림됩니다.
현재 memaslap은 set 및 get 명령만 테스트합니다. 그리고 100% set과 100% get을 테스트합니다.
100% 가져오기의 경우 일부 개체를 서버에 미리 설정합니다.

다중 스레드 동시성
메마스랩의 높은 성능은 실과 특수한 스케줄로 인해 발생합니다.
동시성. 적절한 수를 지정하는 것이 중요합니다. 기본 개수
스레드는 1입니다. 기본 동시성 수는 16입니다. 사용자는 "—threads"를 사용할 수 있으며
"--concurrency"를 사용하여 이러한 변수를 지정합니다.

시스템이 CPU 선호도 설정과 사용자가 지정한 스레드 수를 테스트하는 경우
1보다 크면 memaslap은 각 스레드를 다른 CPU 코어에 바인딩하려고 시도합니다. 그래서 만약
최고의 성능을 원하는 memaslap의 수를 지정하는 것이 좋습니다.
스레드는 CPU 코어 수와 동일합니다. 사용자가 지정한 스레드 수
또한 CPU 코어 수보다 작거나 커야 합니다. 의 제한 때문에
구현 시 동시성 수는 동시성 수의 배수가 될 수 있습니다.
스레드.

1. 8개의 CPU 코어 시스템의 경우

예 :

--스레드=2 --동시성=128

--스레드=8 --동시성=128

--스레드=8 --동시성=256

--스레드=12 --동시성=144

2. 16개의 CPU 코어 시스템의 경우

예 :

--스레드=8 --동시성=128

--스레드=16 --동시성=256

--스레드=16 --동시성=512

--스레드=24 --동시성=288

memaslap은 memcached 서버의 성능을 테스트하는 데 사용될 때 매우 잘 수행됩니다.
대부분의 경우 병목 현상은 네트워크나 서버에서 발생합니다. 어떤 이유로든 사용자가
memaslap의 성능을 제한하려는 경우 이를 수행하는 두 가지 방법이 있습니다.

스레드 및 동시성 수를 줄입니다. memaslap하는 "--tps" 옵션을 사용하십시오.
처리량을 제한하는 기능을 제공합니다. 이 옵션을 사용하면 사용자가 예상한 결과를 얻을 수 있습니다.
처리량. 예를 들어, 특정 네트워크에 대해 최대 처리량이 50kops/s라고 가정합니다.
구성에 따라 처리량을 최대 처리량 이하로 지정할 수 있습니다.
"--tps" 옵션을 사용합니다.

크기
대부분의 경우 사용자는 창 크기를 지정할 필요가 없습니다. 기본 창
크기는 10k입니다. Schooner Memcached의 경우 사용자는 다양한 창 크기를 지정하여 얻을 수 있습니다.
테스트 케이스에 따라 캐시 미스율이 다릅니다. Memslap은 다음 사이의 캐시 미스율을 테스트합니다.
0%와 100%. Schooner Memcached의 성능을 테스트하기 위해 이 유틸리티를 사용하는 경우
예상되는 캐시 실패율을 얻기 위해 적절한 창 크기를 지정할 수 있습니다. 에 대한 공식
창 크기를 계산하는 방법은 다음과 같습니다.

키 크기가 128바이트, 값 크기가 2048바이트라고 가정하고,
동시성=128.

1. 소형 캐시 캐시_크기=1M, 100% 캐시 누락(모든 데이터는 SSD에서 가져옴). win_size=10k

2. 캐시_크기=4G

(1). 캐시 미스율 0%

win_size=8k

(2). 캐시 미스율 5%

win_size=11k

3. 캐시_크기=16G

(1). 캐시 미스율 0%

win_size=32k

(2). 캐시 미스

비율 5%

win_size=46k

캐시 실패율 0%에 대한 창 크기 계산 공식:

캐시_크기 / 동시성 / (key_size + value_size) * 0.5

캐시 실패율 5%에 대한 창 크기 계산 공식:

캐시_크기 / 동시성 / (key_size + value_size) * 0.7

확인
Memslap은 데이터 확인과 만료 시간 확인을 모두 테스트합니다. 사용자는 사용할 수 있습니다
"--verify=" 또는 "-v"는 데이터 확인 비율을 지정합니다. 이론적으로는 테스트합니다.
100% 데이터 검증. 사용자는 "--exp_verify=" 또는 "-e"를 사용하여 비율을 지정할 수 있습니다.
만료 시간 확인. 이론적으로는 100% 만료 시간 확인을 테스트합니다. 지정하다
더 자세한 오류 정보를 얻으려면 "--verbose" 옵션을 사용하세요.

예: --exp_verify=0.01 –verify=0.1 , 이는 다음으로 설정된 객체의 1%를 의미합니다.
만료 시간이 지나면 획득한 개체의 10%가 확인됩니다. 물건을 획득한 경우,
memaslap은 만료 시간과 가치를 확인합니다.

다중 서버 다중 구성
Memslap은 자체 관리 스레드를 기반으로 다중 서버를 테스트합니다. 이라는 한계가 있습니다
서버 수는 스레드 수보다 클 수 없습니다. Memslap이 하나를 할당합니다
최소한 하나의 서버를 처리하는 스레드입니다. 사용자는 "--servers=" 또는 "-s" 옵션을 사용하여 다음을 수행할 수 있습니다.
다중 서버를 지정합니다.

예 :

--servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36

위 명령은 6개의 스레드가 있고 각 스레드에는 6개의 동시성이 있음을 의미합니다.
스레드 0과 3은 서버 0(10.1.1.1)을 처리합니다. 스레드 1과 4는 서버 1을 처리합니다.
(10.1.1.2); 스레드 2와 5는 서버 2(10.1.1.3)를 처리합니다.

memaslap의 모든 스레드와 동시성은 자체 관리됩니다.

메마스랩도 마찬가지다. 사용자는 여러 개의 memaslap 인스턴스를 시작할 수 있습니다. 사용자는 실행할 수 있습니다
memaslap은 다른 클라이언트 시스템에서 동일한 memcached 서버와 통신합니다.
같은. 사용자는 다음을 사용하여 다른 기계에서 다른 memaslap을 시작하는 것이 좋습니다.
동일한 구성.

달리기 실행 번호 모드 or 시간 모드
기본 memaslap은 시간 모드로 실행됩니다. 기본 실행 시간은 10분입니다. 시간이 지나면
나가면 memaslap이 종료됩니다. 실행 번호 모드와 시간 모드를 동시에 지정하지 마십시오.
시간; 대신 하나만 지정하세요.

예 :

--time=30s (테스트가 30초 동안 실행된다는 의미입니다.)

--execute_number=100000 (100000개의 명령을 실행한 후 테스트가 종료된다는 의미입니다.)

덤프 통계량 정보 주기적으로.
사용자는 "--stat_freq=" 또는 "-S"를 사용하여 빈도를 지정할 수 있습니다.

예 :

--stat_freq=20초

Memslap은 다음과 같은 빈도로 명령(get 및 set)의 통계를 덤프합니다.
20 초.

덤핑 통계 정보의 형식에 대한 자세한 내용은 “형식”을 참조하세요.
출력'섹션.

멀티겟
사용자는 "--division=" 또는 "-d"를 사용하여 다중 가져오기 키 수를 지정할 수 있습니다. Memslap 작성자:
기본값은 TCP를 사용하여 단일 가져오기를 수행합니다. Memslap은 데이터 검증 및 만료 시간도 테스트합니다.
멀티겟 확인.

Memslap은 TCP와 UDP를 모두 사용하여 멀티겟을 테스트합니다. 구현 방법이 다르기 때문에
ASCII 프로토콜과 바이너리 프로토콜에는 둘 사이에 몇 가지 차이점이 있습니다. 을 위한
ASCII 프로토콜인 memaslap은 하나의 "multi-get"을 서버에 한 번 보냅니다. 바이너리의 경우
프로토콜에 따라 memaslap은 여러 개의 단일 get 명령을 "multi-get"으로 함께 보냅니다.
서버.

UDP TCP
Memslap은 UDP와 TCP를 모두 테스트합니다. TCP의 경우 memaslap은 memcached 서버에 다시 연결하지 않습니다.
소켓 연결이 끊어진 경우. 모든 소켓 연결이 끊어졌거나 memcached 서버가 있는 경우
충돌이 발생하면 memaslap이 종료됩니다. 사용자가 소켓 연결 시 "--reconnect" 옵션을 지정한 경우
연결이 끊어지면 다시 연결됩니다.

사용자는 "--udp"를 사용하여 UDP 기능을 활성화할 수 있지만 UDP에는 몇 가지 제한 사항이 있습니다.

UDP는 1400바이트 이상의 데이터를 설정할 수 없습니다.

memcached의 바이너리 프로토콜은 UDP를 테스트하지 않으므로 UDP는 바이너리 프로토콜로 테스트되지 않습니다.
그것을 테스트하지 않습니다.

UDP는 재연결을 테스트하지 않습니다.

페이스북 test
TCP로 데이터를 설정하고 UDP로 멀티겟을 설정합니다. 다음 옵션을 지정합니다.

"--facebook --division=50"

수천 개의 TCP 연결을 생성하려면 다음을 지정하십시오.

"--conn_sock=" 옵션.

예: --facebook --division=50 --conn_sock=200

위 명령은 memaslap이 페이스북 테스트를 수행한다는 것을 의미하며, 각 동시성은 200입니다.
소켓 TCP 연결 및 하나의 UDP 소켓.

Memslap은 TCP 소켓으로 객체를 설정하고 UDP로 50개의 객체를 한 번에 다중 가져옵니다.
소켓.

"--division=50"을 지정하는 경우 UDP가 키 크기를 25바이트보다 작아야 합니다.
패킷 크기는 1400바이트입니다.

복제 test
복제 테스트를 위해서는 사용자가 Memcached 서버를 두 개 이상 지정해야 합니다. 사용자는 다음을 수행할 수 있습니다.
기능을 활성화하려면 “—rep_write=” 옵션을 사용하십시오.

예 :

--서버=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2

위 명령은 복제 memcached 서버가 2개 있다는 의미이며, memaslap이 설정됩니다.
개체를 서버 0과 서버 1 모두에 전달하고 이전에 서버 0으로 설정된 개체를 가져옵니다.
서버 1, 이전에 서버 1로 설정된 개체도 서버 0에서 가져옵니다. 서버 0인 경우
충돌이 발생하면 memaslap은 서버 1에서만 개체를 ​​가져옵니다. 서버 0이 다시 활성화되면
다시 한번, memaslap은 서버 0을 다시 연결합니다. 서버 0과 서버 1이 모두 충돌하는 경우, memaslap
종료됩니다.

지원 수천 of TCP 연결
이 기능을 활성화하려면 "--conn_sock=" 또는 "-n"으로 memaslap을 시작하세요. 당신의
시스템은 수천 개의 파일 열기와 수천 개의 소켓 생성을 테스트할 수 있습니다. 하지만,
이 기능은 소켓 연결이 끊어진 경우 재연결을 테스트하지 않습니다.

예 :

--스레드=8 --동시성=128 --conn_sock=128

위 명령은 memaslap이 8개의 스레드를 시작하고 각 스레드에는 16개의 스레드가 있음을 의미합니다.
동시성에는 각 동시성에는 128개의 TCP 소켓 연결이 있으며 총 개수는
TCP 소켓 연결은 128 * 128 = 16384입니다.

지원 프로토콜
이 기능을 활성화하려면 "--binary" 또는 "-B" 옵션을 사용하여 memaslap을 시작하세요. 그것은 모든 것을 테스트합니다
UDP를 제외한 위 기능은 최신 memcached 1.3.3이 바이너리를 구현하지 않기 때문입니다.
UDP 프로토콜.

예 :

--바이너리

memcached 1.3.3은 바이너리 UDP 프로토콜을 구현하지 않기 때문에 memaslap은 UDP를 테스트하지 않습니다.
또한 memcached 1.3.3은 다중 가져오기를 테스트하지 않습니다. "--division=50"을 지정하는 경우
옵션을 선택하면 50개의 get 명령을 "multit-get"으로 함께 서버에 보냅니다.

구성 FILE


이 섹션에서는 구성 파일의 형식에 대해 설명합니다. 기본적으로 없음
구성 파일이 지정되면 memaslap은 다음 위치에 있는 기본 파일을 읽습니다. ~/.memaslap.cnf.

다음은 샘플 구성 파일입니다.

-------------------------------------------------- -------------------------
#설명은 '#'으로 시작해야 합니다.
#열쇠
#start_len end_len 비율
#
#start_len부터 end_len까지의 키 길이 범위
#start_len은 16보다 크거나 같아야 합니다.
#end_len은 250보다 작거나 같아야 합니다.
#start_len은 end_len보다 크거나 같아야 합니다.
#memaslap은 키 범위에 따라 키를 생성합니다.
#proportion: 전체에 대한 하나의 범위 계정에서 생성된 키를 나타냅니다.
생성된 키
#
#예1: 키 범위 16~100이 80%를 차지합니다.
# 키 범위 101~200이 10%를 차지합니다.
# 키 범위 201~250이 10%를 차지합니다.
# 총계는 1이어야 합니다(0.8+0.1+0.1 = 1).
#
# 16
# 101
# 201
#
#예2: 모든 키 길이는 128바이트입니다.
#
# 128

+ 128 128 1
#값
#start_len end_len 비율
#
#값 길이 범위는 start_len부터 end_len까지입니다.
#start_len은 1보다 크거나 같아야 합니다.
#end_len은 1M 이하여야 합니다.
#start_len은 end_len보다 크거나 같아야 합니다.
#memaslap은 값 범위에 따라 값을 생성합니다.
#proportion: 한 범위 계정에서 생성된 값을 나타냅니다.
총 생성된 값
#
#예1: 값 범위 1~1000이 80%를 차지합니다.
# 값 범위 1001~10000은 10%를 차지합니다.
# 값 범위 10001~100000은 10%를 차지합니다.
# 총계는 1이어야 합니다(0.8+0.1+0.1 = 1).
#
# 1
# 1001
# 10001
#
#예2: 모든 값 길이는 128바이트입니다.
#
# 128
가치
+ 2048 2048 1
#cmd
#cmd_type cmd_비율
#
#현재 memaslap에서는 get 및 set 명령만 테스트합니다.
#
#cmd_type
#세트 0
#1개를 얻으세요
#
#예: 명령 계정을 50%로 설정
# 50%의 명령 계정을 얻습니다.
# 총계는 1이어야 합니다(0.5+0.5 = 1).
#
# cmd
# 0
# 1
cmd를
0 0.1
1.0 0.9

FORMAT OF 출력


처음에 memaslap은 다음과 같은 일부 구성 정보를 표시합니다.

서버 : 127.0.0.1:11211

스레드 수: 1

동시성: 16

런타임: 20초

창 크기: 10k

비율 설정: set_prop=0.10

비율 얻기: get_prop=0.90

어디에
서버 : "서버"
memaslap이 사용하는 서버입니다.

스레드 수
memaslap이 실행되는 스레드 수입니다.

동시성
memaslap이 실행하는 동시성 수입니다.

실행 시간
메마스랩을 실행하는 데 걸리는 시간.

창문 크기
각 동시성의 작업 창 크기입니다.

비율을 설정하다
세트 명령의 비율.

비율을 얻다
get 명령의 비율입니다.

동적 통계의 출력은 다음과 같습니다.

-------------------------------------------------- -------------------------------------------------- -----------------------------
통계 가져오기
유형 시간 작업 TPS(작업/초) 순(M/s) Get_miss 최소(us) 최대(us)
평균(미국) Std_dev Geo_dist
기간 5 345826 69165 65.3 0 27 2198 203
95.43 177.29
글로벌 20 1257935 62896 71.8 0 26 3791 224
117.79 192.60

통계 설정
유형 시간 작업 TPS(작업/초) 순(M/s) Get_miss 최소(us) 최대(us)
평균(미국) Std_dev Geo_dist
기간 5 38425 7685 7.3 0 42 628 240
88.05 220.21
글로벌 20 139780 6989 8.0 0 37 3790 253
117.93 224.83

총 통계
유형 시간 작업 TPS(작업/초) 순(M/s) Get_miss 최소(us) 최대(us)
평균(미국) Std_dev Geo_dist
기간 5 384252 76850 72.5 0 27 2198 207
94.72 181.18
글로벌 20 1397720 69886 79.7 0 26 3791 227
117.93 195.60
-------------------------------------------------- -------------------------------------------------- -----------------------------

어디에
통계 가져오기
get 명령의 통계 정보

통계 설정
set 명령의 통계 정보

총 통계
get 및 set 명령의 통계 정보

Period
기간 내 결과

글로벌
누적된 결과

작전
총 작업

TPS
처리량, 작업/초

그물
네트워크 속도

Get_miss
얻을 수 없는 물건의 수

Min
최소 응답 시간

Max
최대 응답 시간

평균 :
평균 응답 시간

Std_dev
응답 시간의 표준 편차

지리적 거리
자연 지수 함수를 기반으로 한 기하학적 분포

결국 memaslap은 다음과 같은 내용을 출력합니다:

-------------------------------------------------- -------------------------------------------------- -----------------------------
통계 가져오기(1257956개 이벤트)
최소 : 26
최대 : 3791
평균: 224
지역: 192.60
표준: 116.23
Log2 거리:
4: 0 10 84490 215345
8: 484890 459823 12543 824
12 : 31

통계 설정(139782개 이벤트)
최소 : 37
최대 : 3790
평균: 253
지역: 224.84
표준: 116.83
Log2 거리:
4: 0 0 4200 16988
8: 50784 65574 2064 167
12 : 5

총 통계(1397738 이벤트)
최소 : 26
최대 : 3791
평균: 227
지역: 195.60
표준: 116.60
Log2 거리:
4: 0 10 88690 232333
8: 535674 525397 14607 991
12 : 36

cmd_get: 1257969
cmd_set: 139785
get_misses: 0
verify_misses: 0
검증 실패: 0
만료된_get: 0
unexpired_unget: 0
write_bytes: 242516030
read_bytes: 1003702556
object_bytes: 152086080
패킷_장애: 0
패킷 드롭: 0
udp_timeout: 0

런타임: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
-------------------------------------------------- -------------------------------------------------- -----------------------------

어디에
통계 가져오기
응답 시간 통계 가져오기

통계 설정
응답 시간 통계 설정

총 통계
응답 시간 통계 가져오기 및 설정 모두

Min
누적 및 최소 응답 시간

Max
누적 및 최대 응답 시간

평균
누적 및 평균 응답 시간

표준
응답 시간의 표준 편차

로그2 거리
로그 2를 기반으로 한 기하학적 분포

cmd_get
총 get 명령 완료

cmd_set
완료된 총 설정 명령

get_misses
서버에서 가져올 수 없는 개체 수

verify_misses
확인해야 하지만 가져올 수 없는 개체 수

verify_failed
지속적인 가치를 지닌 객체의 수

만료됨_get
만료되었지만 가져오는 개체 수

만료되지 않은_unget
만료되지 않았지만 가져올 수 없는 개체 수

write_bytes
총 쓴 바이트

read_bytes
총 읽기 바이트

object_bytes
총 객체 바이트

패킷 장애
무질서한 UDP 패키지 수

패킷 드롭
손실된 UDP 패키지 수

udp_timeout
UDP 시간 초과가 몇 번 발생합니까?

런타임
총 실행 시간

작전
총 작업

TPS
처리량, 작업/초

순요율
네트워크의 평균 속도

옵션


-에스, --서버=
연결할 서버를 하나 이상 나열합니다. 서버 수는 스레드 수보다 적어야 합니다.
예: --servers=localhost:1234,localhost:11211

-NS, --스레드=
시작할 스레드 수. CPU 수와 더 동일합니다. 기본값 8.

-씨, --동시성=
부하로 시뮬레이션할 동시성 수입니다. 기본값은 128입니다.

-N, --conn_sock=
동시성당 TCP 양말 수입니다. 기본값 1.

-NS, --실행_번호=
지정된 테스트에 대해 실행할 작업(가져오기 및 설정) 수입니다. 기본값은 1000000입니다.

-NS, --시간=
테스트 실행 기간, 접미사: s-초, m-분, h-시간, d-일 예:
--시간=2시간.

-NS, --cfg_cmd=
명령, 키 및 값 배포 목록을 얻으려면 구성 파일을 로드하십시오.

-w, --win_size=
각 동시성의 작업 창 크기, 접미사: K, M 예: --win_size=10k. 기본
10k.

-NS, --고정_크기=
값의 고정 길이.

-V, --확인=
날짜 확인 비율, 예: --verify=0.01

-NS, --구분=
한 번에 다중 획득할 수 있는 키 수입니다. 기본값 1은 단일 가져오기를 의미합니다.

-NS, --stat_freq=
통계정보 덤핑 빈도. 접미사: s-초, m-분, 예:
--resp_freq=10초.

-이자형, --exp_verify=
만료 시간이 있는 객체의 비율(예: --exp_verify=0.01) 기본 아니오
만료 시간이 있는 객체

-영형, --덮어쓰기=
덮어쓰기가 필요한 객체의 비율입니다(예: --overwrite=0.01). 기본값은 사용하지 않음
개체를 덮어씁니다.

-R, --다시 연결
다시 연결 테스트를 수행하면 연결이 닫히면 다시 연결됩니다.

-U, --udp
UDP 테스트, 기본 memaslap은 TCP를 사용하며, 서버의 TCP 포트와 UDP 포트는 동일해야 합니다.

-a, --페이스북
페이스북 테스트 기능을 활성화할지 여부는 TCP로 설정하고 UDP로 멀티겟을 설정합니다.

-B, --바이너리
바이너리 프로토콜을 활성화하는지 여부입니다. ASCII 프로토콜의 기본값입니다.

-NS, --tps=
예상 처리량, 접미사: K, 예: --tps=10k.

-NS, --rep_write=
첫 번째 n번째 서버는 데이터를 쓸 수 있습니다(예: --rep_write=2).

-b, --말 수가 많은
검증 실패 시 상세 정보 출력 여부.

-h, --도움
이 메시지를 표시하고 종료합니다.

-V, --번역
애플리케이션 버전을 표시한 후 종료합니다.

사용 예


memaslap -s 127.0.0.1:11211 -S 5s

memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2


자세한 정보를 확인하려면 다음을 확인하십시오. http://libmemcached.org/

작가


주앙 밍치앙[이메일 보호]> (스쿠너 기술) 브라이언 에이커, <‐
[이메일 보호]>

onworks.net 서비스를 사용하여 온라인으로 memcaslap을 사용하세요.


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

  • 1
    통음
    통음
    SWIG는 소프트웨어 개발 도구입니다.
    C로 작성된 프로그램과
    다양한 고급 수준의 C++
    프로그래밍 언어. SWIG는 다음과 함께 사용됩니다.
    다른...
    SWIG 다운로드
  • 2
    WooCommerce Nextjs 반응 테마
    WooCommerce Nextjs 반응 테마
    React WooCommerce 테마,
    다음 JS, Webpack, Babel, Node 및
    GraphQL 및 Apollo를 사용한 Express
    고객. React의 WooCommerce 스토어(
    포함: 제품...
    WooCommerce Nextjs 반응 테마 다운로드
  • 3
    Archlabs_repo
    Archlabs_repo
    ArchLabs용 패키지 저장소 이것은
    가져올 수 있는 응용 프로그램

    https://sourceforge.net/projects/archlabs-repo/.
    그것은 OnWorks에서 호스팅되었습니다 ...
    archlabs_repo 다운로드
  • 4
    제퍼 프로젝트
    제퍼 프로젝트
    Zephyr 프로젝트는 새로운 세대입니다.
    실시간 운영체제(RTOS)
    여러 하드웨어 지원
    아키텍처. 그것은
    작은 크기의 커널...
    Zephyr 프로젝트 다운로드
  • 5
    SC콘
    SC콘
    SCons는 소프트웨어 구축 도구입니다.
    그것은에 대한 우수한 대안입니다
    고전적인 "만들기" 빌드 도구
    우리 모두는 알고 사랑합니다. 스콘은
    구현 ...
    SCons 다운로드
  • 6
    PSeInt
    PSeInt
    PSeInt는 의사 코드 해석기입니다.
    스페인어를 구사하는 프로그래밍 학생.
    주요 목적은 다음을 위한 도구가 되는 것입니다.
    기본을 배우고 이해하기
    개념...
    PSeInt 다운로드
  • 더»

Linux 명령

Ad