Байкал, остров Ольхон, посёлок Хужир

Я много слышал о прекрасной природе Байкала и давно мечтал съездить, посмотреть на него своими глазами. Останавливали только сложность перелета и относительная дороговизна билетов, но, наконец-то, в марте 2018 не осталось причин откладывать эту поездку.

Панорама Байкала

Байкал это довольно большое озеро и бывалые туристы рекомендуют планировать не меньше 2-3 недель на путешествие по всем самым интересным местам озера. У нас, к сожалению, было только 5 дней, поэтому в качестве цели своего путешествия я выбрал одно место — остров Ольхон. Чтобы добраться до Ольхона от Москвы нужно потратить около 5,5-6 часов на перелет до Иркутска и еще около 5 часов на путь от Иркутска на машине. Расстояние от Иркутска до поселка Хужир на Ольхоне около 300 километров, большая часть пути идет по континенту и не имеет никаких сложностей. Сложности начинаются при достижении переправы с континентальной части на остров. Зимой Байкал замерзает и примерно с середины января до конца марта (интервал может меняться год от года в зависимости от погоды) переправиться на остров можно по льду Байкала прямо на обычных машинах. Это самый простой и дешевый способ.

Читать дальше ➠

Поездка в Хорватию

Хорватия одна из самых северных средиземноморских стран. Формально, море в Хорватии не Средиземное, а Адриатическое, но оно является частью Средиземного. Из безусловных плюсов такого расположения я могу выделить очень комфортную температуру воздуха летом — около 27 °C и чистый свежий воздух пропитанный морской солью и ароматом хвои. По сравнению с той же Грецией, где летом температура запросто держится на уровне 35 °C здесь гораздо комфортнее гулять днем.

Мы остановились в Млини, относительно небольшой деревне недалеко от курортного Дубровника. Здесь, как и в других частях Хорватии, очень разнообразная флора: растут как привычные в нашей полосе сосны, так и пальмы, фи́говые деревья, виноград, оливки, лаймы. На рынке можно найти много местных овощей, фруктов и ягод… mmm… me gustó.

Из недостатков — вода холоднее чем в Греции, первые несколько дней она казалась ледяной, но со временем я к этому привык и в последние дни отпуска лез в воду несмотря на её температуру и погоду :)

Читать дальше ➠

Метрика загруженности процессора (CPU utiliztion) — это не то что вы думаете

Всем привет. Предлагаю вашему вниманию свой перевод поста “CPU Utilization is Wrong” из блога Брендана Грегга.

Метрика загруженности процессора (CPU utiliztion), которую все мы привыкли использовать, обычно понимается неправильно. Что такое загруженность процессора? То насколько процессор сейчас занят работой? Нет, это не так, и да, я говорю о метрике %CPU, которая используется всегда и везде, в каждой утилите мониторинга производительности, например в top(1).

Как вы думаете, что значит нагрузка на процессор 90% на картинке ниже? Вот что это значит на самом деле:

Читать дальше ➠

Поездка в Берлин, Роттердам, Дюссельдорф в марте 2017

В марте 2017 съездил в короткое путешествие, чуть больше чем на одну неделю, в Берлин, Роттердам и Дюссельдорф. Маршрут получился не самым оптимальным, слишком много переездов за такой короткий интревал, но все равно интересным: Москва — Берлин — Роттердам — Берлин — Дюссельдорф — Берлин — Москва. Все перемещения кроме поездок из и в Москву это разные местные поезда.

К своему сожалению я забыл дома зарядник от фотоаппарата, а аккумулятор был на нуле. Новый зарядник купил не сразу, поэтому фотки начинаются с Роттердама. Хотя это не страшно, в Берлине я уже бывал дважды в 2012 и 2013, поэтому увидеть что-то новое не рассчитывал.

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

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

Не смотря ни на что, город очень комфортный для жизни: транспортная система гораздо эффективнее чем в Москве и даже в часы пик нет таких толп людей как в московском метро. В городе множество недорогих кафешек, здесь в кафешке Chan я попробовал самый вкусный Том Ям за пределами Таиланда и самый вкусный вок за пределами Азии в какой-то дешевой забегаловке.

Читать дальше ➠

HTTP/2 на этом сайте

Обновил на этом сайте nginx до версии 1.9.5 и включил поддержку HTTP/2. Для теста погонял сайт до и после на WebPagetest. Честно говоря, результат измерений не сильно впечатлил, вот результат до:

а вот после:

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

Ниже информация о том, что нужно сделать для апгрейда nginx в Ubuntu.

Читать дальше ➠

Nginx и HTTP/2

22 сентября 2015 года вышел nginx версии 1.9.5 — это первая стабильная версия nginx с поддержкой HTTP/2.

Какие преимущества дает HTTP/2:

  • мультиплексированные соединения — теперь весь контент с одного домена скачивается в рамках одного TCP-соединения, а не с помощью нескольких keep-alive соединений. Более того, даже контент с нескольких доменов может быть скачан в рамках одного TCP-соединения при условии, что эти домены имеют общий ip-адрес и SSL-сертификат,
  • сжатие HTTP-заголовков,
  • приоритезация — клиент может указать какие из запрашиваемых ресурсов наиболее приоритетны, а ткаже задать зависимости между ресурсами (ресурс Б не будет загружен до тех пор пока не загружен ресурс А),
  • server push — сервер может сам определять какие ресурсы могут быть затребованы клиентом в ближайшее время (например, на основании собранной статистики) и передавать их клиенту заранее. Клиент в свою очередь может отказаться от приема такого контента,
  • flow control — клиент может попросить сервер временно снизить скорость загрузки того или иного ресурса, или остановить загрузку полностью. Это полезно в случае, например, если юзер нажал паузу во время загрузки и просмотра видео.

С новым HTTP/2 устаревают такие best practice из HTTP/1.1 как шардирование доменов (загрузка статического контента с нескольких поддоменов одного домена), использование спрайтов изображений, объединение нескольких маленьких js/css файлов в один. Более того, эти практики теперь превращаются в антипаттерны: шардить домены нет смысла, так как данные будут загружены быстрее в рамках одного соединения с мультиплексированием и приоритезацией, спрайты и объединение файлов мешают кешированию — при обновлении одного из файлов браузеру заново придется загузить весь большой объединенный файл вместо одного изменившегося.

Стандарт HTTP/2 не требует обязательного использования TLS, однако современные браузеры включают HTTP/2 только для шифрованных соединений. Связано это, во-первых, с тем, что на шифрованных соединениях больше выигрыш от использования новой версии протокола, так как TLS handshake это достаточно тяжеловесная операция, а в случае использования HTTP/2 будет установлено всего 1 соединение с одним источником. Во-вторых, браузер и веб-сервер должны как-то сообщить друг другу о поддержке HTTP/2, а это легко сделать в рамках TLS handshake без добавления лишних запросов к серверу.

P.S. Прикрутил сегодня к этому блогу SSL-сертификат и планирую в ближайшее время обновить используемый веб-сервер, чтобы добавить поддержку HTTP/2.

P.P.S С помощью вот этого плагина для Хромиума и всех его форков можно отслеживать какие сайты уже используют HTTP/2 или его предшественника SPDY.

P.P.P.S. Вот ссылка на пост в официальном блоге nginx с описанием возможностей HTTP/2 и ссылками на дополнительные полезные документы.