25.07.2010
Опишу хак, котоорый использую для ускорения работы по SSH.
Во время работы очень часто соединяюсь с несколькими хостами: хост с репозитариями git и mercurial, девелоперский хост, хосты массового хостинга. Время на соединение получается довольно внушительное и зависит в основном не от скорости канала, а от провисания. При соединении с хостом в Германии, с которым я работаю ну очень часто (и с него же отдаётся этот блог) задержка в лучшем случае 5 секунд. Неприятно, особенно когда речь идёт не о том, чтобы открыть консоль, а например просто вдавить в репозитарий набор изменений и продолжить работать.
16.06.2010
Нужно запомнить раз и навсегда, а лучше вытатуировать это себе на указательном пальце. При подключении через pppoe, pptp, l2tp и вообще при любой инкапсуляции ppp, шлюзу требуется фича TCP Clamp MSS to PMTU. В Shorewall 4.4 (а скорее всего и раньше) она включается установкой параметра CLAMPMSS
в значение Yes
(смотреть в /etc/shorewall/shorewall.conf
).
О приятном. Теперь у меня толстенный по местным меркам канал в 5 мегабит от Билайн. О способе настройки когда-то писал. Актуально, за минусом того, что xl2tpd теперь подойдёт из стабильного репозитария.
Вникал в суть проблемы. У явления её обуславливающего есть название: Path MTU Discovery Black Hole и оно описано в RFC 2923. Суть его в том, что какой-то из маршрутизаторов между моим шлюзом и целевым хостом не пропускает ICMP-пакеты. Подробности здесь.
28.05.2010
Между делом обнаружил в почте сообщение от Debian testing watch:
FYI: The status of the python-django-djapian source package in Debian's testing distribution has changed. Previous version: 2.3.1-1 Current version: 2.3.1-3
Djapian - это подключаемое приложение Djago, позволяющее довольно легко и при этом гибко реализовать поиск по моделям. Подробнее о нём можно почитать в блоге Александра Кошелева, одного из авторов.
Похоже мой пакет попадёт в следующий стабильный выпуск. Версия 2.3.1-3 снабжена патчем, который позволяет Djapian работать на Xapian 1.2, что в свою очередь снимает последнее препятствие на пути в stable.
27.05.2010
Последние два года мой провайдер - «Спарк». В основном он раздаёт интернеты через электрическую сеть по технологии PLC, но в некоторых случаях делает исключения и тянет до квартиры витую пару. У меня витая пара (но я её тянул сам по подъезду до провайдерского шкафа, так тоже когда-то было можно). Ещё «Спарк» знаменит своими «внутренними ресурсами», доступ к которым осуществляется на скорости 100Mbit (через фумигатор заметно медленнее). Раньше меня интересовал и радовал локальный трекер, но со временем скорости на безлимитных тарифах подросли и внутренний трекер перестал быть таким актуальным, но речь в основном не об этом.
Стало мне казаться, что по вечерам скорость сильно падает. Стал мерить.
24.05.2010
Весна, погода, стал много работать на медленных соединениях. 3G, мягко говоря, не везде работает хорошо, а точнее — чуть в сторону от густонаселённых районов и не работает никак. В итоге мой pip на каждом обновлении virtualenv зависает на долго (подробно про virtualenv писал год назад).
В манах по pip ничего не нашлось. В разделе документации, посвящённом конфигурированию тоже. Зато нашлось в changelog:
Added support for an environmental variable $PIP_DOWNLOAD_CACHE which will cache package downloads, so future installations won’t require large downloads. Network access is still required, but just some downloads will be avoided when using this.
Бинго. Именно то, что нужно. В ~/.bashrc
добавил строчку:
export PIP_DOWNLOAD_CAHE=$HOME/.cache/pip
Работает, ура:
$ pip install django
Downloading/unpacking django
Using download cache from ~/.cache/pip/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FD%2FDjango%2FDjango-1.2.tar.gz