Медленный просмотр интернета в Ubuntu
У меня двойная загрузка с Windows и Ubuntu. Когда я использую Windows, просмотр веб-страниц намного быстрее, чем когда я использую Ubuntu, и я не знаю почему. Похоже, что просто большая задержка, а не максимальная скорость ниже, большая задержка, прежде чем что-то происходит при использовании Ubuntu, это происходит со всеми веб-сайтами все время. Я никогда не настраивал интернет-соединение, потому что оно работало сразу. У меня есть широкополосное соединение через маршрутизатор, который используется совместно с некоторыми другими компьютерами. Когда мы настроили роутер и интернет-соединение, все было сделано с Windows. Что я мог сделать, чтобы это исправить?
5 ответов
Вы используете Firefox? У меня на компьютере по какой-то причине тоже медленная скорость.
Я установил Google Chrome и Opera - и они просто летают.
Кроме того - попробуйте это также: (спасибо Ubuntu Geek)
Откройте Firefox и введите about:config в адресную строку URL и нажмите Enter. Чтобы превратить False в True, выберите строку для изменения и дважды щелкните. На 2-й вариант изменения, щелкните правой кнопкой мыши и выберите Изменить
network.http.pipelining> Make it True
network.http.pipelining.maxrequests> Сделайте это 8 или 10
network.http.proxy.pipelining> Make it True
network.dns.disableIPv6> Сделайте это правдой
Вы можете страдать от буфера. Это проявляется в виде огромных задержек при передаче или получении большого количества данных.
Я добился успеха, выполнив следующее:
Бежать ifconfig
и искать "txqueuelen" в нем. По умолчанию почти на каждой машине, которую я видел, 1000.
Уменьшите размер буфера передачи до 50. (Почти каждый современный чипсет будет поддерживать 0, но некоторые этого не делают, поэтому мы пойдем с 50 по соображениям безопасности).
sudo ifconfig eth0 txqueuelen 50
Чтобы восстановить исходные настройки:
sudo ifconfig eth0 txqueuelen 1000
На заметку, это МОЖЕТ временно отключить вас от сети - вам может потребоваться принудительно подключить вашу машину к сети (отсоедините / снова подключите кабель, sudo ifconfig eth0 up
, так далее.)
Краткая версия того, что это делает - TCP ожидает, что пакеты будут отброшены и / или не подтверждены своевременно. Когда он сталкивается с этими ситуациями, он отправляет меньше данных для лучшей адаптации к сети. Имея огромную очередь передачи, очередь задерживает любую адаптацию стека TCP, и вы получаете такие огромные задержки и плохую пропускную способность, потому что вы отправляете больше данных, чем может обработать сеть. "Цикл обратной связи" задерживается на размер буферов.
Windows XP не подвержена влиянию, потому что у нее есть другие ограничения на исходящие данные и она не может насытить линии, такие как Linux и другие более современные ОС.
У меня возникла эта проблема, которую я исправил, запустив собственный DNS-кеш. Это почти наверняка ускорит процесс, хотя кто может сказать, что проблема у вас есть? Я не знаю, есть ли у вас dnsmasq или bind9, но попытаться удалить их не помешает. Итак, давайте попробуем удалить их, если они существуют - заменив их частью dnscache djbdns, убив любой экземпляр dnsmasq - если он выполняется - и удалив стартовый скрипт BIND - если он существует.
sudo apt-get remove bind9 dnsmasq-base
sudo apt-get install djbdns dnscache-run
sudo killall -9 dnsmasq
sudo update-rc.d -f bind9 remove
Затем нам нужно указать системе использовать наш кеш.
gksu gedit /etc/resolv.conf
Отредактируйте файл, чтобы он выглядел как этот пример. Этот файл определяет, какие серверы имен использовать, домен по умолчанию и суффикс поиска. Суффикс поиска позволяет выполнять запросы, используя только часть имени хоста полного доменного имени. Например, nslookup www автоматически превращается в nslookup www.example.com, когда example.com является значением параметра "поиск".
nameserver 127.0.0.1 # Use the local resolver first.
nameserver 208.67.222.222 # OpenDNS
nameserver 208.67.220.220 # OpenDNS
domain example.com
search example.com
Это немного необычно, но нам нужно получить самые последние корневые серверы имен.
sudo dnsip $(dnsqr ns . | sed -e '/answer/!d;s/\(.*\)NS \(.*\)/\2/') | sudo tee /etc/dnscache/root/servers/@
Я думаю, что файл resolv.conf перезаписывается при использовании DHCP. Итак, давайте присвоим себе статический IP-адрес, удалив программное обеспечение, которое его подавляет, и отредактируем наш интерфейсный файл, чтобы настроить статический IP-адрес.
sudo apt-get purge network-manager network-manager-gnome
gksu gedit /etc/network/interfaces
Мой файл интерфейсов выглядит следующим образом, но измените ваш в соответствии с вашей конфигурацией.
# Loopback
#
auto lo
iface lo inet loopback
# First network card (attached to NAT router, attached to cable internet)
#
auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Теперь давайте просто перезагрузим.
sudo reboot
Теперь вы используете локальный распознаватель и последние корневые серверы. Это намного, намного быстрее и надежнее, чем то, что я получаю от моего провайдера, который очень медленный. Помогает ли это медленной проблеме у вас?
ОБНОВИТЬ
Или - если вы не хотите запускать свой собственный кеш (см. Выше) и в соответствии с приведенным ниже обсуждением, вы можете просто войти в свой маршрутизатор и настроить его для предоставления альтернативных DNS-серверов, таких как Google и OpenDNS: 8.8.8.8, 208.67.222,222, 208,67,220,220. Это также исправит медленный DNS.
Отредактируйте свой /etc/resolv.conf
файл, удалите все, кроме DNS-серверов Google:
nameserver 8.8.8.8
nameserver 8.8.4.4
и перезагрузите компьютер.
Сделайте анализ CURL, чтобы выяснить, что именно вызывает проблемы: /questions/394604/kak-otladit-medlennuyu-skorost-prosmotra/394611#394611
Я знаю, что это старая ветка, но, поскольку я искал ответ, будут и другие, поэтому я решил опубликовать.
У меня такая же проблема. В Windows все работает нормально, но в Ubuntu некоторые веб-сайты не открываются, открывая навсегда. Я решил это, изменив мой модем из режима "DIAL ON DEMAND" в режим "ALWAYS ON".