Benchmarking Memcached with memslap Como cualquier otro componente de una pila de servidores, es importante poder aislar el rendimiento de cada servidor para probar de forma granular pequeños cambios de configuración. Apache envía con ab para este propósito. Memcached tiene el programa memslap proporcionado por libMemcached. Para ejecutar las pruebas, bien iniciar dos pequeños servidores Memcached en la máquina local - Ahora bien ejecutar una prueba para ver cómo el protocolo binario afecta el rendimiento de nuestro servidor Memcached. Primero ejecutamos la prueba sin la bandera binaria, luego con - De esta prueba podemos ver que la habilitación del protocolo binario aumentó el rendimiento en aproximadamente 25. Estas métricas serían de otro modo difíciles de calcular sin una herramienta de benchmarking Memcached dedicada. Para ver una lista completa de opciones para memslap, ejecute memslap --help Blog relacionado Postsmemcached (1) - Página de manual de Linux memcached - Sistema de caché de objetos de memoria de alto rendimiento Sinopsis Descripción Esta página de manual documenta brevemente el daemon de caché de objetos de memoria memcached. Memcached es un daemon de caché de objetos de memoria flexible diseñado para aliviar la carga de la base de datos en aplicaciones web dinámicas al almacenar objetos en la memoria. Se basa en libevent para escalar a cualquier tamaño necesario, y está específicamente optimizado para evitar el intercambio y siempre utilizar E / S no bloqueante. Opciones Estos programas siguen la sintaxis usual de la línea de comandos GNU. A continuación se incluye un resumen de las opciones. - s ltfilegt Unix ruta del zócalo para escuchar en (desactiva el soporte de red). - a ltpermsgt Permisos (en formato octal) para socket Unix creado con la opción - s. - l ltipaddrgt Escuchar en ltipaddrgt default en INADDRANY. Esta es una opción importante a considerar ya que no hay otra forma de asegurar la instalación. Se sugiere la unión a una interfaz de red interna o firewalled. - d Ejecuta memcached como un daemon. - u ltusernamegt Supone la identidad de ltusernamegt (sólo cuando se ejecuta como root). - m ltnumgt Utilice ltnumgt MB memory max para utilizar en el almacenamiento de objetos por defecto es de 64 megabytes. - c ltnumgt Utilice ltnumgt max conexiones simultáneas, el valor predeterminado es 1024. - R ltnumgt Esta opción busca evitar el hambre del cliente estableciendo un límite en el número de solicitudes secuenciales que el servidor procesará desde una conexión de cliente individual. Una vez que una conexión ha excedido este valor, el servidor intentará procesar E / S en otras conexiones antes de manejar cualquier solicitud adicional de esta conexión. El valor predeterminado para esta opción es 20. - k Bloquea toda la memoria paginada. Esta es una opción algo peligrosa con caches grandes, así que consulta la página principal de README y memcached para sugerencias de configuración. - p ltnumgt Escucha en el puerto TCP ltnumgt, el puerto por defecto es el 11211. - U ltnumgt Escucha en el puerto UDP ltnumgt, el puerto predeterminado es 11211, 0 está desactivado. - M Desactiva la eliminación automática de elementos de la memoria caché cuando no hay memoria. Las adiciones no serán posibles hasta que se libere espacio suficiente. - r Aumenta el límite de tamaño del archivo de núcleo al máximo permitido. - f ltfactorgt Utilice ltfactorgt como multiplicador para calcular los tamaños de trozos de memoria en los que se almacenan los elementos. Un valor inferior puede resultar en menos memoria perdida dependiendo de la cantidad total de memoria disponible y la distribución de tamaños de elementos. El valor predeterminado es 1,25. - n ltsizegt Asigna un mínimo de bytes ltsizegt para la clave, el valor y los indicadores del elemento. El valor predeterminado es 48. Si tiene muchas pequeñas claves y valores, puede obtener una ganancia significativa de eficiencia de memoria con un valor inferior. Si utiliza un factor de crecimiento alto (opción - f), por otro lado, puede aumentar el tamaño para permitir que un porcentaje mayor de sus elementos encaje en los trozos más densamente compactos (los más pequeños). - C Deshabilite el uso de CAS (y reduzca el tamaño por artículo por 8 bytes). - h Muestra la versión de memcached y un resumen de las opciones. - v Ser detallado durante el bucle de eventos imprime errores y advertencias. - vv Ser aún más verboso como - v, sino también imprimir comandos y respuestas del cliente. - i Imprime licencias memcached y libevent. - P ltfilenamegt Imprimir pidfile a ltfilenamegt, sólo se utiliza en la opción - d. - t ltthreadsgt Número de subprocesos a utilizar para procesar solicitudes entrantes. Esta opción solo tiene sentido si se ha compilado memcached con el soporte de hilos habilitado. Por lo general, no es útil establecer esta cifra más alta que el número de núcleos de CPU en el servidor memcached. El valor predeterminado es 4. - D ltchargt Utiliza ltchargt como el delimitador entre prefijos clave e IDs. Se utiliza para los informes de estadísticas por prefijo. El valor predeterminado es: (dos puntos). Si se especifica esta opción, la recopilación de estadísticas se activará automáticamente si no es así, puede activarse enviando el detalle de estadísticas en el comando al servidor. - L Intente utilizar páginas de memoria grandes (si está disponible). Aumentar el tamaño de la página de memoria podría reducir el número de errores de TLB y mejorar el rendimiento. Para obtener páginas grandes desde el sistema operativo, memcached asignará la caché total de elementos en un fragmento grande. Sólo disponible si está soportado en su sistema operativo. - B ltprotogt Especifica el protocolo de enlace que se va a utilizar. De forma predeterminada, el servidor autonegociará las conexiones del cliente. Al usar esta opción, puede especificar el protocolo que los clientes deben hablar. Las opciones posibles son auto (el comportamiento por defecto, autonegotiation), ascii y binario. - I ltsizegt Anula el tamaño predeterminado de cada página de la losa. El valor predeterminado es 1 MB. El valor predeterminado es 1m, el mínimo es 1k, el máximo es 128m. El ajuste de este valor cambia el límite de tamaño del artículo. Tenga en cuenta que esto también aumenta el número de losas (use - v para ver), y el uso de la memoria excesiva de memcached. Licencia El daemon de memcached es propiedad de Danga Interactive y se distribuye bajo la licencia BSD. Tenga en cuenta que los clientes daemon se licencian por separado. Ver también Autor El daemon memcached fue escrito por Anatoly Vorobey ltmellonpobox gt y Brad Fitzpatrick ltbraddanga gt y el resto de la tripulación de Danga Interactivo danga Referenciado Bymemaslap - Carga de pruebas y benchmarking un servidor DESCRIPCIÓN Memaslap es una generación de carga y herramienta de referencia para servidores memcached. Genera carga de trabajo configurable, como subprocesos, concurrencias, conexiones, tiempo de ejecución, sobrescritura, tasa de errores, tamaño de clave, tamaño de valor, proporción de obtener / configurar, rendimiento esperado, etc. Además, también prueba la verificación de datos, verificación de caducidad, UDP, protocolo binario, prueba de facebook, prueba de replicación, multi-get y reconexión, etc. Memaslap gestiona conexiones de red como memcached con libevent. Cada hilo de memaslap está enlazado con un núcleo de CPU, todos los hilos don8217t se comunican entre sí, y hay varias conexiones de socket en cada hilo. Cada conexión mantiene la distribución de tamaño de clave, distribución de tamaño de valor y distribución de comandos por sí mismo. Puede especificar servidores a través de la opción memslap --servers oa través de la variable de entorno MEMCACHEDSERVERS. CARACTERÍSTICAS Memslap se desarrolla para los siguientes propósitos: Gestiona las conexiones de red con libevent de forma asíncrona. Establezca tanto TCP como UDP para usar E / S sin bloqueo. Mejora el paralelismo: mayor rendimiento en entornos multihilos. Mejora la eficiencia del tiempo: velocidad de procesamiento más rápida. Genera clave y valor más eficientemente la distribución de tamaño de clave y la distribución de tamaño de valor son configurables. Soporta obtener, multi-obtener, y establecer comandos de distribución de comandos es configurable. Soporta la tasa de fallos controlable y la tasa de sobreescritura. Soporta datos y verificación de caducidad. Apoya periódicamente la información estadística de vertido. Soporta miles de conexiones TCP. Soporta protocolo binario. Soporta prueba de facebook (conjunto con TCP y multi-obtener con UDP) y prueba de replicación. DETALLES Implementación efectiva de la red. Para memaslap, tanto TCP como UDP usan IO de red sin bloqueo. Todos los eventos de red son administrados por libevent como memcached. El módulo de red de memaslap es similar a memcached. Libevent puede garantizar memaslap puede manejar la red de manera muy eficiente. Implementación efectiva de multi-threads y concurrencia Memslap tiene la implementación similar de multi-threads a memcached. Memslap crea uno o más subprocesos autogestionados cada subproceso está enlazado con un núcleo de CPU si el sistema prueba establecer la afinidad del núcleo de la CPU. Además, cada subproceso tiene un libevent para gestionar los sucesos de la red cada subproceso tiene una o más concurrencias auto-gobernadas y cada concurrencia tiene una o más conexiones de socket. Todas las concurrencias no se comunican entre sí a pesar de que están en el mismo hilo. Memslap puede crear miles de conexiones de socket y cada concurrencia tiene decenas de conexiones de socket. Cada concurrencia selecciona aleatoriamente o secuencialmente una conexión de socket desde su conjunto de conexiones de socket para ejecutar, por lo que memaslap puede asegurar que cada concurrencia maneja una conexión de socket en un momento dado. Los usuarios pueden especificar el número de conexiones de simultaneidad y de socket de cada concurrencia de acuerdo con su carga de trabajo esperada. Implementación efectiva de la generación de clave y valor Para mejorar la eficiencia en el tiempo y el espacio, memaslap crea una tabla de caracteres aleatorios con 10M caracteres. Todos los sufijos de claves y valores se generan a partir de esta tabla de caracteres aleatorios. Memslap utiliza el desplazamiento en la tabla de caracteres y la longitud de la cadena para identificar una cadena. Puede ahorrar mucha memoria. Cada clave contiene dos partes, un prefijo y un sufijo. El prefijo es un uint64t, 8 bytes. Con el fin de verificar el conjunto de datos antes, memaslap necesidad de asegurar que cada clave es única, por lo que utiliza el prefijo para identificar una clave. El prefijo no puede incluir caracteres ilegales, como r, n, 0 y. Y memaslap tiene un algoritmo para asegurarse de que. Memslap no genera todos los objetos (pares clave-valor) al principio. Sólo genera objetos suficientes para llenar la ventana de tareas (objetos 10K por defecto) de cada concurrencia. Cada objeto tiene la siguiente información básica, prefijo de tecla, desplazamiento de sufijo de clave en la tabla de caracteres, longitud de clave, valor de desplazamiento en la tabla de caracteres y longitud de valor. En el proceso de trabajo, cada concurrencia selecciona de forma secuencial o aleatoria un objeto de la ventana para realizar la operación de establecimiento o obtener la operación. Al mismo tiempo, cada concurrencia expulsa objetos de su ventana y añade un nuevo objeto. Programación de tareas sencilla pero útil Memslap utiliza libevent para programar todas las concurrencias de subprocesos y cada concurrencia programa tareas basadas en la ventana de tareas local. Memslap asume que si cada concurrencia mantiene la misma distribución de claves, distribución de valores y distribución de comandos, desde fuera, memaslap mantiene toda la distribución como un todo. Cada ventana de tareas incluye una gran cantidad de objetos, cada objeto almacena su información básica, como clave, valor, tiempo de caducidad, etc. En cualquier momento, todos los objetos de la ventana guardan la misma y fija clave y distribución de valor. Si se sobrescribe un objeto, se actualizará el valor del objeto. Memslap verifica los datos o el tiempo de expiración de acuerdo con la información del objeto almacenada en la ventana de tareas. Libevent selecciona qué concurrencia manejar en función de un evento de red específico. Entonces la concurrencia selecciona qué comando (get o set) para operar basado en la distribución de comandos. Si necesita expulsar un objeto antiguo y agregar un nuevo objeto, para mantener la misma distribución de clave y valor, el nuevo objeto debe tener la misma longitud de clave y longitud de valor. Si el servidor memcached tiene dos capas de caché (memoria y SSD), ejecutar memaslap con diferentes tamaños de ventana puede obtener diferentes tasas de error de caché. Si memaslap agrega suficientes objetos en las ventanas al principio, y la caché de memcached no puede almacenar todos los objetos inicializados, entonces memaslap obtendrá algunos objetos de la segunda capa de caché. Hace que falte la primera capa de caché. Así que el usuario puede especificar el tamaño de la ventana para obtener la tasa de errores esperados de la primera capa de caché. Implementación útil de multi-servidores. Protocolo UDP, TCP, multi-get y binario Debido a que cada subproceso es auto-gobernado, memaslap puede asignar diferentes subprocesos para manejar diferentes servidores memcached. Esta es sólo una de las formas en que memaslap prueba varios servidores. La única limitación es que el número de servidores no puede ser mayor que el número de subprocesos. La otra forma de probar varios servidores es para la prueba de replicación. Cada concurrencia tiene una conexión de socket a cada servidor memcached. Para la implementación, memaslap puede establecer algunos objetos en un servidor memcached y obtener estos objetos de los otros servidores. De forma predeterminada, Memslap solo obtiene. Si el usuario especifica la opción multi-get, memaslap recopilará suficientes comandos get y pack y enviará los comandos juntos. Memslap prueba tanto el protocolo ASCII como el protocolo binario, pero se ejecuta en el protocolo ASCII de forma predeterminada. Memslap por defecto se ejecuta en el protocolo TCP, pero también prueba UDP. Dado que UDP no es fiable, pueden producirse paquetes eliminados y paquetes fuera de orden. Memslap crea un búfer de memoria para manejar estos problemas. Memslap intenta leer todos los datos de respuesta de un comando desde el servidor y reordena los datos de respuesta. Si se pierden algunos paquetes, el mecanismo de tiempo de espera puede asegurar que los paquetes a medio tiempo se descartarán y se enviará el siguiente comando. USAGE A continuación se presentan algunos ejemplos de uso: 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 El usuario debe especificar un servidor como mínimo para ejecutar memaslap. El resto de los parámetros tienen valores por defecto, como se muestra a continuación: Número de hilo 1 Concurrencia 16 Tiempo de ejecución 600 segundos Archivo de configuración NULL Tamaño de clave 64 Tamaño de valor 1024 Obtener / configurar 9: 1 Tamaño de ventana 10k Ejecutar número 0 Número de sockets de cada concurrencia 1 Reconexión falsa Verificación de datos falsa Verificación de fecha de caducidad falsa Protocolo ASCII verdadero Protocolo binario falso Dumping información estadística Sobreescribir proporción 0 UDP falso TCP verdadero Límite de rendimiento falso Facebook test false Repetición de prueba false Tamaño de clave, tamaño de valor y distribución de comandos . Todas las distribuciones se leen desde el archivo de configuración especificado por el usuario con la opción cfgcmd. Si el usuario no especifica un archivo de configuración, memaslap se ejecutará con la distribución predeterminada (tamaño de clave 64, tamaño de valor 1024, get / set 9: 1). Para obtener información sobre cómo editar el archivo de configuración, consulte la sección Archivo de configuración. El tamaño de clave mínimo es 16 bytes el tamaño máximo de clave es 250 bytes. La precisión de la proporción es 0.001. La proporción de distribución se redondeará a 3 decimales. El tamaño mínimo del valor es 1 bytes, el tamaño máximo del valor es 1M bytes. La precisión de la proporción es 0.001. La proporción de distribución se redondeará a 3 decimales. Actualmente, memaslap sólo prueba los comandos set y get. Y prueba 100 set y 100 get. Para 100 get, preajustará algunos objetos al servidor. Multi-thread y concurrencia El alto rendimiento de memaslap se beneficia del programa especial de subprocesos y concurrencia. Es importante especificar el número adecuado de ellos. El número predeterminado de subprocesos es 1, el número predeterminado de concurrencia es 16. El usuario puede utilizar subprocesos y 8211concurrency para especificar estas variables. Si el sistema prueba la afinidad de CPU y el número de subprocesos especificados por el usuario es mayor que 1, memaslap intentará vincular cada subproceso a un núcleo de CPU diferente. Así que si desea obtener el mejor rendimiento memaslap, es mejor especificar el número de hilos igual al número de núcleos de la CPU. El número de subprocesos especificados por el usuario también puede ser menor o mayor que el número de núcleos de la CPU. Debido a la limitación de la implementación, el número de concurrencias podría ser el múltiplo del número de subprocesos. Para 8 sistemas de núcleos de CPU Para 16 sistemas de núcleos de CPU El memaslap funciona muy bien, cuando se usa para probar el rendimiento de los servidores de memcached. La mayoría de las veces, el cuello de botella es la red o el servidor. Si por alguna razón el usuario desea limitar el rendimiento de memaslap, hay dos maneras de hacerlo: Disminuir el número de subprocesos y concurrencias. Utilice la opción 8211tps que memaslap proporciona para limitar el rendimiento. Esta opción permite al usuario obtener el rendimiento esperado. Por ejemplo, suponga que el rendimiento máximo es de 50 kops / s para una configuración específica, puede especificar un rendimiento igual o inferior al rendimiento máximo mediante la opción 8211tps. Tamaño de la ventana La mayoría de las veces, el usuario no necesita especificar el tamaño de la ventana. El tamaño de ventana predeterminado es 10k. Para Schooner Memcached, el usuario puede especificar distintos tamaños de ventana para obtener diferentes tasas de fallos de caché basadas en el caso de prueba. Memslap pone a prueba la tasa de errores de caché entre 0 y 100. Si utiliza esta utilidad para probar el rendimiento de Schooner Memcached, puede especificar un tamaño de ventana adecuado para obtener la tasa de errores de caché esperada. La fórmula para calcular el tamaño de ventana es la siguiente: Suponga que el tamaño de clave es 128 bytes y el tamaño de valor es 2048 bytes y simultaneity128. 1. Caché pequeño cachesize1M, 100 caché falta (todos los datos se obtienen de SSD). Winsize10k (1). Error de caché 0 (2). Tasa de error de caché 5 (1). Cache error rate 0 La fórmula para calcular el tamaño de la ventana para la caché rate 0: cachesize / concurrency / (keysize) La fórmula para calcular el tamaño de la ventana para la caché rate 5: cachesize / concurrency / (keysize valuesize) 0.7 Verificación Memslap testss both Verificación de datos y verificación de vencimiento. El usuario puede utilizar 82208211verify8221 o 8220-v8221 para especificar la proporción de verificación de datos. En teoría, prueba la verificación de 100 datos. El usuario puede utilizar 82208211expverify8221 o 8220-e8221 para especificar la proporción de la verificación de caducidad. En teoría, prueba una verificación de 100 expirar-tiempo. Especifique las opciones de 82208211verbose8221 para obtener información de error más detallada. Por ejemplo: 8211expverify0.01 verify0.1. Significa que 1 de los objetos establecidos con expirar-tiempo, 10 de los objetos obtenidos se verificará. Si se obtienen los objetos, memaslap verificará el tiempo de caducidad y el valor. Multi-servidores y multi-config Memslap testss multi-servidores basados en el hilo auto-gobernado. Hay una limitación que el número de servidores no puede ser mayor que el número de subprocesos. Memslap asigna un hilo para manejar un servidor al menos. El usuario puede utilizar la opción 82208211servers8221 o 8220-s8221 para especificar servidores múltiples. 8211servers10.1.1.1: 11211,10.1.1.2: 11212,10.1.1.3: 11213 8211threads6 8211concurrency36 El comando anterior significa que hay 6 subprocesos, cada subproceso tiene 6 concurrencias y que los subprocesos 0 y 3 controlan el servidor 0 (10.1.1.1 ) Hilos 1 y 4 manejan el servidor 1 (10.1.1.2) y el hilo 2 y 5 manejan el servidor 2 (10.1.1.3). Todos los subprocesos y las concurrencias en memaslap son autogobernados. Así es memaslap. El usuario puede iniciar varias instancias memaslap. El usuario puede ejecutar memaslap en diferentes máquinas cliente para comunicarse con el mismo servidor memcached al mismo tiempo. Se recomienda que el usuario inicie diferentes memaslap en diferentes máquinas utilizando la misma configuración. Ejecutar con el modo de número de ejecución o el modo de tiempo El memaslap predeterminado se ejecuta con el modo de hora. El tiempo de ejecución predeterminado es de 10 minutos. Si se agota, memaslap saldrá. No especifique tanto el modo de número de ejecución como el de tiempo al mismo tiempo, simplemente especifique uno en su lugar. 8211time30s (Significa que la prueba se ejecutará 30 segundos.) 8211executenumber100000 (Significa que después de ejecutar 100000 comandos, la prueba saldrá.) Dump información estadística periódicamente. El usuario puede utilizar 82208211statfreq8221 o 8220-S8221 para especificar la frecuencia. Memslap descargará las estadísticas de los comandos (get y set) a la frecuencia de cada 20 segundos. Para obtener más información sobre el formato de la información estadística de vertido, consulte la sección Formato de la salida. Multi-get El usuario puede usar 82208211division8221 o 8220-d8221 para especificar el recuento de claves multi-get. Memslap por defecto solo consigue con TCP. Memslap también prueba la verificación de datos y la verificación de tiempo de caducidad para multi-get. Memslap testss multi-obtener con TCP y UDP. Debido a la aplicación diferente del protocolo ASCII y el protocolo binario, hay algunas diferencias entre los dos. Para el protocolo ASCII, memaslap envía una multi-get al servidor una vez. Para el protocolo binario, memaslap envía varios comandos get simples juntos como multi-get al servidor. UDP y TCP Memslap pruebas tanto UDP y TCP. Para TCP, memaslap no vuelve a conectar el servidor memcached si se pierden las conexiones de socket. Si se pierden todas las conexiones de socket o se bloquea el servidor memcached, memaslap se cerrará. Si el usuario especifica la opción 8211reconnect cuando se pierden las conexiones de socket, se volverá a conectar. El usuario puede utilizar 8211udp para habilitar la característica UDP, pero UDP viene con algunas limitaciones: UDP no puede establecer datos de más de 1400 bytes. UDP no es probado por el protocolo binario porque el protocolo binario de memcached no prueba eso. UDP no prueba la reconexión. Prueba de Facebook Establecer datos con TCP y multi-obtener con UDP. Especifique las siguientes opciones: Si desea crear miles de conexiones TCP, especifique Por ejemplo: 8211facebook 8211division50 8211connsock200 El comando anterior significa que memaslap realizará la prueba facebook, cada concurrencia tiene 200 conexiones socket TCP y un socket UDP. Memslap establece objetos con el socket TCP y multi-obtiene 50 objetos una vez con el socket UDP. Si especifica 82208211division508221, el tamaño de clave debe ser menor que 25 bytes porque el tamaño de paquete UDP es 1400 bytes. Prueba de replicación Para la prueba de replicación, el usuario debe especificar al menos dos servidores memcached. El usuario puede usar la opción repwrite para activar la función. El comando anterior significa que hay 2 servidores de memcached de replicación, memaslap establecerá los objetos en el servidor 0 y en el servidor 1, obtendrá los objetos que están configurados en el servidor 0 antes del servidor 1 y también obtendrá los objetos que están configurados en el servidor 1 antes del servidor 0. Si el servidor 0 se bloquea, memaslap sólo obtendrá objetos del servidor 1. Si el servidor 0 vuelve a la vida de nuevo, memaslap volverá a conectar el servidor 0. Si el servidor 0 y el servidor 1 se bloquean, memaslap saldrá. Soporta miles de conexiones TCP Inicie memaslap con 82208211connsock8221 o 8220-n8221 para habilitar esta función. Asegúrese de que su sistema puede probar la apertura de miles de archivos y crear miles de sockets. Sin embargo, esta característica no prueba la reconexión si los sockets se desconectan. 8211configuración 8211concurrencia128 8211connsock128 El comando anterior significa que memaslap inicia 8 subprocesos, cada subproceso tiene 16 concurrencias, cada concurrencia tiene 128 conexiones de socket TCP y el número total de conexiones de socket TCP es 128 128 16384. Compatibilidad con protocolo binario Iniciar memaslap con 82208211binary8221 o 8220 - B8221 para activar esta función. Prueba todas las características anteriores, excepto UDP, porque el último memcached 1.3.3 no implementa el protocolo UDP binario. Desde memcached 1.3.3 doesn8217t implementar el protocolo UDP binario, memaslap no prueba UDP. Además, memcached 1.3.3 no prueba multi-get. Si especifica la opción 82208211division508221, sólo envía 50 comandos get juntos como mulit-get al servidor. Archivo de configuración Esta sección describe el formato del archivo de configuración. De forma predeterminada, cuando no se especifica ningún archivo de configuración, memaslap lee el predeterminado ubicado debajo. A continuación se muestra un ejemplo de archivo de configuración: La velocidad media de la red OPTIONS - s, 8211servers Lista uno o más servidores para conectarse. El número de servidores debe ser menor que el número de hilos. p. ej. 8211serverslocalhost: 1234, localhost: 11211 - T, 8211threads Número de subprocesos a iniciar, mejor igual a números de CPU. Default 8. - c, 8211concurrency Número de concurrencia a simular con load. Predeterminado 128. - n, 8211connsock Número de calcetines TCP por concurrencia. Predeterminado 1. - x, 8211executenumber Número de operaciones (get y set) a ejecutar para la prueba dada. Predeterminado 1000000. - t, 8211time Cuánto tiempo dura la prueba, sufijo: s-segundos, m-minutos, h-horas, d-días, p. 8211time2h. - F, 8211cfgcmd Cargar el archivo de configuración para obtener el comando, la clave y la lista de distribución de valores. - w, 8211winsize Tamaño de ventana de tarea de cada concurrencia, sufijo: K, M p. 8211winsize10k. Predeterminado 10k. - X, 8211fixedsize Longitud fija del valor. - v, 8211verify La proporción de la verificación de la fecha, p. 8211verify0.01 - d, 8211division Número de teclas para multi-obtener una vez. Predeterminado 1, significa solo obtener. - S, 8211statfreq Frecuencia de información estadística de vertido. Sufijo: s-segundos, m-minutos, p. 8211respfreq10s. - e, 8211expverify La proporción de objetos con tiempo de caducidad, p. 8211expverify0.01. Default no object with expire time - o, 8211overwrite La proporción de objetos necesita sobrescribir, p. 8211overwrite0.01. El valor predeterminado nunca sobrescribe el objeto. Vuelva a conectar las pruebas, cuando la conexión se cierra, se reconectará. UDP pruebas, Memaslap por defecto utiliza TCP, puerto TCP y puerto UDP del servidor debe ser el mismo. Ya sea que permite la función de prueba de facebook, establecer con TCP y multi-obtener con UDP. Si permite el protocolo binario. Predeterminado con protocolo ASCII. - P, 8211tps Rendimiento esperado, sufijo: K, p. 8211tps10k. - p, 8211repwrite Los n primeros servidores pueden escribir datos, p. 8211repwrite2. Si genera información detallada cuando la verificación falla. Muestre este mensaje y luego salga. Mostrar la versión de la aplicación y luego salir. Ejemplos 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 INICIO Para obtener más información Información por favor verifique: libmemcached. org/
No comments:
Post a Comment