Байкал, остров Ольхон, Хужир. Март 2018










Хорватия одна из самых северных средиземноморских стран. Формально, море в Хорватии не Средиземное, а Адриатическое, но оно является частью Средиземного. Из безусловных плюсов такого расположения я могу выделить очень комфортную температуру воздуха летом — около 27 °C и чистый свежий воздух пропитанный морской солью и ароматом хвои. По сравнению с той же Грецией, где летом температура запросто держится на уровне 35 °C здесь гораздо комфортнее гулять днем.
Мы остановились в Млини, относительно небольшой деревне недалеко от курортного Дубровника. Здесь, как и в других частях Хорватии, очень разнообразная флора: растут как привычные в нашей полосе сосны, так и пальмы, фи́говые деревья, виноград, оливки, лаймы. На рынке можно найти много местных овощей, фруктов и ягод… mmm… me gustó.
Из недостатков — вода холоднее чем в Греции, первые несколько дней она казалась ледяной, но со временем я к этому привык и в последние дни отпуска лез в воду несмотря на её температуру и погоду :)
Всем привет. Предлагаю вашему вниманию свой перевод поста “CPU Utilization is Wrong” из блога Брендана Грегга.
Метрика загруженности процессора (CPU utiliztion), которую все мы привыкли использовать, обычно понимается неправильно. Что такое загруженность процессора? То насколько процессор сейчас занят работой? Нет, это не так, и да, я говорю о метрике %CPU
, которая используется всегда и везде, в каждой утилите мониторинга производительности, например в top(1)
.
Как вы думаете, что значит нагрузка на процессор 90% на картинке ниже?
Вот что это значит на самом деле:
В марте 2017 съездил в короткое путешествие, чуть больше чем на одну неделю, в Берлин, Роттердам и Дюссельдорф. Маршрут получился не самым оптимальным, слишком много переездов за такой короткий интревал, но все равно интересным: Москва — Берлин — Роттердам — Берлин — Дюссельдорф — Берлин — Москва. Все перемещения кроме поездок из и в Москву это разные местные поезда.
К своему сожалению я забыл дома зарядник от фотоаппарата, а аккумулятор был на нуле. Новый зарядник купил не сразу, поэтому фотки начинаются с Роттердама. Хотя это не страшно, в Берлине я уже бывал дважды в 2012 и 2013, поэтому увидеть что-то новое не рассчитывал.
Тем не менее, в глаза бросилось несколько особенностей. Во-первых, стало сильно больше грязи на улицах, больше запахов продуктов жизнедеятельности человека в переходах метро (и тем хуже чем дальше от центра города), больше стен, расписанных дилетантскими граффити, хотя следует отметить, что и очень красивых рисунков на стенах не мало:
Во-вторых, в городе очень мало движухи для туристов. Просто послоняться по городу, как это было, например в Праге, послушать уличных музыкантов, пожевать местную еду, поглазеть по сторонам не получится, всего этого практически нет. На моих глазах полицейские прогнали уличных музыкантов, которые только начали свое представление.
Не смотря ни на что, город очень комфортный для жизни: транспортная система гораздо эффективнее чем в Москве и даже в часы пик нет таких толп людей как в московском метро. В городе множество недорогих кафешек, здесь в кафешке Chan я попробовал самый вкусный Том Ям за пределами Таиланда и самый вкусный вок за пределами Азии в какой-то дешевой забегаловке.
Обновил на этом сайте nginx до версии 1.9.5 и включил поддержку HTTP/2. Для теста погонял сайт до и после на WebPagetest. Честно говоря, результат измерений не сильно впечатлил, вот результат до:
а вот после:
Но визуально, возможно подсознательно, кажется что сайт стал грузиться шустрее.
Ниже информация о том, что нужно сделать для апгрейда nginx в Ubuntu.
22 сентября 2015 года вышел nginx версии 1.9.5 — это первая стабильная версия nginx с поддержкой HTTP/2.
Какие преимущества дает HTTP/2:
С новым 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 и ссылками на дополнительные полезные документы.
Есть консольная команда вида:
./do-something.sh -x 1
Значение аргумента x
может меняться в диапазоне от 1 до 30 000. Выполнение команды для одного аргумента занимает от 30 секунд до 15 минут. Нужно максимально быстро выполнить эту команду для заданного диапазона аргументов на N-ядерном сервере максимально используя ресурсы сервера.
for i in `seq 1 1000`
do
./do-something.sh -x $i
done
Второе решение лучше первого — оно задействует все доступные ядра процессора, но оно все равно неприемлемо. Команды выполняются с непостоянной скоростью. В каком-то из диапазонов могут попасться только легкие команды, которые выполнятся, предположим, за несколько минут, а в каком-то — тяжелые и их выполнение затянется на несколько часов. Таким образом, часть ядер быстро освободится, будет простаивать и ресурсы сервера опять будут использованы неоптимально.