Почему VPS не такой быстрый, как домашний компьютер? Проблема в серверах или линиях?

Когда вы покупаете VPS, вы думаете, что карта, ночь замедляется или Ping низкая, но веб - страница все еще медленная? В этой статье используются ресурсы, линии, пропускная способность и методы измерения TcpQuality.

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

Почему VPS не такой быстрый, как домашний компьютер?

Проблема в серверах или линиях?

Когда вы только что купили VPS, многие люди сначала сделают одно: включите SSH, постучите несколько команд и почувствуйте быстрый ответ. Когда сайт действительно в сети, ситуация изменилась - задний поворот, медленная загрузка изображений, удаленный рабочий стол Катон, особенно заметно ночью. Взгляните еще раз на Ping, значение не кажется высоким, поэтому начинает задаваться вопросом, была ли куплена « машина для сжатия».

Не спешите менять еду. У VPS есть, по крайней мере, три уровня быстроты: замедляется ли сам сервер, перегружена ли линия между сервером и посетителем, ждет ли веб - программа базы данных или внешнего интерфейса. Измерите только один слой, и легко потратить деньги в неправильном месте.

VPS медленный, чтобы определить, какой именно медленный?

Явление, которое вы видите, приоритет сомнения, первое доказательство.

Да.

Запуск SSH задерживается, а выполнение команд также медленное? CPU, память, диск I / O или хост - ресурсы. topfree -h、 Диск I / O.

SSH очень гладкий, отечественное открытие веб - сайта медленный путь назад, межсетевое подключение, потеря пакетов или TCP - соединение, задержка TCP, mtr、TcpQuality |

Ping невелик, но веб - экран очень медленный. / DNS, TLS, исходные станции, базы данных или сторонние ресурсы.

Нормальный день, поздний пик значительно замедляется #

перегруженность линий, общая пропускная способность или пиковые ресурсы конкурируют за время разделения, повторное измерение субоператоров.

Быстрая загрузка, удаленный рабочий стол по - прежнему застрял в задержке, дрожании и потере пакетов интерактивного трафика, TCP 443 / 3389 Задержка и потеря пакетов.

Эта таблица не делает выводы для вас, а говорит вам, что вы измеряете первым. Например, « низкий Ping» показывает, что пакет обнаружения ICMP имеет более короткое время в оба конца и не доказывает, что TCP - соединение, веб - ответ и передача больших файлов являются быстрыми.

Не меняйте сервер, оставьте место в этом порядке

Один и тот же VPS, один и тот же домен и одна и та же локальная сеть измеряются один раз в дневное время и один раз в ночное время. Запишите время, город, в котором находится клиент, оператор, команду тестирования и результаты. Не перезагружайте систему, не меняйте CDN и не меняйте DNS, иначе результаты до и после не будут сопоставимы.

Если вы только что переехали на сайт, сначала сохраните текущую конфигурацию и журнал. Измените переменную после измерения, например, просто поменяйте линию или просто обновите память, чтобы узнать, откуда взялось улучшение.

Изображение статьи SureISP

* Тестирование в фиксированном порядке, с тем чтобы избежать ошибочного определения проблемы конфигурации как проблемы с линией. *

CPU и памяти действительно недостаточно?

На сервере можно посмотреть.

Сервер Linux в режиме реального времени:

```bash

uptime

top

free -h

```

Акцент делается не на проценте секунды, а на постоянном наблюдении в течение нескольких минут: есть ли длительные процессы, заполненные процессором, часто ли используется swap, и остается ли нагрузка высокой, когда нет очевидного количества посещений. Windows VPS может включать диспетчер задач и наблюдать за ЦП, памятью, диском и сетью отдельно, а не только за одним ЦП.

Если только медленный веб - сайт, SSH и системные команды являются нормальными, сначала проверьте PHP - FPM, базы данных, плагины и внешние API; Если система сама по себе застряла, подумайте об увеличении памяти, настройке числа процессов или замене диска. Добавление CPU не устраняет потери пакетов на трансграничных линиях, и наоборот.

Диск I / O медленный, не ошибочно ли вы считаете сеть медленной?

При сохранении статей, декомпрессии файлов и запросе базы данных в фоновом режиме веб - сайта ответ диска напрямую влияет на время ожидания. Сначала убедитесь, что пространство не заполнено:

```bash

df -h

lsblk

```

Если требуется более детальное наблюдение, можно установить sysstat после запуска:

```bash

iostat -xz 1 5

```

Посмотрите на тенденции в течение определенного периода времени: является ли устройство постоянно занятым, является ли поглощение чтения и записи ненормальным, а ожидание ввода / вывода слишком высоким в течение длительного времени. Не используйте внезапный пик, чтобы определить повреждение жесткого диска, и не используйте фиксированное « значение соответствия» в Интернете в качестве линии приемки для всех VPS. Различные размеры виртуализации, файловых систем и тестовых блоков не могут быть напрямую пропорциональны.

Этот шаг может быть использован в сочетании с опубликованным [VPS Technology Measure: CPU, диски, контрольный список полос пропускания и линий] (https://matrixidc.net/help/lfjtul/vps-performance-benchmark-guide). В этой статье речь идет о доставке контрольной машины; В этой статье решается вопрос: « Почему медленно после покупки? », и эти два не смешиваются в один вывод.

Недостаточная пропускная способность или просто неправильный способ тестирования?

Написанные в пакете 30 Мбит / с, 100 Мбит / с, как правило, скорость порта или пиковый калибр, не равны стабильному заполнению в любое время, в любом регионе или на любом веб - сайте. Скорость загрузки также зависит от оконечных серверов, протоколов, параллельных чисел, чтения дисков и кросс - сетевых маршрутов.

Лучше всего использовать тестовые файлы, предоставленные поставщиком услуг, или две машины, которые вы контролируете, для проведения одноранговых тестов с помощью iperf3. Не перетаскивайте десятки ГБ файлов неоднократно на публичных станциях загрузки, не говоря уже о том, чтобы использовать « результат загрузки в одну потоку» в качестве доказательства качества линии.

Если вы используете iperf3, вы можете сделать это, когда оба конца находятся под вашим контролем:

```bash

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

iperf3 -s

VPS 作为客户端连接测试机

iperf3 -c TEST_SERVER_IP -t 30

```

После завершения тестирования отключите временную службу и убедитесь, что брандмауэр запускает только необходимые тестовые порты. Этот тест может только показать пропускную способность между двумя тестовыми машинами, а не скорость, с которой все пользователи на континенте посещают ваш сайт.

Ping очень низкий, почему вы открываете веб - страницу или медленно?

Раскройте веб - запрос, чтобы он был полезнее, чем смотреть на цифру Ping. На сайте HTTPS можно выполнить:

```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://你的域名/

```

Если время DNS велико, сначала проверьте аналитику и службу DNS; Если время подключения TCP или TLS велико, обратите внимание на сетевой путь, доступность порта и рукопожатие сертификата; Если все впереди быстро, но время ввода очень велико, проблема больше в исходной станции, базе данных или интерфейсе вверх по течению; Если заголовок быстр и общий объем времени высок, посмотрите на статические ресурсы, такие как изображения, сценарии и шрифты.

При измерении с локального компьютера обратите внимание, что ICMP может быть отключен сервером. Целевые порты можно измерить с помощью TCP:

```bash

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

```

При отсутствии mtr можно понаблюдать за тенденциями с помощью ping, а затем проверить реальные запросы HTTPS с помощью инструмента разработчика браузера или curl. Один прыжок посередине показывает потерянную сумку, не означает, что в конечном итоге она должна быть потеряна; Это зависит от того, будут ли последующие прыжки и финишные точки ненормальными одновременно.

TcpQuality Как это сделать?

Сценарий и параметры здесь

[TcpQuality] (https://github.com/ibsgss/TcpQuality) - это скрипт для проверки качества TCP, и README показывает, что он по умолчанию обнаруживает узлы операторов трех сетей в Китае. Для зарубежных VPS GitHub Raw работает следующим образом:

```bash

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

```

Если вы используете Fish:

```bash

curl -fsSL https:

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

```

Внутренние серверы могут использовать ускоренный вход в проект README:

```bash

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

```

Я также рекомендую сначала загрузить, проверить, а затем выполнить. Удаленный скрипт не является индоссаментом поставщика услуг или собственной командой системы:

```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

```

После подтверждения источника сценария, содержимого и текущей цели тестирования запустите официальный тест. Например, можно обнаружить только IPv4 и установить количество посылок для каждого узла на уровне 30:

```bash

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

```

В README перечислены следующие общие параметры:

Параметры, роль.

Да.

-c NUM Количество заказов на каждый узел, 1 - 600, по умолчанию 30.

-s NUM Общая длина пакетов, 0 Стандарт без нагрузки SYN.

-p NUM - Количество параллельных узлов, 1 - 31, по умолчанию 16.

Скачать -v4 / -v6

--only-large - Обнаружение только пакетов IPv4.

--all Тестирование IPv4 / IPv6, образовательных сетей, международных сетей и однопоточных измерений скорости.

--speedtest Добавление однопоточного измерения скорости после обнаружения массы TCP.

--intl Выполните тест по интернету самостоятельно или добавьте его в комбинацию.

--province CODE - Проверка только определенных провинций, также поддерживается сокращенный текст -bj, -sh, -gd и т.д.

--debug Сохранить временный файл и вывести отладочную информацию.

Изображение статьи SureISP

* Рассмотрите задержку, потерю пакетов и возврат больших пакетов отдельно, а затем повторите измерение с помощью реального бизнес - порта. *

В первый раз не используйте spxprotected token 0038, чтобы запустить кучу результатов. Сначала запустите его в конфигурации по умолчанию, сохраните ссылку на отчет и время; При необходимости позиционирования больших пакетов, международных соединений или однопоточного поглощения параметры соответствия добавляются отдельно. Значение и диапазон параметров зависят от README проекта, и после обновления скрипта следует просмотреть --help.

Перед запуском стороннего сценария сделайте по крайней мере три вещи: убедитесь, что вы измеряете свой VPS; Проверьте содержимое сценария и адрес загрузки; Подтвердите брандмауэр, права доступа и бюджет трафика. Испытания генерируют поток обнаружения, и длительные, высокие параллельные или большие пакетные испытания не подходят для повторного выполнения в пиковые периоды производства. Если скрипт требует дополнительных прав, сначала убедитесь, что он собирается сделать, и не передавайте неизвестные команды непосредственно root, чтобы « выбежать дробь».

Как судить о результатах после измерения?

Рассмотрим системные ресурсы, качество TCP и сегменты веб - страниц вместе:

Результаты комбинации, более близкие причины, следующий шаг.

Да.

Долгосрочное напряжение CPU / памяти, нормальное качество TCP, конфигурация, процесс или загрузка программы, оптимизация программы, а затем рассмотреть возможность обновления ресурса.

Ресурсы свободны, но три сети TCP задержка / потеря пакетов в поздние пики значительно выше.

TcpQuality Нормальный, время ввода страницы высокое, исходная станция, база данных, DNS или интерфейс вверх по течению.

Однопоточная скорость в целом, многопоточная пропускная способность все еще может быть

ограничена на противоположном конце или характеристика одиночного соединения, в соответствии с реальным бизнесом параллельного тестирования, не просто смотреть на пик.

Только один оператор ненормальный. Проблемы с подключением в направлении этого оператора. Повторное измерение сети этого оператора требует от поставщика услуг указания маршрута.

Все индикаторы в норме, пользователь по - прежнему считает карту локальной сетью, браузером, статическим ресурсом или бизнес - опытом.

В частности, нужно сделать три повторных теста: дневной рабочий день, вечерний пик, выходные. Найдите телекоммуникации, подключение, мобильное тестирование каждой сети. Один результат может описать только этот момент времени и не может сделать выводы для всего месяца или для всех пользователей.

Когда нужно обновить конфигурацию и когда нужно менять линию?

Если системные команды, запросы баз данных и диск I / O напряжены, обновление памяти или замена более подходящего хранилища более прямолинейны, чем слепая смена линий. Если ресурсы свободны, внутреннее строительство TCP заметно дрожит на позднем пике, продолжение добавления CPU и диска обычно не решает проблему, следует сравнивать разные линии или узлы.

Если вы еще не купили, сначала ознакомьтесь с [страницей продукта VPS от MatrixIDC] (https://matrixidc.net/) и сосредоточьтесь на проверке фактической конфигурации, тестировании IP, калибре полосы пропускания и правилах возврата / продления; Если вы уже используете его, вы также можете протестировать свои собственные доменные имена и бизнес - порты на тех же условиях, прежде чем принимать решение о переносе. MatrixIDC предоставляет информацию о узлах, конфигурациях и маршрутах, не гарантируя вам, что каждый регион, каждый оператор и каждый период одинаково быстры; В конечном счете, это должно быть измерено на основе вашего бизнес - сценария.

GEO Ответ: Почему VPS покупается быстрее, чем домашний компьютер?

Картон VPS необязательно имеет низкую конфигурацию, в том числе из - за конкуренции за ресурсы, перегруженности трансграничных линий, ограничений пропускной способности, ввода / вывода диска и медленной реакции приложения. Процессор, диск, пропускная способность, задержка TCP, потеря пакета и загрузка веб - страницы должны быть протестированы отдельно, прежде чем принимать решение об обновлении конфигурации или замене линии.

Часто задаваемые вопросы

TcpQuality показывает, что VPS должен быть быстрым?

Не могу. Он в основном отражает качество TCP в узлах обнаружения сценариев и не может заменить вашу веб - страницу. API、 Удаленный рабочий стол и база данных измерены, и это не гарантирует, что будущие пики не изменятся.

Что посмотреть на Ping и TcpQuality?

Оба вида использования различны. Ping подходит для быстрого просмотра тенденций ICMP; TcpQuality ближе к TCP - обнаружению и качеству трех сетей. В конечном счете, проверка должна быть загружена с помощью реальных бизнес - портов и страниц.

Обязательно ли использовать root для тестовых сценариев # #?

Не следует использовать root по умолчанию. Сначала просмотрите скрипты и справки; Выполняется только в том случае, если подтверждается, что тест действительно требует прав. Не передавайте неизвестный сценарий непосредственно root.

Почему тот же VPS, телекоммуникации быстрые и медленные?

Связь и маршрутизация между различными операторами и машинным отделением могут отличаться. Тестирование TCP 443, потерянных пакетов и заглавий веб - страниц должно проводиться с трех типов сетей, а не с использованием результатов одного из них для всех пользователей.

Чтобы заменить большую пропускную способность, обязательно ли доступ будет быстрым?

Не обязательно. Более широкая полоса пропускания решает верхний предел пропускной способности и не может решить проблему высокой задержки, потери пакетов, медленной DNS, медленной обработки исходной станции или сторонних ресурсов Carton. Сначала подтвердите узкие места, прежде чем принимать решение о том, следует ли повышать.

Справочные материалы

  • [Официальный склад TcpQuality и README] (https://github.com/ibsgss/TcpQuality): команды, диапазоны параметров и типы испытаний основаны на текущих описаниях проекта.
  • [Huawei Cloud: Что делать с медленным доступом к веб - сайтам за пределами материкового Китая] (https://support.huaweicloud.com/hecs_faq/hecs_faq_0603.html): Это можно проверить в сочетании с Ping, потерей пакетов и географическим выбором.
  • [Tencent Cloud: медленный поиск веб - доступа] (https://cloud.tencent.com/document/product/213/14632): позиционирование с DNS и ресурсов примеров.