Какво научих тази седмица

  • Размерът на страницата наистина има значение за постигане на висок резултат от сървърите на възли. Успях да удвоя пропускателната способност (заявка за секунда) от nodejs приложение, като намалих размера на страницата само с 25%.
  • Тези универсални приложения са скъпи, ако първоначалното състояние на вашето приложение е огромно, помислете дали първо да изпратите обикновената страница, след това първоначалното състояние по-късно чрез Ajax и след това да хидратирате, ако извличането на състоянието е успешно. Това определено изисква основното изживяване на вашето приложение да е без javascript (предполагам, че това е причината, поради която първо рендирате от страна на сървъра)
  • Внимавайте за празни знаци във вашия полезен товар, те могат да добавят няколко килограма към размера на страницата ви и да влошат производителността.
  • Интегрирането на Stackdriver в облака на Google е дар от Бога. Използвах го, за да изтегля регистрационни файлове на Nginx в табло за управление, за да наблюдавам латентността на мрежата между заявките.
  • Ако едни и същи данни създават същия изглед във вашето изобразено приложение от страна на сървъра, помислете за кеширане на изгледа вместо това, спестява няколко цикъла на процесора или още по-добре, залепете обратен прокси (напр. Nginx) пред вашето приложение nodejs и задайте вашия Cache-Control заглавка, за да съответства на времето за живот на вашите данни, повярвайте ми, това ще облекчи натоварването на вашите сървъри на приложения.

Неща, за които все още нямам отговор

  • Кой е най-добрият начин за мащабиране на Nodejs в клъстер на Kubernetes? 1) мащаб хоризонтално? т.е. много едноядрени капсули? 2) Режим Nodejs Cluster на няколко многоядрени капсули?
  • Има ли полза от използването на HTTP 2, ако имате обратен прокси пред приложението си, ако приложението ви обслужва само изобразен HTML.