• Español
    English Español Français Deutsch Português Русский 日本語 한국어 Italiano العربية हिन्दी বাংলা Türkçe Tiếng Việt ไทย 简体中文 繁體中文(港) 繁體中文(臺)

webman manual

  • Prólogo
  • Principio
  • Lectura obligada para desarrolladores
  • Guía de inicio
    • Características
    • Ejemplo de desarrollo simple
  • Instalación
    • Requisitos del sistema
    • Instalación y descarga
    • Inicio y detención
  • Flujo de desarrollo
    • Lectura obligada antes del desarrollo
    • Estructura de directorios
    • Normas de desarrollo
    • Flujo básico
  • Clase Worker
    • Constructor
    • Propiedades
      • id
      • count
      • name
      • protocol
      • transport
      • reusePort
      • connections
      • stdoutFile
      • pidFile
      • logFile
      • user
      • reloadable
      • daemonize
      • globalEvent
    • Propiedades de callback
      • onWorkerStart
      • onWorkerReload
      • onConnect
      • onMessage
      • onClose
      • onBufferFull
      • onBufferDrain
      • onError
    • Interfaces
      • runAll
      • stopAll
      • listen
  • Clase TcpConnection
    • Propiedades
      • id
      • protocol
      • worker
      • maxSendBufferSize
      • defaultMaxSendBufferSize
      • defaultMaxPackageSize
    • Propiedades de callback
      • onMessage
      • onClose
      • onBufferFull
      • onBufferDrain
      • onError
    • Interfaces
      • send
      • getRemoteIp
      • getRemotePort
      • close
      • destroy
      • pauseRecv
      • resumeRecv
      • pipe
  • Clase AsyncTcpConnection
    • __construct
    • connect
    • reconnect
    • transport
  • Clase AsyncUdpConnection
    • __construct
    • connect
    • send
    • close
  • Clase Timer
    • add
    • del
    • Notas sobre el temporizador
    • crontab
  • Servicio Http
    • Solicitud
    • Respuesta
    • Sesión
    • Gestión de sesiones
    • SSE
  • Corutinas
    • Introducción a las corutinas
    • Contexto de la corutina
    • Pool de conexiones
    • Barreras de corutina
    • Paralelismo en corutinas
    • WaitGroup de corutinas
    • Lock de corutinas
    • Canal de corutinas
  • Protocolos de comunicación
    • Función de los protocolos de comunicación
    • Protocolos de comunicación personalizados
    • Algunos ejemplos
  • Depuración
    • Depuración básica
    • Comando status para ver el estado de ejecución
    • Depurando procesos ocupados
    • Captura de paquetes de red
    • Seguimiento de llamadas del sistema
  • Componentes comunes
    • Componente de datos globales
      • GlobalDataServer
      • GlobalDataClient
        • add
        • cas
        • increment
    • Componente de comunicación distribuida - Channel
      • ChannelServer
      • channelClient
        • connect
        • on
        • publish
        • unsubsribe
      • Ejemplo - Envío en clúster
      • Ejemplo - Envío por grupos
    • Componente de monitoreo de archivos - FileMonitor
    • Componente MySQL
      • Clase de base de datos
    • Componente Redis
      • workerman/redis
    • Componente http asíncrono
      • workerman/http-client
    • Componente de cola de mensajes asíncronos
      • workemran/mqtt
      • workerman/redis-queue
      • workerman/stomp
      • workerman/rabbitmq
    • Tareas programadas con Crontab
    • Memcache
  • Preguntas frecuentes
    • Heartbeat
    • Autocarga
    • Razones para la falla de conexión del cliente
    • ¿Soporta múltiples hilos?
    • Integración con otros frameworks
    • Ejecutando múltiples workerman
    • ¿Qué protocolos son soportados?
    • ¿Cómo establecer el número de procesos?
    • Ver número de conexiones del cliente
    • Persistencia de objetos y recursos
    • Ejemplo no funciona
    • Fallo en el inicio
    • Fallo en la detención
    • ¿Cuántas conexiones concurrentes son soportadas?
    • Los cambios en el código no surten efecto
    • Enviar datos a un cliente específico
    • ¿Cómo enviar mensajes proactivamente?
    • Enviar notificaciones en otros proyectos
    • ¿Cómo implementar tareas asíncronas?
    • Razones para send_fail en status
    • Desarrollar en Windows y desplegar en Linux
    • ¿Soporta socket.io?
    • El cierre del terminal provoca que workerman se detenga
    • Relación con nginx y apache
    • Deshabilitar la verificación de funciones
    • Principio de reinicio suave
    • Abrir el puerto 843 para Flash
    • ¿Cómo transmitir datos?
    • ¿Cómo establecer un servicio UDP?
    • Escuchar IPV6
    • Cerrar conexiones no autenticadas
    • Transmisión encriptada - ssl/tls
    • Crear un servicio WSS
    • Crear un servicio HTTPS
    • Workerman como cliente
    • Como cliente WS/WSS
    • Mini programas de WeChat
    • Varias formas de función de retorno en PHP
    • Obtener la IP real del cliente a través de un proxy
    • Inicio automático
    • Recibir y enviar datos en hexadecimal
    • Reiniciar después de recibir un número determinado de solicitudes
    • Inicializar múltiples workers en Windows
    • Las solicitudes se concentran en ciertos procesos
  • Apéndice
    • Optimización del kernel de Linux
    • Pruebas de estrés
    • Instalar extensiones
    • Protocolo websocket
    • Protocolo ws
    • Protocolo text
    • Protocolo frame
    • Funciones/características no soportadas
  • Información de licencia

Pruebas de Carga

Pruebas de Rendimiento de Frameworks Web Globales

Resultados de la 19ª ronda de pruebas de TechemPower del 28 de mayo de 2020

workerman se coloca entre los mejores en diversas métricas de frameworks PHP, con un rendimiento superior a los frameworks tradicionales de aproximadamente 10 a 200 veces.

Para las pruebas de carga, es necesario instalar la extensión event y optimizar los parámetros del núcleo de Linux

Consulte la sección Apéndice - Optimización del Núcleo.