import libmemcached-1.0.18-17.el8
This commit is contained in:
parent
1cf23191d5
commit
0049c1c250
225
SOURCES/libmemcached-memaslap-help.patch
Normal file
225
SOURCES/libmemcached-memaslap-help.patch
Normal file
@ -0,0 +1,225 @@
|
||||
commit 567105e2f3007783cd155846118ad47068110565
|
||||
Author: Tomas Korbar <tkorbar@redhat.com>
|
||||
Date: Mon Oct 11 12:26:45 2021 +0200
|
||||
|
||||
Fix typo in memaslap manpage and help
|
||||
|
||||
diff --git a/clients/memaslap.c b/clients/memaslap.c
|
||||
index 0290794..d599cc4 100644
|
||||
--- a/clients/memaslap.c
|
||||
+++ b/clients/memaslap.c
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "ms_setting.h"
|
||||
#include "ms_thread.h"
|
||||
|
||||
-#define PROGRAM_NAME "memslap"
|
||||
+#define PROGRAM_NAME "memaslap"
|
||||
#define PROGRAM_DESCRIPTION \
|
||||
"Generates workload against memcached servers."
|
||||
|
||||
@@ -130,7 +130,7 @@ static __attribute__((noreturn)) void ms_help_command(const char *command_name,
|
||||
printf(" %s\n\n", description);
|
||||
printf(
|
||||
"Usage:\n"
|
||||
- " memslap -hV | -s servers [-F config_file] [-t time | -x exe_num] [...]\n\n"
|
||||
+ " memaslap -hV | -s servers [-F config_file] [-t time | -x exe_num] [...]\n\n"
|
||||
"Options:\n");
|
||||
|
||||
for (int x= 0; long_options[x].name; x++)
|
||||
@@ -146,13 +146,13 @@ static __attribute__((noreturn)) void ms_help_command(const char *command_name,
|
||||
|
||||
printf(
|
||||
"\nExamples:\n"
|
||||
- " memslap -s 127.0.0.1:11211 -S 5s\n"
|
||||
- " memslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b\n"
|
||||
- " memslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2\n"
|
||||
- " memslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k\n"
|
||||
- " memslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40\n"
|
||||
- " memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m\n"
|
||||
- " memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2\n\n");
|
||||
+ " memaslap -s 127.0.0.1:11211 -S 5s\n"
|
||||
+ " memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b\n"
|
||||
+ " memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2\n"
|
||||
+ " memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k\n"
|
||||
+ " memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40\n"
|
||||
+ " memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m\n"
|
||||
+ " memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2\n\n");
|
||||
|
||||
exit(0);
|
||||
} /* ms_help_command */
|
||||
@@ -286,7 +286,7 @@ static const char *ms_lookup_help(ms_options_t option)
|
||||
|
||||
case OPT_UDP:
|
||||
return
|
||||
- "UDP support, default memslap uses TCP, TCP port and UDP port of\n"
|
||||
+ "UDP support, default memaslap uses TCP, TCP port and UDP port of\n"
|
||||
" server must be same.";
|
||||
|
||||
case OPT_EXPIRE:
|
||||
diff --git a/man/memaslap.1 b/man/memaslap.1
|
||||
index 1f41484..e884381 100644
|
||||
--- a/man/memaslap.1
|
||||
+++ b/man/memaslap.1
|
||||
@@ -83,11 +83,11 @@ the threads don\(aqt communicate with each other, and there are several socket
|
||||
connections in each thread. Each connection keeps key size distribution,
|
||||
value size distribution, and command distribution by itself.
|
||||
.sp
|
||||
-You can specify servers via the \fImemslap \-\-servers\fP option or via the
|
||||
+You can specify servers via the \fImemaslap \-\-servers\fP option or via the
|
||||
environment variable \fI\%MEMCACHED_SERVERS\fP\&.
|
||||
.SH FEATURES
|
||||
.sp
|
||||
-Memslap is developed to for the following purposes:
|
||||
+Memaslap is developed to for the following purposes:
|
||||
.sp
|
||||
Manages network connections with libevent asynchronously.
|
||||
.sp
|
||||
@@ -121,8 +121,8 @@ of memaslap is similar to memcached. Libevent can ensure
|
||||
memaslap can handle network very efficiently.
|
||||
.SS Effective implementation of multi\-threads and concurrency
|
||||
.sp
|
||||
-Memslap has the similar implementation of multi\-threads to
|
||||
-memcached. Memslap creates one or more self\-governed threads;
|
||||
+Memaslap has the similar implementation of multi\-threads to
|
||||
+memcached. Memaslap creates one or more self\-governed threads;
|
||||
each thread is bound with one CPU core if the system testss setting CPU
|
||||
core affinity.
|
||||
.sp
|
||||
@@ -131,7 +131,7 @@ each thread has one or more self\-governed concurrencies; and each
|
||||
concurrency has one or more socket connections. All the concurrencies don’t
|
||||
communicate with each other even though they are in the same thread.
|
||||
.sp
|
||||
-Memslap can create thousands of socket connections, and each
|
||||
+Memaslap can create thousands of socket connections, and each
|
||||
concurrency has tens of socket connections. Each concurrency randomly or
|
||||
sequentially selects one socket connection from its socket connection pool
|
||||
to run, so memaslap can ensure each concurrency handles one
|
||||
@@ -144,7 +144,7 @@ In order to improve time efficiency and space efficiency,
|
||||
memaslap creates a random characters table with 10M characters. All the
|
||||
suffixes of keys and values are generated from this random characters table.
|
||||
.sp
|
||||
-Memslap uses the offset in the character table and the length
|
||||
+Memaslap uses the offset in the character table and the length
|
||||
of the string to identify a string. It can save much memory.
|
||||
Each key contains two parts, a prefix and a suffix. The prefix is an
|
||||
uint64_t, 8 bytes. In order to verify the data set before,
|
||||
@@ -152,7 +152,7 @@ memaslap need to ensure each key is unique, so it uses the prefix to identify
|
||||
a key. The prefix cannot include illegal characters, such as ‘r’, ‘n’,
|
||||
‘0’ and ‘ ‘. And memaslap has an algorithm to ensure that.
|
||||
.sp
|
||||
-Memslap doesn’t generate all the objects (key\-value pairs) at
|
||||
+Memaslap doesn’t generate all the objects (key\-value pairs) at
|
||||
the beginning. It only generates enough objects to fill the task window
|
||||
(default 10K objects) of each concurrency. Each object has the following
|
||||
basic information, key prefix, key suffix offset in the character table, key
|
||||
@@ -164,16 +164,16 @@ time, each concurrency kicks objects out of its window and adds new object
|
||||
into it.
|
||||
.SS Simple but useful task scheduling
|
||||
.sp
|
||||
-Memslap uses libevent to schedule all the concurrencies of
|
||||
+Memaslap uses libevent to schedule all the concurrencies of
|
||||
threads, and each concurrency schedules tasks based on the local task
|
||||
-window. Memslap assumes that if each concurrency keeps the same
|
||||
+window. Memaslap assumes that if each concurrency keeps the same
|
||||
key distribution, value distribution and commands distribution, from
|
||||
outside, memaslap keeps all the distribution as a whole.
|
||||
Each task window includes a lot of objects, each object stores its basic
|
||||
information, such as key, value, expire time, and so on. At any time, all
|
||||
the objects in the window keep the same and fixed key and value
|
||||
distribution. If an object is overwritten, the value of the object will be
|
||||
-updated. Memslap verifies the data or expire\-time according to
|
||||
+updated. Memaslap verifies the data or expire\-time according to
|
||||
the object information stored in the task window.
|
||||
.sp
|
||||
Libevent selects which concurrency to handle based on a specific network
|
||||
@@ -201,16 +201,16 @@ test. Each concurrency has one socket connection to each memcached server.
|
||||
For the implementation, memaslap can set some objects to one
|
||||
memcached server, and get these objects from the other servers.
|
||||
.sp
|
||||
-By default, Memslap does single get. If the user specifies
|
||||
+By default, Memaslap does single get. If the user specifies
|
||||
multi\-get option, memaslap will collect enough get commands and
|
||||
pack and send the commands together.
|
||||
.sp
|
||||
-Memslap testss both the ASCII protocol and binary protocol,
|
||||
+Memaslap testss both the ASCII protocol and binary protocol,
|
||||
but it runs on the ASCII protocol by default.
|
||||
-Memslap by default runs on the TCP protocol, but it also
|
||||
+Memaslap by default runs on the TCP protocol, but it also
|
||||
tests UDP. Because UDP is unreliable, dropped packages and out\-of\-order
|
||||
-packages may occur. Memslap creates a memory buffer to handle
|
||||
-these problems. Memslap tries to read all the response data of
|
||||
+packages may occur. Memaslap creates a memory buffer to handle
|
||||
+these problems. Memaslap tries to read all the response data of
|
||||
one command from the server and reorders the response data. If some packages
|
||||
get lost, the waiting timeout mechanism can ensure half\-baked packages will
|
||||
be discarded and the next command will be sent.
|
||||
@@ -343,7 +343,7 @@ throughput using “\-\-tps” option.
|
||||
Most of the time, the user does not need to specify the window size. The
|
||||
default window size is 10k. For Schooner Memcached, the user can specify
|
||||
different window sizes to get different cache miss rates based on the test
|
||||
-case. Memslap testss cache miss rate between 0% and 100%.
|
||||
+case. Memaslap testss cache miss rate between 0% and 100%.
|
||||
If you use this utility to test the performance of Schooner Memcached, you
|
||||
can specify a proper window size to get the expected cache miss rate. The
|
||||
formula for calculating window size is as follows:
|
||||
@@ -389,7 +389,7 @@ The formula for calculating window size for cache miss rate 5%:
|
||||
cache_size / concurrency / (key_size + value_size) * 0.7
|
||||
.SS Verification
|
||||
.sp
|
||||
-Memslap testss both data verification and expire\-time
|
||||
+Memaslap testss both data verification and expire\-time
|
||||
verification. The user can use "\-\-verify=" or "\-v" to specify the proportion
|
||||
of data verification. In theory, it testss 100% data verification. The
|
||||
user can use "\-\-exp_verify=" or "\-e" to specify the proportion of
|
||||
@@ -403,9 +403,9 @@ objects are gotten, memaslap will verify the expire\-time and
|
||||
value.
|
||||
.SS multi\-servers and multi\-config
|
||||
.sp
|
||||
-Memslap testss multi\-servers based on self\-governed thread.
|
||||
+Memaslap testss multi\-servers based on self\-governed thread.
|
||||
There is a limitation that the number of servers cannot be greater than the
|
||||
-number of threads. Memslap assigns one thread to handle one
|
||||
+number of threads. Memaslap assigns one thread to handle one
|
||||
server at least. The user can use the "\-\-servers=" or "\-s" option to specify
|
||||
multi\-servers.
|
||||
.sp
|
||||
@@ -445,17 +445,17 @@ For example:
|
||||
.sp
|
||||
\-\-stat_freq=20s
|
||||
.sp
|
||||
-Memslap will dump the statistics of the commands (get and set) at the frequency of every 20
|
||||
+Memaslap will dump the statistics of the commands (get and set) at the frequency of every 20
|
||||
seconds.
|
||||
.sp
|
||||
For more information on the format of dumping statistic information, refer to “Format of Output” section.
|
||||
.SS Multi\-get
|
||||
.sp
|
||||
The user can use "\-\-division=" or "\-d" to specify multi\-get keys count.
|
||||
-Memslap by default does single get with TCP. Memslap also testss data
|
||||
+Memaslap by default does single get with TCP. Memaslap also testss data
|
||||
verification and expire\-time verification for multi\-get.
|
||||
.sp
|
||||
-Memslap testss multi\-get with both TCP and UDP. Because of
|
||||
+Memaslap testss multi\-get with both TCP and UDP. Because of
|
||||
the different implementation of the ASCII protocol and binary protocol,
|
||||
there are some differences between the two. For the ASCII protocol,
|
||||
memaslap sends one “multi\-get” to the server once. For the
|
||||
@@ -463,7 +463,7 @@ binary protocol, memaslap sends several single get commands
|
||||
together as “multi\-get” to the server.
|
||||
.SS UDP and TCP
|
||||
.sp
|
||||
-Memslap testss both UDP and TCP. For TCP,
|
||||
+Memaslap testss both UDP and TCP. For TCP,
|
||||
memaslap does not reconnect the memcached server if socket connections are
|
||||
lost. If all the socket connections are lost or memcached server crashes,
|
||||
memaslap will exit. If the user specifies the “\-\-reconnect”
|
||||
@@ -493,7 +493,7 @@ For example: \-\-facebook \-\-division=50 \-\-conn_sock=200
|
||||
The above command means that memaslap will do facebook test,
|
||||
each concurrency has 200 socket TCP connections and one UDP socket.
|
||||
.sp
|
||||
-Memslap sets objects with the TCP socket, and multi\-gets 50
|
||||
+Memaslap sets objects with the TCP socket, and multi\-gets 50
|
||||
objects once with the UDP socket.
|
||||
.sp
|
||||
If you specify "\-\-division=50", the key size must be less that 25 bytes
|
@ -14,7 +14,7 @@
|
||||
Name: libmemcached
|
||||
Summary: Client library and command line tools for memcached server
|
||||
Version: 1.0.18
|
||||
Release: 15%{?dist}
|
||||
Release: 17%{?dist}
|
||||
License: BSD
|
||||
URL: http://libmemcached.org/
|
||||
# Original sources:
|
||||
@ -49,7 +49,7 @@ Patch1: %{libname}-build.patch
|
||||
# Fix typo in memparse man page
|
||||
# https://bugs.launchpad.net/libmemcached/+bug/1675762
|
||||
Patch2: %{libname}-memparse-man.patch
|
||||
|
||||
Patch3: %{libname}-memaslap-help.patch
|
||||
|
||||
%description
|
||||
libmemcached is a C/C++ client library and tools for the memcached server
|
||||
@ -100,6 +100,7 @@ This package contains the %{libname} libraries version %{version}.
|
||||
%patch0 -p1 -b .link
|
||||
%patch1 -p1 -b .build
|
||||
%patch2 -p1 -b .memparse-man
|
||||
%patch3 -p1 -b .memaslap-help
|
||||
|
||||
mkdir examples
|
||||
cp -p tests/*.{cc,h} examples/
|
||||
@ -187,6 +188,14 @@ make test
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Oct 25 2021 Tomas Korbar <tkorbar@redhat.com> - 1.0.18-17
|
||||
- fix also memaslap help text
|
||||
- Related: rhbz#2008399
|
||||
|
||||
* Mon Oct 11 2021 Tomas Korbar <tkorbar@redhat.com> - 1.0.18-16
|
||||
- fix typo in memaslap man page
|
||||
- Resolves: rhbz#2008399
|
||||
|
||||
* Fri Jul 27 2018 Miroslav Lichvar <mlichvar@redhat.com> 1.0.18-15
|
||||
- fix typo in memparse man page (#1609312)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user