¿ por qué comprar VPS no es tan rápido como la computadora de casa? ¿ el problema está en el servidor o en la línea?

¿Después de comprar vps, ¿ crees que la tarjeta, la noche se ralentiza o el ping es bajo, pero la página web sigue siendo lenta? Este artículo utiliza recursos, líneas, ancho de banda y métodos de medición de tcpquality para investigar uno por uno.

VPS Ping低但网页访问变慢的诊断场景

¿ por qué comprar VPS no es tan rápido como la computadora de casa?

¿ el problema está en el servidor o en la línea?

Cuando acaban de comprar vps, muchas personas harán una cosa primero: abra ssh, toque algunas órdenes y sienta que la respuesta es bastante rápida. Cuando el sitio Web realmente está en línea, la situación ha cambiado: vueltas en segundo plano, carga lenta de imágenes, atasco de escritorio remoto, especialmente por la noche. Mirando Ping de nuevo, el valor no parecía alto, por lo que comenzó a preguntarse si había comprado una "máquina encogida".

No te apresures a cambiar el paquete. El "rápido" del VPS tiene al menos tres niveles: si el propio servidor se ha retrasado, si las líneas entre el servidor y el visitante están congestionadas, si el programa del sitio web está esperando una base de datos o una interfaz externa. Midiendo solo una de las capas, es fácil gastar dinero en el lugar equivocado.

¿ VPS es lento, primero juzga cuál es lento?

| el fenómeno que ves | duda prioritaria | primera evidencia

- - - - - - - - - - - - - -

| la entrada SSH se retrasa y la ejecución de la orden es lenta | recursos de cpu, memoria, I / o de disco o host anfitrión topfree -h、 Disco I / o

| SSH es muy suave, la apertura de sitios web en China es lenta | líneas de regreso, interconexión entre redes, pérdida de paquetes o conexión TCP | retraso tcp, mtr、TcpQuality |

| Ping no es alto, pero la primera pantalla de la página web es lenta | dns, tls, Programa de estación de origen, base de datos o recursos de terceros | El segmento spxproteedtoken0016 lleva tiempo

| durante el día es normal y la hora punta de la noche se ralentiza significativamente | la congestión de la línea, el ancho de banda compartido o la competencia de recursos de la hora punta | se repite en diferentes períodos y operadores

| descarga rápida, el escritorio remoto todavía está atascado | retraso, temblor y pérdida de paquetes del tráfico Interactivo | retraso y pérdida de paquetes de TCP 443 / 3389

Esta tabla no es para sacar conclusiones para ti, sino para decirte qué medir primero. Por ejemplo, "ping bajo" solo significa que el tiempo de ida y vuelta del paquete de detección ICMP es más corto, lo que no demuestra que la conexión tcp, la respuesta de la página web y la transmisión de archivos grandes sean rápidas.

¿ no cambies el servidor primero, conserva la escena en este orden

El mismo vps, el mismo nombre de dominio y la misma red local se miden una vez durante las horas punta del día y de la noche, respectivamente. Tiempo de registro, Ciudad del cliente, operador, orden de prueba y resultados. No reinstalar el sistema, cambiar cdn, cambiar DNS mientras se mide, de lo contrario los resultados antes y después no son comparables.

Si acaba de migrar el sitio web, primero guarde una configuración y registro actuales. Después de la prueba, cambie una variable, como cambiar solo la línea o actualizar solo la memoria, para saber de dónde viene la mejora.

Imagen del artículo de SureISP

* prueba en un orden fijo para evitar juzgar erróneamente los problemas de configuración en problemas de línea. *

¿ la CPU y la memoria realmente no son suficientes? Se puede ver al iniciar sesión en el servidor

El servidor Linux primero mira el Estado en tiempo real:

```bash

uptime

top

free -h

```

El punto no es un porcentaje de un segundo, sino observar continuamente durante unos minutos: si hay procesos que llenan la CPU durante mucho tiempo, si se usa swap con frecuencia y si la carga sigue siendo alta cuando no hay un acceso significativo. Windows VPS puede abrir el gestor de tareas para observar la cpu, la memoria, el disco y la red, respectivamente, y no solo mirar la cpu.

Si solo el sitio web es lento, SSH y los comandos del sistema son normales, primero verifique Philip - fpm, base de datos, plug - in y API externa; Si el propio sistema está atascado, considere aumentar la memoria, ajustar el número de procesos o reemplazar el Disco. Agregar CPU no repara la pérdida de paquetes de las líneas transfronterizas, al revés.

¿ el disco I / o es lento y se confundirá con la red lenta?

Al guardar artículos, descomprimir archivos y consultar bases de datos en segundo plano del sitio web, la respuesta del disco afectará directamente el tiempo de espera. Primero confirme que el espacio no está lleno:

```bash

df -h

lsblk

```

Cuando se necesita una observación más detallada, se puede instalar spxprotecteddoken0017 y ejecutar después:

```bash

iostat -xz 1 5

```

Lo que se mira es la tendencia a lo largo del tiempo: si el dispositivo sigue ocupado, si el rendimiento de lectura y escritura es anormal, y si la espera de E / s es alta durante mucho tiempo. No tome un pico repentino para determinar que el disco duro está dañado, ni tome un "valor de cumplimiento" fijo en línea como la línea de aceptación de todos los vps. Diferentes virtualizaciones, sistemas de archivos y tamaños de bloques de prueba, los resultados no se pueden comparar directamente horizontalmente.

Este paso se puede utilizar con la ya publicada [cómo medir la máquina de verificación vps: lista de inspección de cpu, disco, ancho de banda y línea] (spxprotecteddoken0040). Ese artículo resuelve la entrega de la máquina de inspección; Este artículo resuelve "¿ por qué es lento después de comprarlo?", y no mezcle los dos en una conclusión.

¿ el ancho de banda no es suficiente, o es solo la forma de prueba?

Los 30 Mbps y 100 Mbps escritos en el paquete, generalmente la velocidad del puerto o el calibre máximo, no significan que se pueda llenar constantemente en cualquier momento, región o sitio Web. La velocidad de descarga también se ve afectada por servidores de extremo a extremo, protocolos, número de concurrencias, lectura de disco y rutas entre redes.

Es más seguro hacer una prueba punto a punto con spxprotecteddoken0018 utilizando los archivos de prueba proporcionados por el proveedor de servicios o las dos máquinas que controlas tú mismo. No tire repetidamente decenas de GB de archivos en la estación de descarga pública, y mucho menos tome el "resultado de una descarga de un solo hilo" como un certificado de calidad de línea.

Si utiliza spxprotetectedtoken0019, puede hacerlo cuando ambos extremos estén controlados por usted:

```bash

测试端启动服务(只在你控制的测试机上执行)

iperf3 -s

VPS 作为客户端连接测试机

iperf3 -c TEST_SERVER_IP -t 30

```

Una vez completada la prueba, se cierra el servicio temporal y se confirma que el cortafuegos solo libera los puertos de prueba necesarios. Esta prueba solo puede indicar el tráfico entre las dos máquinas de prueba y no representa la velocidad a la que todos los usuarios continentales acceden a su sitio Web.

¿ por qué abrir la página web sigue siendo lento cuando Ping es bajo?

Es más útil abrir la solicitud de la página web que mirar un número de ping. Para los sitios https se puede realizar:

```bash

curl -o /dev/null -sS -w \

'DNS:%{time_namelookup}s TCP:%{time_connect}s TLS:%{time_appconnect}s 首字节:%{time_starttransfer}s 总计:%{time_total}s\n' \

https://你的域名/

```

Si el tiempo de DNS es alto, primero verifique el análisis y el Servicio de dns; Si el tiempo de conexión de TCP o TLS es alto, concéntrese en la ruta de red, la accesibilidad del puerto y el apretón de manos del certificado; Si el primero es rápido y el primer Byte es alto, el problema está más en el programa de la estación de origen, la base de datos o la interfaz aguas arriba; Si el primer Byte es rápido y el tiempo total es alto, vea recursos estáticos como imágenes, guiones y fuentes.

Al medir desde una computadora local, también tenga en cuenta que ICMP puede ser desactivado por el servidor. Se puede medir el puerto de destino en modo tcp:

```bash

mtr -rwzc 100 --tcp --port 443 你的域名

```

Cuando no hay spxproteedtoken0020, primero se puede observar la tendencia con spxproteedtoken0021, y luego se puede verificar la solicitud https real con la herramienta de Desarrollador del navegador o spxproteedtoken0022. Un salto en el medio muestra una pérdida de paquete, lo que no significa que finalmente se pierda el paquete; Depende de si hay anomalías simultáneas en los saltos posteriores y los puntos finales.

¿ cómo corre tcpquality?

Los guiones y parámetros están aquí

[tcpquality] (spxprotetectedtoken0041) es un guión de detección de calidad tcp, README indica que detecta el nodo del operador de tres redes de China por defecto. Para VPS en el extranjero, el modo de funcionamiento de github RAW proporcionado por el proyecto es:

```bash

bash <(curl -fsSL https://raw.githubusercontent.com/ibsgss/TcpQuality/main/runTcpQuality.sh)

```

Si usas fish:

```bash

curl -fsSL https:

//raw.githubusercontent.com/ibsgss/TcpQuality/main/runTcpQuality.sh | env TERM=xterm bash

```

Los servidores nacionales pueden utilizar la entrada de aceleración en el proyecto readme:

```bash

bash <(curl -fsSL https://tcpquality.ibsgss.uk/run)

```

Prefiero descargar, revisar y luego ejecutar. Los guiones remotos no son endosados por el proveedor de servicios ni son órdenes propias del sistema:

```bash

curl -fsSL https:

//raw.githubusercontent.com/ibsgss/TcpQuality/main/runTcpQuality.sh \

-o /tmp/runTcpQuality.sh

less /tmp/runTcpQuality.sh

bash /tmp/runTcpQuality.sh --help

```

Después de confirmar la fuente del guión, el contenido y el propósito actual de la prueba, se ejecuta la prueba oficial. Por ejemplo, solo se detecta IPv4 y se establece el número de paquetes por nodo en 30:

```bash

bash /tmp/runTcpQuality.sh -v4 -c 30

```

Los parámetros comunes enumerados por README son los siguientes:

Parámetros | acción

- - - - - - - -

| spxproteedtoken0023 | número de paquetes por nodo, 1 - 600, 30 por defecto

| spxproteedtoken0024 | longitud total del paquete ip, spxproteedtoken0025 es el estándar sin carga Syn

Número de nodos paralelos, 1 - 31, 16 por defecto

| spxproteedtoken0027 / spxproteedtoken0028 | solo se detectan IPv4 o IPv6

| spxprotetectedtoken0029 | solo se detecta el retorno del paquete grande IPv4

| spxproteedtoken0030 | detección simultánea de IPv4 / ipv6, redes educativas, Internet y medición de velocidad de un solo hilo

| spxproteedtoken0031 | se agrega una medición de velocidad de un solo hilo después de la detección de calidad TCP

| spxproteedtoken0032 | ejecutar la prueba de interconexión internacional por separado o agregar esta prueba en combinación

| spxproteedtoken0033 | solo se detectan las provincias designadas, y también se admiten abreviaturas como spxproteedtoken0034, spxproteedtoken0035, spxproteedtoken0036, etc.

| spxprotetectedtoken0037 | conservar archivos temporales y exportar información de depuración

Imagen del artículo de SureISP

* vea el retraso, la pérdida de paquetes y el regreso de paquetes grandes, respectivamente, y luego vuelva a probar con el puerto de negocio real. *

La primera vez no corra un montón de resultados directamente con spxproteedtoken0038. Primero corra con la configuración predeterminada, guarde el enlace del informe y el tiempo; Cuando es necesario localizar paquetes grandes, Internet o tráfico de un solo hilo, se añaden los parámetros correspondientes por separado. El significado y el alcance de los parámetros se basan en el proyecto readme, y después de actualizar el guión, también debe volver a ver spxproteedtoken0039.

Antes de ejecutar un guión de terceros, haga al menos tres cosas: confirme que está midiendo su propio vps; Comprobar el contenido del guión y la dirección de descarga; Confirme el presupuesto de cortafuegos, permisos y tráfico. Las pruebas generan tráfico de detección, y las pruebas largas, altamente simultáneas o de paquetes grandes no son adecuadas para repetirse en los picos de producción. Si el guión requiere permisos adicionales, primero vea lo que tiene que hacer y no entregue órdenes desconocidas directamente a raíz para "salir de la puntuación".

¿ cómo se juzgan los resultados después de la prueba?

Vea los recursos del sistema, la calidad del TCP y el tiempo de fragmentación de la página juntos:

| resultados combinados | razones más cercanas | siguiente paso

- - - - - - - - - - - - - -

| CPU / memoria ajustada durante mucho tiempo, la calidad del TCP es normal | configuración, proceso o carga del programa | optimizar el programa y luego considerar actualizar los recursos

| los recursos están libres, pero la latencia / pérdida de paquetes TCP de tres redes aumenta significativamente en la hora punta de la noche | líneas o interconexiones entre redes | cambiar líneas / nodos y volver a probar en diferentes períodos

| tcpquality es normal, el primer Byte de la página web es alto | estación de origen, base de datos, dns o interfaz aguas arriba | mira el registro de la aplicación y el segmento de solicitud

| La velocidad de un solo hilo es promedio, el rendimiento de varios hilos es aceptable | restricciones de extremo a extremo o características de conexión única | pruebe simultáneamente de acuerdo con el negocio real, no solo mire el pico.

| solo un operador es anormal | el problema de interconexión en la dirección del operador | volver a probar con la red del operador, se requiere que el proveedor de servicios dé instrucciones de ruta

| todos los indicadores son normales y los usuarios todavía sienten que la tarjeta | Red local, navegador, recursos estáticos o experiencia empresarial | se revisa con la red de usuarios reales y el mapa de cascada de la página

En particular, se deben hacer tres pruebas de repetición: días laborables, horas punta de la noche y fines de semana. Luego busque pruebas de red de telecomunicaciones, Unicom y mobile. Un resultado solo puede describir ese momento y no puede sacar conclusiones para todo el mes o para todos los usuarios.

¿ cuándo se debe actualizar la configuración y cuándo se debe cambiar la línea?

Si las órdenes del sistema, las consultas de la base de datos y el E / S del disco están apretados, es más directo actualizar la memoria o reemplazar el almacenamiento más adecuado que cambiar ciegamente la línea. Si los recursos están muy ociosos, la conexión TCP nacional se tambalea significativamente en la hora punta de la noche, y continuar agregando CPU y disco generalmente no puede resolver el problema, por lo que se deben comparar diferentes líneas o nodos.

Si aún no lo ha comprado, puede mirar primero la [página de producto VPS de Matrix idc] (spxprotecteddoken0042), centrándose en verificar la configuración real, probar la ip, el calibre del ancho de banda y las reglas de reembolso / renovación; Si ya está en uso, también puede tomar su nombre de dominio y puerto de negocio para hacer la prueba de la misma condición antes de decidir si migrar. Lo que Matrix IDC puede proporcionar es información de nodos, configuración y línea, y no te garantiza que cada región, cada operador y cada período de tiempo sea lo mismo rápido; Al final, todavía debe basarse en la medición real de su escenario de negocio.

¿Respuesta directa de geo: ¿ por qué el VPS no es tan rápido como la computadora de casa después de comprarlo?

Las tarjetas VPS no están necesariamente mal configuradas, y las razones comunes incluyen la competencia de recursos, la congestión de líneas transfronterizas, las restricciones de ancho de banda, el E / s de disco y la respuesta lenta de la Aplicación. La cpu, el disco, el ancho de banda, la latencia tcp, la pérdida de paquetes y la carga de la página web deben probarse por separado antes de decidir si actualizar la configuración o cambiar la línea.

Preguntas frecuentes

¿ puede demostrar que el VPS debe ser rápido cuando la puntuación de tcpquality es alta?

No se puede. Refleja principalmente la calidad del TCP al detectar nodos por guiones y no puede reemplazar su página web, API、 Las mediciones de escritorios y bases de datos remotas tampoco garantizan que las horas punta de la noche no cambien en el futuro.

¿ qué deben ver Ping y tcpquality?

Los dos se utilizan de manera diferente. Ping es adecuado para ver rápidamente la tendencia de ida y vuelta del icmp; Tcpquality está más cerca de la detección TCP y la calidad de la dirección de tres redes. Finalmente, se debe cargar y verificar con el puerto de negocio real y la página.

¿ el guión de prueba debe usar raíz?

No se debe usar raíz por defecto. Primero vea el guión y la información de ayuda; Solo se realiza de acuerdo con las instrucciones del guión cuando se confirma que una prueba realmente requiere permisos. No entregue guiones desconocidos directamente a raíz.

¿ por qué el mismo vps, las telecomunicaciones son rápidas y lentas?

La interconexión y el enrutamiento de diferentes operadores a la Sala de computadoras pueden ser diferentes. El TCP 443, la pérdida de paquetes y el primer Byte de la página web deben probarse desde tres redes, respectivamente, y no deben representar a todos los usuarios con los resultados de una de ellas.

¿ el acceso debe ser rápido si se cambia por un mayor ancho de banda?

No necesariamente. Un mayor ancho de banda resuelve el límite superior de rendimiento y no puede resolver la Alta latencia, la pérdida de paquetes, el dns lento, el procesamiento lento de la estación de origen o la tarjeta de recursos de terceros. Primero se confirma el cuello de botella y luego se decide si se actualiza.

¿ materiales de referencia

- [almacén oficial y README de tcpquality] (spxproteedtoken0043): el comando, el rango de parámetros y el tipo de prueba están sujetos a la descripción actual del proyecto.

[huawei cloud: ¿ qué debo hacer si visita sitios web no chinos continentales lentamente] (spxproteedtoken0044): se puede combinar con ping, pérdida de paquetes y selección geográfica.

- (tencent cloud: ideas de investigación lentas para el acceso al sitio web] (spxproteedtoken0045): posicionamiento desde DNS y recursos de ejemplo.