Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «производительности»
Шпаргалка Java программиста 3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие) 2015-10-27 23:03:12
Сегодня я хотел бы поговорить о коллекциях в Java. Это тема встречается практически на любом ...
+ развернуть текст сохранённая копия
Сегодня я хотел бы поговорить о коллекциях в Java. Это тема встречается практически на любом техническом интервью Java разработчика, однако далеко не все разработчики в совершенстве освоили все коллекции даже стандартной библиотеки, не говоря уже о всех библиотеках с альтернативными реализациями коллекций, таких как guava, apache, trove и ряд других. Давайте посмотрим какие вообще коллекции можно найти в мире Java и какие методы работы с ними существуют.
Эта статья полезна как для начинающих (чтобы получить общее понимание что такое коллекции и как с ними работать), так и для более опытных программистов, которые возможно найдут в ней что-то полезное или просто структурируют свои знания. Собственно, главное чтобы у вас были хотя бы базовые знания о коллекциях в любом языке программирования, так как в статье не будет объяснений что такое коллекция в принципе.
Читать дальше →
Тэги: api, java, luxoft, stream, алгоритмы, блог, веб-сайтов, кода, коллекции, компании, примеры, программирование, производительность, разработка
Секция о клиентском программировании на HighLoad++ 2015-10-25 18:05:51
+ развернуть текст сохранённая копия
Не знаю, как вы, но я застал время, когда фронтенда еще не было. Большинство макетов программисты могли сверстать самостоятельно, ну что там сложного: <table>, <table> и <table>
Потом появилась блочная верстка, верстальщики выделились в отдельную профессию, но остались на второстепенных ролях. На команду из нескольких серверных программистов приходился один верстальщик, самый бесправный член коллектива — он иногда даже сам внедрить-то свой код не мог, обычно в шаблон HTML-верстку превращали программисты.
Прошло еще несколько лет, и ситуация изменилась в корне! Не каждый PHP-программист поймет, как устроен и работает Angular или React. Страницы стали интерактивными, в ходу концепции толстого клиента и Single Side Application, Игорь Сысоев выпускает nginScript – компилятор JavaScript для nginx, а профессия верстальщика конвертировалась в профессию фронтенд-разработчика. Кстати, как работодатель скажу, что фронтендеров гораздо тяжелее найти, чем бекендеров.
Читать дальше →
Тэги: (онтико), css, highload++, javascript, блог, бунина, веб-разработка, высокие, интерфейсы, клиентская, клиентское, компании, конференции, нагрузки, олега, оптимизация, программирование, производительность, фронтенд, фронтенда
[Перевод] Использование веб-шрифтов, самый лучший способ (на 2015 год) 2015-10-13 21:47:59
Недавно я снова исследовал вопрос загрузки шрифтов, так как я хотел использовать локальную ...
+ развернуть текст сохранённая копия
Недавно я снова исследовал вопрос загрузки шрифтов, так как я хотел использовать локальную копию шрифта и сделать ее загрузку максимально быстрой и эффективной. Данный подход существенно отличается от того, когда вы используете TypeKit или шрифты Google и простые сниппеты «копировать/вставить».
За последние месяцы было написано несколько статей, рассматривающих вопрос различных техник оптимизации загрузки шрифтов.
1, 2, 3
После того, как я их все прочел, я обнаружил несколько новых вопросов, которые в них не затрагиваются. В конечном итоге, я хотел иметь один ресурс, на котором бы была собрана информация о таких проблемах. Некоторые сниппеты кода взяты или адаптированы из статей, ссылки на которые я привел выше.
Цели:
- Асинхронно загружать веб-шрифты
- Избежать сильного пересчета положения в макете
- Как можно быстрее загружать веб-шрифты
- Избежать загрузки шрифтов для возвращающихся посетителей
А теперь давайте попробуем добиться наших целей поэтапно:
Читать дальше →
Тэги: paysto, блог, веб-разработка, компании, производительность, шрифты
Сервис нагрузочного тестирование loadme 2015-10-09 09:28:25
Наша команда столкнулась с недостатками инструментов нагрузочного тестирования, и, в конце ...
+ развернуть текст сохранённая копия
Наша команда столкнулась с недостатками инструментов нагрузочного тестирования, и, в конце концов, было решено разработать собственный сервис. Основные сложности:
- Если это сервис — для серьезной нагрузки цена слишком высока
- Если это утилита — результат зависит от скорости канала компьютера/сервера с которого проводился тест
- Повторяющиеся запросы не отражают реальной скорости, так как кэширование есть на самых разных уровнях начиная от CPU и заканчивая базой данных
Надеюсь, «велосипед» будет интересен и другим — сначала я опишу что уже работает, потом можно будет обсудить дальнейшие фичи.
Что уже сделано?
- Можно тестировать задания из списка url, до 20 штук
- Каждая url может содержать один или несколько случайных параметров, задаваемых с помощью функции $RND
- Тест запускается с множества серверов, на каждом из которых работает только 8 потоков
- Тестирование можно проводить из 4х регионов AWS — Ирландия, Восток/Запад США, Токио
- Тесты до 200 потоков мы готовы предоставлять бесплатно
Читать дальше →
Тэги: it-систем, веб-разработка, высокая, нагрузочное, пиарюсь, производительность, тестирование
NGINX — Ускорение или Детектив для программиста «Оптимизация под Windows» 2015-10-08 15:15:43
Довольно много времени прошло после моей последней статьи про nginx под windows, неделя ...
+ развернуть текст сохранённая копия
Довольно много времени прошло после моей последней статьи про nginx под windows, неделя nginx закончилась. Стоит поправить это упущение.
Иногда так случается, что вдруг появилось свободное время, но для чего-то путнего его не хватает, а просто полазить в интернетах, почитать хабр всячески повышать свою квалификацию совсем не хочется.
Чтобы сделать все-таки что-нибудь полезного, решил заняться анализом логов с некоторых серверов одного проекта, насколько удастся впихнуть это в пару свободных минут.
После небольшого разбора и оценки в сравнении с результатами предыдущего анализа, заметил одну странность — абсолютная скорость отдачи nginx упала в среднем от 5 до 15%.
Объяснить, чем это вызвано с налету никак не удавалось, больших изменений вроде не было, объемы данных тоже настолько не выросли. Да и на отдаче динамики сильных изменений не много.
Покрутив логи и так и сяк, зацепился за отдачу маленькой статики — выяснилась одна закономерность: чем длиннее путь (url) — тем «медлительней» становился nginx (независимо от размера файла).
Итак после нескольких экспериментов, имеем следующие факты:
- скорость отдачи падает прямо пропорционально увеличению длины пути до файла
- скорость практически не зависит от длинны URL, т.е. если URL короткий, но увеличиваем длину root/alias, скорость отдачи падает также, т.е. это все-таки длинна пути, а не URL
- ну и наконец, поиграв с путями файла, а именно его вложенности, выяснилось, что скорость отдачи падает в зависимости от количества поддиректорий, и не зависит от длины как-таковой. Т.е. файл «D:\...\ms-ms-ms-ms-ms-ms-ms-ms\test.gif» отдается много быстрее «D:\...\ms\ms\ms\ms\ms\ms\ms\ms\test.gif»
И тут пришло озарение — я вспомнил, что в этом проекте изменилась файловая структура, и вложенность до некоторой статики и динамики отдаваемой файлом (по redirect) увеличилась на два-три, а местами до пяти каталогов.
Читать дальше →
Тэги: nginx, nginx4win, windows, администрирование, веб-разработка, высокая, оптимизация, производительность, работы, серверная, системное, скорость
Главная / Главные темы / Тэг «производительности»
|
Взлеты Топ 5
Падения Топ 5
|