Рубрика «performance optimization»

Как я спасал Magento 2 с 1 млн товаров и 10 млн CMS страниц от 504 ошибок - 1

Технологический стек:

  • Magento 2.4.4

  • MariaDB

  • Redis

  • Varnish

  • OpenSearch

Размер проекта:

  • ~1,000,000 товаров

  • ~3,000 категорий

  • ~10,000,000 CMS страниц

Проблема:

О чём это я

Этот проект является реальным случаем из моей работы и посвящён последствиям небрежного написания простого маппера в рамках исправления одного эндпойнта (конечной точки / «ручки») в Web Rest API сервисе в рамках проекта по рефакторингу и переезду с собственных серверов в большие облака.

Поскольку код этого проекта нельзя распространять, я создал очень похожий маппер для прогнозов погоды (навеянный стандартным шаблоном).
Полный код доступен на GitHub.

Как все начиналось

Читать полностью »

1. Введение

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

2. Уменьшение размера бандла

Оптимизация импорта:

В предыдущих сериях

Микрооптимизации:

  1. Сказка про Method as Parameter #dotnet #methods #gc

  2. Инструменты анализа эффективности работы приложения. PerfView #performance_analysis #trace #perfview

  3. Пародия на замыкания #dotnet #methods #gc

  4. yield return #dotnet #il-code

Про тредпул:

  1. ThreadPool.Intro #dotnet #threadpool

  2. ThreadPool. async/awaitЧитать полностью »

В предыдущих сериях
В предыдущих сериях

А вы никогда не задумывались, что yield returnЧитать полностью »

Сумачечая производительность LINQ в .Net7 - 1

Исторически так сложилось, что LINQ взыскал сомнительную репутацию за его слабую производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Читать полностью »

Вы когда-нибудь задумывались над тем, как компилятор понимает, какую функцию и откуда вызвать? Постараемся разобраться.

Что такое Method Dispatch?

Method Dispatch - это алгоритм, который решает, какой метод должен вызываться в ответ на сообщение. Его цель заключается в том, чтобы проинформировать процессор о том, где он может найти код для вызова метода в памяти.

Swift имеет три типа method dispatch:

  1. Static Dispatch

  2. Table Dispatch

  3. Message Dispatch

В чем отличие разных типов диспетчеризации?

Читать полностью »

Познакомился я с этой темой на одном из собеседований, когда мне задали вопрос о том, что есть какая-то большая структура и сколько памяти будет занято, если переменную с экземпляром этой структуры присвоить другой переменной. Тогда, вспоминая о том, что происходит при взятие подстроки, я ответил, что объем памяти не изменится и ошибся. Ну и уже после собеседования полез читать о copy-on-write (далее COW).

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js