About

Обновление архива

Очередное небольшое обновление архива.

Список изменений:

  • Кнопка добавления в закладки.
  • Теперь кликнув на непереведённый комикс можно попасть на страничку с ним. Только для залогиненных.

И самое главное, Андрей любезно согласился выделить нам домен xkcd.ru.

Спасибо, Андрей!

Обновление архива

Сегодня был свободный час, так что я обновил архив переводов xkcd.

Список изменений:

  • По умолчанию теперь показывается последний переведённый комикс.
  • Как побочный эффект, теперь записи в RSS сортирются по дате публикации. Вероятно, пользователи некоторых RSS-читалок это заметят.
  • Кстати, RSS фид теперь указывает на правильный адрес архива.
  • Убрана дурацкая ссылка на википедию из меню навигации.
  • Теперь старые ссылки на неопубликованные переводы (вида http://xkcd.myths.ru/777/1223398281/) продолжают работать после публикации перевода.

Время простоя, как всегда, маленькое. На этот раз несколько секунд (с момента изменения таблицы до перезапуска Apache).

Прикладная география

Ping до нового сервера идёт около 180 мс. Думаю, неприятные задержки при открытии страниц во многом связаны именно с этим.

Хостинг TekTonic находится в Атланте (Джорджия). Расстояние от Москвы до Атланты составляет порядка 8700 км.

Если поделить расстояние на скорость распространения электромагнитного сигнала, то мы получим задержку порядка 30 мс. А если учесть то, что сигнал передается отнюдь не по кратчайшему маршруту (возможно, даже через спутник), и огромное количество оборудования стоящего на пути (traceroute показывает 18 прыжков), то отличие всего в шесть раз кажется не таким уж плохим.

Эх, как же сделать, чтобы сайт по-быстрее открывался?

Entrez Search Field Descriptions and Qualifiers Cheatsheet

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

Сделал себе шпаргалку доступных полей в базах данных:

Entrez Search Field Descriptions and Qualifiers Cheatsheet (PDF, A4, 306K)

7 минут

Во время переезда на новый хостинг сервер не работал около семи минут. На сервере находятся две версии архива: обычная и отладочная. Естественно, они используют разные базы данных. Поэтому можно довольно свободно экспериментировать с отладочной версией, не боясь поломать основную. Когда отладочная версия работает хорошо, можно сделать hg pull path_to_dev && hg update, и обычная версия обновится до отладочной.

Процедура переезда была такова:

  1. Копирование исходников обеих версий на новый сервер.
  2. Изменение исходников отладочной версии до рабочего состояния (в основном исправление путей к файлам и путей на сервере).
  3. Отключение возможности записи в базу данных на старом сервере. Да, это довольно грубый хак, но в рассылке все были предупреждены. В MySQL это делается приблизительно так: mysql> REVOKE INSERT,DELETE,UPDATE on db.* from 'usr'@'localhost'; flush privileges;
  4. Создание на новом домене (DNS запись которого была предусмотрительно переведена на новый сервер) новой рабочей копии архива. Для этого на старом сервере делаем: python manage.py dumpdata > backup.json. Затем на новом python manage.py syncdb, python manage.py (вывод передаём в ваш любимый клиент) и python manage.py loaddata backup.json.
  5. Создание редиректа при помощи mod_rewrite со старого сервера на новый (несколько простых правил). Собственно, на этом пункте и возник простой. Он длился точно не более 7 минут, а скорее всего меньше. Если бы я не поленился и отладил правила для mod_rewrite на другом сервере, то задержка составляла бы несколько секунд.
  6. Поднятие виртуального хоста для старого домена на новом сервере.
  7. Изменение DNS старого домена на новый сервер.

Вся процедура заняла около двух часов спокойной работы (включая не быстрое перекачивание всех картинок со старого сервера на новый).

Пока, FirstVds, здравствуй, TekTonic

Желание создать свой технический блог победило.

Вскоре, впрочем, оказалось, что 64 Мб, которые предлагает на самом дешёвом тарифе FirstVDS, — это очень мало для двух разных Django сайтов: блога на Byteflow и архива переводов xkcd. При одновременной работе двух сайтов они начинали страшно тормозить, и иногда вместо нужной страницы сервер выдавал ответ нулевой длины. Причём, я опасался, что 96 Мб на более дорогом тарифе не изменят ситуацию радикально.

По совету Ивана Сагалаева я купил себе VDS на TekTonic. За немного большие деньги (от 15$ в месяц) я получаю намного больше: 13 Гб под файлы (против 1 Гб), 294 Мб оперативной памяти (против 64 Мб), 500 Гб трафика (против 25 Гб) и 64-битную Ubuntu, c который я имею больший опыт общения, чем с FreeBSD. Единственный замеченный на данный момент недостаток: терминал работает несколько медленней. Видимо, сказывается то, что сервера находятся дальше.