Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

memcaslap - Trực tuyến trên đám mây

Chạy memcaslap trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh memcaslap có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


memaslap - Tài liệu libmemcached

SYNOPSIS


memaslap [tùy chọn]

--Cứu giúp

MEMCACHED_SERVERS

MÔ TẢ


bản ghi nhớ là một công cụ chuẩn và tạo tải cho các máy chủ được lưu trong bộ nhớ cache. Nó tạo ra
khối lượng công việc có thể định cấu hình như luồng, đồng thời, kết nối, thời gian chạy, ghi đè,
tỷ lệ bỏ lỡ, kích thước khóa, kích thước giá trị, tỷ lệ nhận / đặt, thông lượng mong đợi, v.v.
Hơn nữa, nó cũng kiểm tra xác minh dữ liệu, xác minh thời gian hết hạn, UDP, nhị phân
giao thức, kiểm tra facebook, kiểm tra nhân rộng, đa lấy và kết nối lại, v.v.

Memaslap quản lý các kết nối mạng như memcached với libevent. Từng sợi memaslap
được liên kết với một lõi CPU, tất cả các luồng không giao tiếp với nhau và có
một số kết nối ổ cắm trong mỗi luồng. Mỗi kết nối giữ phân bố kích thước chính,
phân phối kích thước giá trị và phân phối lệnh của chính nó.

Bạn có thể chỉ định máy chủ thông qua ghi nhớ --may chủ tùy chọn hoặc thông qua biến môi trường
MEMCACHED_SERVERS.

TÍNH NĂNG, ĐẶC ĐIỂM


Memslap được phát triển cho các mục đích sau:

Quản lý các kết nối mạng với libevent không đồng bộ.

Thiết lập cả TCP và UDP để sử dụng IO không chặn.

Cải thiện tính song song: hiệu suất cao hơn trong môi trường đa luồng.

Cải thiện hiệu quả thời gian: tốc độ xử lý nhanh hơn.

Tạo khóa và giá trị hiệu quả hơn; phân phối kích thước chính và kích thước giá trị
phân phối có thể định cấu hình.

Hỗ trợ các lệnh get, multi-get và set; phân phối lệnh có thể định cấu hình.

Hỗ trợ tỷ lệ bỏ lỡ có thể kiểm soát và tỷ lệ ghi đè.

Hỗ trợ dữ liệu và xác minh thời gian hết hạn.

Hỗ trợ bán phá giá thông tin thống kê theo định kỳ.

Hỗ trợ hàng nghìn kết nối TCP.

Hỗ trợ giao thức nhị phân.

Hỗ trợ kiểm tra facebook (thiết lập với TCP và đa nhận với UDP) và kiểm tra nhân rộng.

CHI TIẾT


Hiệu quả thực hiện of mạng lưới.
Đối với memaslap, cả TCP và UDP đều sử dụng IO mạng không chặn. Tất cả các sự kiện mạng là
được quản lý bởi libevent dưới dạng memcached. Mô-đun mạng của memaslap tương tự như memcached.
Libevent có thể đảm bảo memaslap có thể xử lý mạng rất hiệu quả.

Hiệu quả thực hiện of nhiều chủ đề đồng thời
Memslap có cách triển khai đa luồng tương tự như memcached. Memslap tạo một
hoặc nhiều chủ đề tự quản; mỗi luồng được liên kết với một lõi CPU nếu hệ thống kiểm tra
thiết lập ái lực của lõi CPU.

Ngoài ra, mỗi luồng có một giải phóng để quản lý các sự kiện của mạng; từng sợi
có một hoặc nhiều cơ quan tự quản; và mỗi đồng thời có một hoặc nhiều ổ cắm
kết nối. Tất cả các trường hợp đồng thời không giao tiếp với nhau mặc dù chúng
trong cùng một chủ đề.

Memslap có thể tạo hàng nghìn kết nối socket và mỗi kết nối đồng thời có hàng chục
kết nối ổ cắm. Mỗi đồng thời chọn ngẫu nhiên hoặc tuần tự một ổ cắm
kết nối từ nhóm kết nối ổ cắm của nó để chạy, vì vậy memaslap có thể đảm bảo từng đồng thời
xử lý một kết nối ổ cắm tại bất kỳ thời điểm nào. Người dùng có thể chỉ định số lượng
các kết nối đồng thời và ổ cắm của mỗi đồng thời theo dự kiến ​​của chúng
khối lượng công việc.

Hiệu quả thực hiện of tạo ra chính giá trị
Để cải thiện hiệu quả về thời gian và hiệu quả về không gian, memaslap tạo ngẫu nhiên
bảng ký tự với 10 triệu ký tự. Tất cả các hậu tố của khóa và giá trị được tạo
từ bảng ký tự ngẫu nhiên này.

Memslap sử dụng độ lệch trong bảng ký tự và độ dài của chuỗi để xác định
dây. Nó có thể tiết kiệm nhiều bộ nhớ. Mỗi khóa chứa hai phần, tiền tố và hậu tố. Các
tiền tố là uint64_t, 8 byte. Để xác minh tập dữ liệu trước đó, memaslap cần phải
đảm bảo mỗi khóa là duy nhất, vì vậy nó sử dụng tiền tố để xác định một khóa. Tiền tố không thể
bao gồm các ký tự không hợp lệ, chẳng hạn như 'r', 'n', '0' và ''. Và memaslap có một thuật toán
để đảm bảo rằng.

Memslap không tạo ra tất cả các đối tượng (cặp khóa-giá trị) ngay từ đầu. Nó chỉ
tạo đủ đối tượng để lấp đầy cửa sổ tác vụ (10K đối tượng mặc định) của mỗi
đồng thời. Mỗi đối tượng có các thông tin cơ bản sau, tiền tố khóa, hậu tố khóa
offset trong bảng ký tự, độ dài khóa, giá trị offset trong bảng ký tự và giá trị
chiều dài.

Trong quá trình làm việc, mỗi đồng thời chọn một cách tuần tự hoặc ngẫu nhiên một đối tượng từ
cửa sổ để thực hiện thao tác thiết lập hoặc thao tác lấy. Đồng thời, mỗi lần khởi động đồng thời
các đối tượng ra khỏi cửa sổ của nó và thêm đối tượng mới vào đó.

Đơn giản nhưng hữu ích công việc lập kế hoạch
Memslap sử dụng tự do để lập lịch tất cả các đồng thời của các luồng và từng đồng thời
lập lịch tác vụ dựa trên cửa sổ tác vụ cục bộ. Memslap giả định rằng nếu mỗi đồng thời
giữ nguyên phân phối khóa, phân phối giá trị và phân phối lệnh, từ
bên ngoài, memaslap giữ tất cả bản phân phối nói chung. Mỗi cửa sổ tác vụ bao gồm rất nhiều
của các đối tượng, mỗi đối tượng lưu trữ thông tin cơ bản của nó, chẳng hạn như khóa, giá trị, thời gian hết hạn và
Sớm. Tại bất kỳ thời điểm nào, tất cả các đối tượng trong cửa sổ đều giữ nguyên giá trị và khóa cố định và cố định
phân bổ. Nếu một đối tượng bị ghi đè, giá trị của đối tượng sẽ được cập nhật.
Memslap xác minh dữ liệu hoặc thời gian hết hạn theo thông tin đối tượng được lưu trữ trong
cửa sổ tác vụ.

Libevent chọn đồng thời để xử lý dựa trên một sự kiện mạng cụ thể. Sau đó
đồng thời chọn lệnh nào (lấy hoặc đặt) để hoạt động dựa trên lệnh
phân bổ. Nếu nó cần loại bỏ một đối tượng cũ và thêm một đối tượng mới, để giữ
cùng một phân phối khóa và giá trị, đối tượng mới phải có cùng độ dài khóa và
chiều dài giá trị.

Nếu máy chủ memcached có hai lớp bộ nhớ cache (bộ nhớ và SSD), chạy memaslap với các lớp khác
kích thước cửa sổ có thể nhận được tỷ lệ bỏ lỡ bộ nhớ cache khác nhau. Nếu memaslap thêm đủ đối tượng vào
cửa sổ ở đầu và bộ nhớ cache của memcached không thể lưu trữ tất cả các đối tượng
được khởi tạo, sau đó memaslap sẽ nhận được một số đối tượng từ lớp bộ nhớ cache thứ hai. Điều đó gây ra
lớp bộ nhớ cache đầu tiên bị bỏ lỡ. Vì vậy, người dùng có thể chỉ định kích thước cửa sổ để có được
tỷ lệ bỏ lỡ của lớp bộ nhớ cache đầu tiên.

Hữu ích thực hiện of nhiều máy chủ , UDP, TCP, nhiều nhận nhị phân giao thức
Bởi vì mỗi luồng là tự quản, memaslap có thể chỉ định các luồng khác nhau để xử lý
các máy chủ memcached khác nhau. Đây chỉ là một trong những cách mà memaslap kiểm tra nhiều
may chủ. Hạn chế duy nhất là số lượng máy chủ không được lớn hơn
số của chủ đề. Cách khác để kiểm tra nhiều máy chủ là kiểm tra nhân rộng. Mỗi
đồng thời có một kết nối socket tới mỗi máy chủ memcached. Để thực hiện,
memaslap có thể đặt một số đối tượng vào một máy chủ memcached và lấy các đối tượng này từ
các máy chủ khác.

Theo mặc định, Memslap không nhận được một lần. Nếu người dùng chỉ định tùy chọn multi-get, memaslap sẽ
thu thập đủ các lệnh nhận và đóng gói và gửi các lệnh cùng nhau.

Memslap kiểm tra cả giao thức ASCII và giao thức nhị phân, nhưng nó chạy trên ASCII
theo mặc định. Memslap theo mặc định chạy trên giao thức TCP, nhưng nó cũng kiểm tra UDP.
Bởi vì UDP không đáng tin cậy, các gói bị bỏ và các gói không theo thứ tự có thể xảy ra. Memslap
tạo ra một bộ đệm bộ nhớ để xử lý những vấn đề này. Memslap cố gắng đọc tất cả các phản hồi
dữ liệu của một lệnh từ máy chủ và sắp xếp lại dữ liệu phản hồi. Nếu một số gói nhận được
bị mất, cơ chế thời gian chờ có thể đảm bảo các gói đã nướng nửa chừng sẽ bị loại bỏ và
lệnh tiếp theo sẽ được gửi.

SỬ DỤNG


Dưới đây là một số mẫu sử dụng:

ghi nhớ -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 20 giây -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

Người dùng phải chỉ định ít nhất một máy chủ để chạy memaslap. Các thông số còn lại có
giá trị mặc định, như được hiển thị bên dưới:

Số luồng = 1 Đồng tiền = 16

Thời gian chạy = 600 giây Tệp cấu hình = NULL

Kích thước khóa = 64 Kích thước giá trị = 1024

Nhận / đặt = 9: 1 Kích thước cửa sổ = 10k

Số thực thi = 0 Đơn nhận = đúng

Multi-get = false Số lượng ổ cắm của mỗi đồng thời = 1

Kết nối lại = sai Xác minh dữ liệu = sai

Xác minh hết hạn = false giao thức ASCII = true

Giao thức nhị phân = thông tin thống kê bán phá giá sai

định kỳ = sai

Tỷ lệ ghi đè = 0% UDP = false

TCP = true Thông lượng giới hạn = false

Kiểm tra Facebook = sai Kiểm tra sao chép = sai

Key kích thước, giá trị kích thước lệnh phân phối.
Tất cả các bản phân phối được đọc từ tệp cấu hình do người dùng chỉ định với
Tùy chọn “—cfg_cmd”. Nếu người dùng không chỉ định tệp cấu hình, memaslap sẽ chạy
với phân phối mặc định (kích thước khóa = 64, kích thước giá trị = 1024, get / set = 9: 1). Vì
thông tin về cách chỉnh sửa tệp cấu hình, hãy tham khảo “Tệp cấu hình”
phần.

Kích thước khóa tối thiểu là 16 byte; kích thước khóa tối đa là 250 byte. Độ chính xác của
tỷ trọng là 0.001. Tỷ lệ phân phối sẽ được làm tròn đến 3 chữ số thập phân.

Kích thước giá trị tối thiểu là 1 byte; kích thước giá trị lớn nhất là 1M byte. Độ chính xác của
tỷ trọng là 0.001. Tỷ lệ phân phối sẽ được làm tròn đến 3 chữ số thập phân.
Hiện tại, memaslap chỉ testss set và get các lệnh. Và nó testss 100% thiết lập và 100% nhận được.
Đối với 100% nhận được, nó sẽ đặt trước một số đối tượng cho máy chủ.

Đa luồng đồng thời
Hiệu suất cao của memaslap được hưởng lợi từ lịch trình đặc biệt của luồng và
đồng thời. Điều quan trọng là chỉ định số lượng thích hợp trong số chúng. Số mặc định của
chủ đề là 1; số lượng đồng thời mặc định là 16. Người dùng có thể sử dụng “—threads” và
“--Concurrency” để chỉ định các biến này.

Nếu hệ thống kiểm tra thiết lập mối quan hệ với CPU và số luồng do người dùng chỉ định
lớn hơn 1, memaslap sẽ cố gắng liên kết mỗi luồng với một lõi CPU khác nhau. Vì vậy nếu
bạn muốn có được memaslap hiệu suất tốt nhất, tốt hơn nên chỉ định số lượng
luồng bằng số lõi CPU. Số lượng chủ đề được chỉ định bởi người dùng có thể
cũng nhỏ hơn hoặc lớn hơn số lõi CPU. Vì giới hạn của
thực hiện, số lượng đồng thời có thể là bội số của
chủ đề.

1. Đối với hệ thống 8 lõi CPU

Ví dụ:

--threads = 2 --concurrency = 128

--threads = 8 --concurrency = 128

--threads = 8 --concurrency = 256

--threads = 12 --concurrency = 144

2. Đối với hệ thống 16 lõi CPU

Ví dụ:

--threads = 8 --concurrency = 128

--threads = 16 --concurrency = 256

--threads = 16 --concurrency = 512

--threads = 24 --concurrency = 288

Memaslap hoạt động rất tốt, khi được sử dụng để kiểm tra hiệu suất của các máy chủ memcached.
Hầu hết thời gian, nút cổ chai là mạng hoặc máy chủ. Nếu vì lý do nào đó mà người dùng
muốn giới hạn hiệu suất của memaslap, có hai cách để thực hiện việc này:

Giảm số lượng chủ đề và đồng thời. Sử dụng tùy chọn “--tps” mà memaslap
cung cấp để giới hạn thông lượng. Tùy chọn này cho phép người dùng có được
thông lượng. Ví dụ: giả sử rằng thông lượng tối đa là 50 kops / s cho một
cấu hình, bạn có thể chỉ định thông lượng bằng hoặc nhỏ hơn thông lượng tối đa
sử dụng tùy chọn “--tps”.

Cửa sổ kích thước
Hầu hết thời gian, người dùng không cần chỉ định kích thước cửa sổ. Cửa sổ mặc định
kích thước là 10k. Đối với Schooner Memcached, người dùng có thể chỉ định các kích thước cửa sổ khác nhau để lấy
tỷ lệ bỏ lỡ bộ nhớ cache khác nhau dựa trên trường hợp thử nghiệm. Tỷ lệ bỏ lỡ bộ nhớ cache thử nghiệm trùng lặp giữa các
0% và 100%. Nếu bạn sử dụng tiện ích này để kiểm tra hiệu suất của Schooner Memcached, bạn
có thể chỉ định kích thước cửa sổ thích hợp để có được tỷ lệ bỏ lỡ bộ nhớ cache dự kiến. Công thức cho
tính toán kích thước cửa sổ như sau:

Giả sử rằng kích thước khóa là 128 byte và kích thước giá trị là 2048 byte và
đồng thời = 128.

1. Bộ nhớ đệm nhỏ cache_size = 1 triệu, bộ nhớ cache bỏ lỡ 100% (tất cả dữ liệu lấy từ SSD). win_size = 10k

2. cache_size = 4G

(1). tỷ lệ bỏ lỡ bộ nhớ cache 0%

win_size = 8k

(2). tỷ lệ bỏ lỡ bộ nhớ cache 5%

win_size = 11k

3. cache_size = 16G

(1). tỷ lệ bỏ lỡ bộ nhớ cache 0%

win_size = 32k

(2). nhớ bộ nhớ cache

tỷ lệ 5%

win_size = 46k

Công thức tính toán kích thước cửa sổ cho tỷ lệ bỏ lỡ bộ nhớ cache 0%:

cache_size / concurrency / (key_size + value_size) * 0.5

Công thức tính toán kích thước cửa sổ cho tỷ lệ bỏ lỡ bộ nhớ cache 5%:

cache_size / concurrency / (key_size + value_size) * 0.7

Xác minh
Memslap testss cả xác minh dữ liệu và xác minh thời gian hết hạn. Người dùng có thể sử dụng
"--verify =" hoặc "-v" để chỉ định tỷ lệ xác minh dữ liệu. Về lý thuyết, nó kiểm tra
100% dữ liệu xác minh. Người dùng có thể sử dụng "--exp_verify =" hoặc "-e" để chỉ định tỷ lệ
xác minh hết hạn. Về lý thuyết, nó kiểm tra 100% thời gian hết hạn. Chỉ định
tùy chọn "--verbose" để biết thêm thông tin chi tiết về lỗi.

Ví dụ: --exp_verify = 0.01 –verify = 0.1, có nghĩa là 1% đối tượng được đặt với
hết hạn, 10% đối tượng nhận được sẽ được xác minh. Nếu các đối tượng được nhận,
memaslap sẽ xác minh thời gian và giá trị hết hạn.

nhiều máy chủ đa cấu hình
Memslap testss nhiều máy chủ dựa trên chuỗi tự quản. Có một hạn chế rằng
số lượng máy chủ không được lớn hơn số lượng chủ đề. Memslap chỉ định một
luồng để xử lý ít nhất một máy chủ. Người dùng có thể sử dụng tùy chọn "--servers =" hoặc "-s" để
chỉ định nhiều máy chủ.

Ví dụ:

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

Lệnh trên có nghĩa là có 6 luồng, với mỗi luồng có 6 đồng thời
và luồng 0 và 3 xử lý máy chủ 0 (10.1.1.1); luồng 1 và 4 xử lý máy chủ 1
(10.1.1.2); và luồng 2 và 5 xử lý máy chủ 2 (10.1.1.3).

Tất cả các chủ đề và đồng thời trong memaslap đều tự quản.

Memaslap cũng vậy. Người dùng có thể khởi động một số phiên bản memaslap. Người dùng có thể chạy
memaslap trên các máy khách khác nhau để giao tiếp với cùng một máy chủ memcached tại
tương tự. Người dùng nên khởi động các memaslap khác nhau trên các máy khác nhau bằng cách sử dụng
cấu hình giống nhau.

chạy với thi hành con số chế độ or thời gian chế độ
Memaslap mặc định chạy với chế độ thời gian. Thời gian chạy mặc định là 10 phút. Nếu nó lần
ra, memaslap sẽ thoát. Không chỉ định cả chế độ số thực thi và chế độ thời gian cùng một lúc
thời gian; chỉ cần chỉ định một thay thế.

Ví dụ:

--time = 30s (Có nghĩa là bài kiểm tra sẽ chạy trong 30 giây.)

--execute_number = 100000 (Có nghĩa là sau khi chạy 100000 lệnh, kiểm tra sẽ thoát.)

Dump thống kê thông tin định kỳ.
Người dùng có thể sử dụng "--stat_freq =" hoặc "-S" để chỉ định tần số.

Ví dụ:

--stat_freq = 20 giây

Memslap sẽ kết xuất số liệu thống kê của các lệnh (lấy và đặt) với tần suất của mọi
20 giây.

Để biết thêm thông tin về định dạng kết xuất thông tin thống kê, hãy tham khảo “Định dạng của
Phần đầu ra ”.

Nhiều nhận
Người dùng có thể sử dụng "--division =" hoặc "-d" để chỉ định số lượng khóa lấy nhiều. Memslap bởi
mặc định không nhận được với TCP. Memslap cũng kiểm tra xác minh dữ liệu và thời gian hết hạn
xác minh cho nhiều lần nhận.

Memslap testss multi-get với cả TCP và UDP. Vì cách triển khai khác nhau của
giao thức ASCII và giao thức nhị phân, có một số khác biệt giữa hai giao thức này. Vì
giao thức ASCII, memaslap sẽ gửi một lần “multi-get” đến máy chủ. Đối với hệ nhị phân
giao thức, memaslap sẽ gửi một số lệnh get đơn lẻ cùng nhau dưới dạng "multi-get" tới
máy chủ.

UDP TCP
Memslap testss cả UDP và TCP. Đối với TCP, memaslap không kết nối lại máy chủ memcached
nếu các kết nối ổ cắm bị mất. Nếu tất cả các kết nối socket bị mất hoặc máy chủ memcached
sự cố, memaslap sẽ thoát. Nếu người dùng chỉ định tùy chọn “--reconnect” khi socket
kết nối bị mất, nó sẽ kết nối lại chúng.

Người dùng có thể sử dụng “--udp” để bật tính năng UDP, nhưng UDP có một số hạn chế:

UDP không thể đặt dữ liệu nhiều hơn 1400 byte.

UDP không được kiểm tra bởi giao thức nhị phân vì giao thức nhị phân của memcached không
không kiểm tra điều đó.

UDP không kiểm tra kết nối lại.

Facebook thử nghiệm
Đặt dữ liệu với TCP và đa nhận với UDP. Chỉ định các tùy chọn sau:

"--facebook --division = 50"

Nếu bạn muốn tạo hàng nghìn kết nối TCP, hãy chỉ định

Tùy chọn "--conn_sock =".

Ví dụ: --facebook --division = 50 --conn_sock = 200

Lệnh trên có nghĩa là memaslap sẽ thực hiện kiểm tra facebook, mỗi đồng thời có 200
socket kết nối TCP và một socket UDP.

Memslap đặt các đối tượng bằng TCP socket và đa được 50 đối tượng một lần với UDP
ổ cắm.

Nếu bạn chỉ định "--division = 50", kích thước khóa phải nhỏ hơn 25 byte vì UDP
kích thước gói là 1400 byte.

Nhân rộng thử nghiệm
Đối với thử nghiệm sao chép, người dùng phải chỉ định ít nhất hai máy chủ được lưu trong bộ nhớ cache. Người dùng có thể
sử dụng tùy chọn “—rep_write =” để bật tính năng.

Ví dụ:

--servers = 10.1.1.1: 11211,10.1.1.2: 11212 –rep_write = 2

Lệnh trên có nghĩa là có 2 máy chủ memcached sao chép, memaslap sẽ thiết lập
các đối tượng cho cả máy chủ 0 và máy chủ 1, lấy các đối tượng được đặt thành máy chủ 0 trước đó từ
máy chủ 1 và cũng nhận được các đối tượng được đặt thành máy chủ 1 trước đó từ máy chủ 0. Nếu máy chủ 0
sự cố, memaslap sẽ chỉ nhận được các đối tượng từ máy chủ 1. Nếu máy chủ 0 hoạt động trở lại
một lần nữa, memaslap sẽ kết nối lại máy chủ 0. Nếu cả máy chủ 0 và máy chủ 1 đều gặp sự cố, memaslap
sẽ thoát ra.

Hỗ trợ hàng ngàn of TCP kết nối
Khởi động memaslap bằng "--conn_sock =" hoặc "-n" để bật tính năng này. Đảm bảo rằng
hệ thống có thể kiểm tra việc mở hàng nghìn tệp và tạo hàng nghìn ổ cắm. Tuy vậy,
tính năng này không kiểm tra kết nối lại nếu ổ cắm ngắt kết nối.

Ví dụ:

--threads = 8 --concurrency = 128 --conn_sock = 128

Lệnh trên có nghĩa là memaslap khởi động 8 luồng, mỗi luồng có 16
đồng thời, mỗi đồng thời có 128 kết nối cổng TCP và tổng số
Kết nối cổng TCP là 128 * 128 = 16384.

Hỗ trợ nhị phân giao thức
Khởi động memaslap bằng các tùy chọn "--binary" hoặc "-B" để bật tính năng này. Nó kiểm tra tất cả
các tính năng trên ngoại trừ UDP, bởi vì memcached 1.3.3 mới nhất không triển khai nhị phân
Giao thức UDP.

Ví dụ:

--nhị phân

Vì memcached 1.3.3 không triển khai giao thức UDP nhị phân, nên memaslap không kiểm tra UDP.
Ngoài ra, memcached 1.3.3 không kiểm tra multi-get. Nếu bạn chỉ định "--division = 50"
tùy chọn, nó chỉ gửi 50 lệnh get cùng nhau dưới dạng “mulit-get” đến máy chủ.

CẤU HÌNH FILE


Phần này mô tả định dạng của tệp cấu hình. Theo mặc định khi không
tệp cấu hình được chỉ định memaslap đọc tệp mặc định nằm tại ~ / .memaslap.cnf.

Dưới đây là tệp cấu hình mẫu:

-------------------------------------------------- -------------------------
#comments phải bắt đầu bằng '#'
#Chìa khóa
tỷ lệ #start_len end_len
#
# phạm vi độ dài khóa từ start_len đến end_len
#start_len phải bằng hoặc lớn hơn 16
#end_len phải bằng hoặc nhỏ hơn 250
#start_len phải bằng hoặc lớn hơn end_len
#memaslap sẽ tạo khóa theo phạm vi khóa
#proportion: cho biết các khóa được tạo từ một phạm vi chiếm tổng số
khóa được tạo
#
# example1: phạm vi khóa 16 ~ 100 chiếm 80%
# dãy phím 101 ~ 200 chiếm 10%
# dãy phím 201 ~ 250 chiếm 10%
# tổng phải là 1 (0.8 + 0.1 + 0.1 = 1)
#
16 100 0.8
101 200 0.1
201 249 0.1
#
# example2: độ dài tất cả các khóa là 128 byte
#
128 128 1
chính
128 128 1
#giá trị
tỷ lệ #start_len end_len
#
# phạm vi độ dài giá trị từ start_len đến end_len
#start_len phải bằng hoặc lớn hơn 1
#end_len phải bằng hoặc nhỏ hơn 1 triệu
#start_len phải bằng hoặc lớn hơn end_len
#memaslap sẽ tạo các giá trị theo phạm vi giá trị
#proportion: cho biết các giá trị được tạo từ một phạm vi tài khoản cho
tổng giá trị được tạo
#
# example1: phạm vi giá trị 1 ~ 1000 chiếm 80%
# dải giá trị 1001 ~ 10000 chiếm 10%
# dải giá trị 10001 ~ 100000 chiếm 10%
# tổng phải là 1 (0.8 + 0.1 + 0.1 = 1)
#
1 1000 0.8
1001 10000 0.1
10001 100000 0.1
#
# example2: độ dài tất cả giá trị là 128 byte
#
128 128 1
giá trị
2048 2048 1
#cmd
#cmd_type cmd_proportion
#
#currently memaslap chỉ lệnh testss get và set.
#
#cmd_type
# bộ 0
#nhận được 1
#
#example: lệnh set chiếm 50%
# lệnh get chiếm 50%
# tổng phải là 1 (0.5 + 0.5 = 1)
#
# cmd
# 0 0.5
# 1 0.5
cmd
0 0.1
1.0 0.9

FORMAT OF OUTPUT


Lúc đầu, memaslap hiển thị một số thông tin cấu hình như sau:

máy chủ: 127.0.0.1:11211

số chủ đề: 1

đồng thời: 16

thời gian chạy: 20 giây

kích thước cửa sổ: 10k

đặt tỷ lệ: set_prop = 0.10

lấy tỷ lệ: get_prop = 0.90

Ở đâu
máy chủ: "máy chủ"
Các máy chủ được sử dụng bởi memaslap.

số chủ đề
Số lượng chủ đề mà memaslap chạy với.

đồng thời
Số lượng bản ghi nhớ đồng thời chạy với.

thời gian chạy
Thời gian chạy memaslap.

kích thước cửa sổ
Kích thước cửa sổ tác vụ của mỗi đồng thời.

thiết lập tỷ lệ
Tỷ lệ của lệnh đặt.

nhận được tỷ lệ
Tỷ lệ của lệnh get.

Đầu ra của thống kê động giống như sau:

-------------------------------------------------- -------------------------------------------------- -----------------------------
Nhận thống kê
Loại Thời gian Hoạt động TPS (ops / s) Net (M / s) Get_miss Min (us) Max (us)
Trung bình (chúng tôi) Std_dev Geo_dist
Kỳ 5 345826 69165 65.3 0 27 2198 203
95.43 177.29
Toàn cầu 20 1257935 62896 71.8 0 26 3791 224
117.79 192.60

Đặt số liệu thống kê
Loại Thời gian Hoạt động TPS (ops / s) Net (M / s) Get_miss Min (us) Max (us)
Trung bình (chúng tôi) Std_dev Geo_dist
Kỳ 5 38425 7685 7.3 0 42 628 240
88.05 220.21
Toàn cầu 20 139780 6989 8.0 0 37 3790 253
117.93 224.83

Tổng số thống kê
Loại Thời gian Hoạt động TPS (ops / s) Net (M / s) Get_miss Min (us) Max (us)
Trung bình (chúng tôi) Std_dev Geo_dist
Kỳ 5 384252 76850 72.5 0 27 2198 207
94.72 181.18
Toàn cầu 20 1397720 69886 79.7 0 26 3791 227
117.93 195.60
-------------------------------------------------- -------------------------------------------------- -----------------------------

Ở đâu
Nhận thống kê
Thống kê thông tin của lệnh get

Đặt số liệu thống kê
Thống kê thông tin của lệnh set

Tổng số thống kê
Thống kê thông tin của cả lệnh get và set

Giai đoạn
Kết quả trong một khoảng thời gian

Toàn cầu
Kết quả tích lũy

Ops
Tổng số hoạt động

TPS
Thông lượng, hoạt động / giây

Net
Tỷ lệ mạng

Get_miss
Có bao nhiêu đối tượng không thể có được

min
Thời gian phản hồi tối thiểu

Max
Thời gian phản hồi tối đa

Trung bình:
Thời gian phản hồi trung bình

std_dev
Độ lệch chuẩn của thời gian phản hồi

Geo_dist
Phân phối hình học dựa trên hàm số mũ tự nhiên

Cuối cùng, memaslap sẽ xuất ra một thứ như thế này:

-------------------------------------------------- -------------------------------------------------- -----------------------------
Nhận thống kê (1257956 sự kiện)
Tối thiểu: 26
Tối đa: 3791
Trung bình: 224
Địa lý: 192.60
Std: 116.23
Quận Log2:
4: 0 10 84490 215345
8: 484890 459823 12543 824
12: 31

Đặt số liệu thống kê (139782 sự kiện)
Tối thiểu: 37
Tối đa: 3790
Trung bình: 253
Địa lý: 224.84
Std: 116.83
Quận Log2:
4: 0 0 4200 16988
8: 50784 65574 2064 167
12: 5

Tổng số thống kê (1397738 sự kiện)
Tối thiểu: 26
Tối đa: 3791
Trung bình: 227
Địa lý: 195.60
Std: 116.60
Quận Log2:
4: 0 10 88690 232333
8: 535674 525397 14607 991
12: 36

cmd_get: 1257969
cmd_set: 139785
get_misses: 0
xác minh_misses: 0
xác minh_fails: 0
hết_hạn_lục: 0
unxpired_unget: 0
write_byte: 242516030
read_byte: 1003702556
đối tượng_byte: 152086080
pack_disorder: 0
pack_drop: 0
udp_timeout: 0

Thời gian chạy: 20.0 giây Ops: 1397754 TPS: 69817 Net_rate: 59.4M / s
-------------------------------------------------- -------------------------------------------------- -----------------------------

Ở đâu
Nhận thống kê
Nhận thống kê về thời gian phản hồi

Đặt số liệu thống kê
Đặt thống kê thời gian phản hồi

Tổng số thống kê
Cả hai đều nhận và thiết lập số liệu thống kê về thời gian phản hồi

min
Thời gian phản hồi tích lũy và tối thiểu

Max
Thời gian phản hồi tích lũy và tối đa

Trung bình
Thời gian phản hồi tích lũy và trung bình

std
Độ lệch chuẩn của thời gian phản hồi

Quận Log2
Phân phối hình học dựa trên logarit 2

cmd_get
Tổng số lệnh hoàn thành

cmd_set
Tổng số lệnh đã thực hiện

get_misses
Có bao nhiêu đối tượng không thể nhận được từ máy chủ

xác minh_misses
Có bao nhiêu đối tượng cần xác minh nhưng không lấy được

xác minh_thất bại
Có bao nhiêu đối tượng có giá trị nhất quán

hết_hạn
Có bao nhiêu đối tượng đã hết hạn nhưng chúng tôi nhận được chúng

unxpired_unget
Có bao nhiêu đối tượng chưa hết hạn sử dụng nhưng chúng tôi không thể lấy được chúng

write_byte
Tổng số byte đã viết

read_byte
Tổng số byte đã đọc

đối tượng_byte
Tổng số byte đối tượng

pack_disorder
Có bao nhiêu gói UDP bị rối loạn

pack_drop
Có bao nhiêu gói UDP bị mất

udp_timeout
Số lần UDP time out xảy ra

Thời gian chạy
Tổng thời gian chạy

Ops
Tổng số hoạt động

TPS
Thông lượng, hoạt động / giây

Lãi ròng
Tỷ lệ mạng trung bình

LỰA CHỌN


-S, --servers =
Liệt kê một hoặc nhiều máy chủ để kết nối. Số máy chủ phải nhỏ hơn số luồng.
ví dụ: --servers = localhost: 1234, localhost: 11211

-NS, --threads =
Số luồng để khởi động, tốt hơn bằng số CPU. Mặc định 8.

-NS, - tiền tệ =
Số lượng đồng thời để mô phỏng với tải. Mặc định 128.

-N, --conn_sock =
Số lượng vớ TCP trên mỗi đồng thời. Mặc định 1.

-NS, --execute_number =
Số lượng các hoạt động (lấy và đặt) để thực hiện cho thử nghiệm đã cho. Mặc định 1000000.

-NS, --time =
Thời gian chạy thử nghiệm, hậu tố: s-seconds, m-minutes, h-hours, d-days, ví dụ:
--time = 2 giờ.

-NS, --cfg_cmd =
Tải tệp cấu hình để nhận lệnh, khóa và danh sách phân phối giá trị.

-w, --win_size =
Kích thước cửa sổ tác vụ của mỗi đồng thời, hậu tố: K, M ví dụ: --win_size = 10k. Vỡ nợ
10k.

-NS, --fixed_size =
Chiều dài cố định của giá trị.

-v, --verify =
Tỷ lệ xác minh ngày tháng, ví dụ: - xác minh = 0.01

-NS, - phân khu =
Số phím để nhận nhiều lần một lần. Mặc định 1, có nghĩa là nhận một lần.

-NS, --stat_freq =
Tần suất bán phá giá thông tin thống kê. hậu tố: s-seconds, m-minutes, ví dụ:
--resp_freq = 10 giây.

-e, --exp_verify =
Tỷ lệ đối tượng có thời gian hết hạn, ví dụ: --exp_verify = 0.01. Mặc định không
đối tượng có thời gian hết hạn

-ồ, - ghi đè =
Tỷ lệ các đối tượng cần ghi đè, ví dụ: - ghi đè = 0.01. Mặc định không bao giờ
ghi đè đối tượng.

-R, - kết nối
Kết nối lại kiểm tra, khi kết nối được đóng nó sẽ được kết nối lại.

-U, --udp
Kiểm tra UDP, memaslap mặc định sử dụng TCP, cổng TCP và cổng UDP của máy chủ phải giống nhau.

-a, --Facebook
Cho dù nó có kích hoạt tính năng kiểm tra facebook, thiết lập với TCP và đa nhận với UDP hay không.

-B, --nhị phân
Cho dù nó có kích hoạt giao thức nhị phân hay không. Mặc định với giao thức ASCII.

-P, --tps =
Thông lượng mong đợi, hậu tố: K, ví dụ: --tps = 10k.

-P, --rep_write =
Máy chủ thứ n đầu tiên có thể ghi dữ liệu, ví dụ: --rep_write = 2.

-b, --dài dòng
Cho dù nó xuất ra thông tin chi tiết khi xác minh không thành công.

-h, --Cứu giúp
Hiển thị thông báo này và sau đó thoát.

-V, --phiên bản
Hiển thị phiên bản của ứng dụng và sau đó thoát.

VÍ DỤ


ghi nhớ -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 20 giây -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

TRANG CHỦ


Để tìm hiểu thêm thông tin, vui lòng kiểm tra: http://libmemcached.org/

TÁC GIẢ


Mingqiang Zhuang[email được bảo vệ]> (Schooner Technolgy) Brian Aker, <-
[email được bảo vệ]>

Sử dụng memcaslap trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    VÒI
    VÒI
    SWIG là một công cụ phát triển phần mềm
    kết nối các chương trình được viết bằng C và
    C ++ với nhiều cấp độ cao
    ngôn ngữ lập trình. SWIG được sử dụng với
    khác nhau...
    Tải xuống SWIG
  • 2
    Chủ đề WooCommerce Nextjs React
    Chủ đề WooCommerce Nextjs React
    Chủ đề React WooCommerce, được xây dựng với
    JS tiếp theo, Webpack, Babel, Node và
    Express, sử dụng GraphQL và Apollo
    Khách hàng. Cửa hàng WooCommerce trong React (
    chứa: Sản phẩm ...
    Tải xuống Chủ đề phản ứng WooC Commerce Nextjs
  • 3
    Archlabs_repo
    Archlabs_repo
    Gói repo cho ArchLabs Đây là một
    ứng dụng cũng có thể được tìm nạp
    từ
    https://sourceforge.net/projects/archlabs-repo/.
    Nó đã được lưu trữ trong OnWorks ở...
    Tải xuống archlabs_repo
  • 4
    Dự án Zephyr
    Dự án Zephyr
    Dự án Zephyr là một thế hệ mới
    hệ điều hành thời gian thực (RTOS)
    hỗ trợ nhiều phần cứng
    kiến trúc. Nó dựa trên một
    hạt nhân có dấu chân nhỏ ...
    Tải xuống dự án Zephyr
  • 5
    SCons
    SCons
    SCons là một công cụ xây dựng phần mềm
    đó là một sự thay thế vượt trội so với
    công cụ xây dựng "Make" cổ điển
    tất cả chúng ta đều biết và yêu thích. SCons là
    thực hiện một ...
    Tải xuống SCons
  • 6
    PSeInt
    PSeInt
    PSeInt là trình thông dịch mã giả cho
    sinh viên lập trình nói tiếng Tây Ban Nha.
    Mục đích chính của nó là trở thành một công cụ để
    học và hiểu cơ bản
    quan niệm ...
    Tải xuống PSeInt
  • Khác »

Lệnh Linux

  • 1
    7z
    7z
    7z - Trình lưu trữ tệp cao nhất
    tỷ lệ nén ...
    Chạy 7z
  • 2
    7za
    7za
    7za - Trình lưu trữ tệp cao nhất
    tỷ lệ nén ...
    Chạy 7za
  • 3
    creepy
    creepy
    CREEPY - Một thông tin định vị địa lý
    công cụ tổng hợp MÔ TẢ: rùng rợn là một
    ứng dụng cho phép bạn thu thập
    thông tin liên quan đến vị trí địa lý về
    người dùng từ...
    Chạy rùng rợn
  • 4
    cricket-biên dịch
    cricket-biên dịch
    cricket - Một chương trình để quản lý
    thu thập và hiển thị chuỗi thời gian
    dữ liệu ...
    Chạy cricket-biên dịch
  • 5
    g-quấn-config
    g-quấn-config
    g-wrap-config - tập lệnh để nhận
    thông tin về phiên bản đã cài đặt
    của G-Wrap...
    Chạy g-wrap-config
  • 6
    g.accessgrass
    g.accessgrass
    g.access - Kiểm soát quyền truy cập vào
    bộ bản đồ hiện tại cho những người dùng khác trên
    hệ thống. Nếu không có tùy chọn nào được đưa ra, hãy in
    tình trạng hiện tại. TỪ KHÓA: tổng hợp, bản đồ
    quản lý,...
    Chạy g.accessgrass
  • Khác »

Ad