Высокая задержка на домене с CDN

Высокая задержка на домене с CDN

Высокая задержка на домене с CDN

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

Альбом Latency

https://i.stack.imgur.com/nKV1r.jpg

Я бы загрузил изображения здесь, но для этого требуется более 10 репутаций, и нельзя публиковать несколько ссылок, поэтому я загрузил изображения в альбом на imgur.

Мой домен размещен наCloudflare-CDN-сеть. Я размещаю наОблачный хостинг на базе SSD, DigitalOcean.

Задержка на серверебыл~40 мс при отсутствии трафика.

Задержка на серверес CDNсейчас ~270мс

Задержка на серверебез CDNсоставляет ~300мс

Раньше я размещал свои файлы на Windows Azure,

Задержкабез движениябыло ~70мс

Задержкас трафикомбыло ~210мс

Тем не менее, несмотря на то, что задержка на DigitalOcean выше, мой контент загружается гораздо быстрее, чем на серверах Windows Azure.

Старый сервер Azure, альбом

imgur.com/a/fpHK9

Я не могу разместить больше 2 ссылок, c/p в браузере

На сервере DigitalOcean не настроен брандмауэр, на серверах Microsoft Azure по умолчанию используется Azure FW, конфигурация с конечными точками.


Содержание

Размер полезной нагрузки

изображения ~156 КБ

CSS ~12 КБ

логотип ~20 КБ

случайный контент загружается при каждом просмотре страницы 4КБ

общий размер случайного контента 116 КБ, который загружается

Всего ~300КБ, все размещено на CDN. Не все загружается сразу.

Статистика Cloudflare, альбом

imgur.com/a/qxnbo

Я не могу разместить больше 2 ссылок, c/p в браузере

Сетевой анализ с помощью Firefox, альбом

https://i.stack.imgur.com/8z16E.jpg

Контент загружается после завершения загрузки страницы.


Память

Сервер работает наlighttpd.

Память

XXX@XXX:~# free -h
             total       used       free     shared    buffers     cached
Mem:          995M       835M       159M         0B       150M       471M
-/+ buffers/cache:       214M       780M
Swap:         1.0G        26M       997M

Вершина

top - 14:29:13 up 21 days,  1:00,  1 user,  load average: 0.00, 0.04, 0.05
Tasks:  95 total,   1 running,  94 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.0 us,  1.4 sy,  0.0 ni, 94.3 id,  0.7 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem:   1019056 total,   856144 used,   162912 free,   153748 buffers
KiB Swap:  1048572 total,    27084 used,  1021488 free,   482660 cached

Капля включена1Гбитобщее подключение.


Связи

При выполнении netstat -n я насчитал ~620 TIME_WAIT/ESTABLISHED соединений

При выполнении netstat -n | grep 'ESTABLISHED' я насчитал ~120 подключений


100 МБ тест

Тестовая загрузка 100 МБ

XXX@XXX:~# wget speedtest.london.linode.com/100MB-london.bin
--2013-09-05 14:35:08--  speedtest.london.linode.com/100MB-london.bin
Resolving speedtest.london.linode.com (speedtest.london.linode.com)... 176.58.107.39, 2a01:7e00::4b
Connecting to speedtest.london.linode.com (speedtest.london.linode.com)|176.58.107.39|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: ‘100MB-london.bin’

100%[===================================================================================================>] 104,857,600 8.46MB/s   in 11s

2013-09-05 14:35:19 (9.47 MB/s) - ‘100MB-london.bin’ saved [104857600/104857600]

Тест загрузки 100 МБ

Я создал еще один сервер и просто скачал с первого тот же файл размером 100 МБ.

XXX@XXX:~# wget domain_with_no_cdn.com/test/100MB-london.bin
--2013-09-05 12:38:00--  domain_with_no_cdn.com/test/100MB-london.bin
Resolving domain_with_no_cdn.com (domain_with_no_cdn.com)... Server_IP
Connecting to domain_with_no_cdn.com (domain_with_no_cdn.com)|Server_IP|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100MB-london.bin'

100%[=======================================================================================>] 104,857,600 13.4M/s   in 6.1s

2013-09-05 12:38:07 (16.5 MB/s) - `100MB-london.bin' saved [104857600/104857600]

Тестовая загрузка 100 МБ через CDN

XXX@XXX:~# wget domain_over_CDN.com/test/100MB-london.bin
--2013-09-05 12:44:26--  domain_over_CDN.com/test/100MB-london.bin
Resolving domain_over_CDN.com (domain_over_CDN.com)... 108.162.200.169, 141.101.127.168
Connecting to domain_over_CDN.com (domain_over_CDN.com)|108.162.200.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100MB-london.bin'

100%[=======================================================================================>] 104,857,600 12.5M/s   in 11s

2013-09-05 12:44:37 (8.96 MB/s) - `100MB-london.bin' saved [104857600/104857600]

Можете ли вы рассказать мне, какие могут быть проблемы с моей настройкой?

Можете ли вы дать мне несколько руководств или ссылок, где я могу узнать, как балансировать нагрузку между серверами или что именно мне нужно сделать, чтобы задержка составила менее 100 мс?


День 2, тестирование

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

Я разместил новые фотографии в альбоме

imgur.com/a/xajge

Я не могу разместить больше 2 ссылок, c/p в браузере

Как вы можете видеть на рисунке 2, все еще есть проблемы с серверами в США на доменах с CDN. Я предполагаю, что они испытывают проблемы из-за обновлений оборудования за последние несколько недель, но я хотел бы знать, как снизить задержку на моем собственном сервере ниже 100 мс.

Я разделяю сервер пиксельного пинга и сервер данных, надеюсь, это снизит задержку.

Если у кого-то есть какие-либо рекомендации, которые могут решить мои проблемы, пожалуйста, любая помощь будет оценена по достоинству :)

Связанный контент