Аз съм нов за Node.JS и се чудя, има ли начин да наблюдавам производителността и да видя какво е тясното място в моето приложение и коя транзакция на DB отнема голяма част от времето, ...
Отговори:
0 за отговор № 1По-долу са полезните профили и най-широко използвани за Node.js
Google е V8 има вградена примерно профилиране, Профилирането е изключено по подразбиране, но може да бъдеактивиран чрез опцията --prof команден ред. Пробоотборникът записва стекове както на JavaScript, така и на C / C ++ код, най-вече тръби в лог файл. Скриптът на процесора на Linux, който се доставя с V8, може да се използва за анализ на извадката, за да се определи дали времето на процесора се консумира в библиотеките на ниво OS или в самото приложение. Осигурено е и ограничено секвениране.
По-долу връзката ще ви даде по-добро разбиране
Профилирайте уеб приложението си с вътрешния профил на V8
Профилиране на процесора от страна на клиента
Вътрешният профилер също се предлага като част от Chrome Dev Tools и ви позволява да събирате и анализирате CPU профила на приложение в рамките на JavaScript конзолата. Това обаче е добре само за анализ от страна на клиента.
За странично профилиране на сървъра
Профилиране на процесор от страна на сървъра
Профилерът V8 е удължен от StrongLoopза осигуряване на дълбока диагностика и визуални снимки във всеки процес на кандидатстване в клъстериран и некластериран режим по всяко време. Вземете за пример приложение Node, което работи като един главен, два работни работни клъстера. Нека стартираме приложението, поставете малко зареждане върху него и стартирайте профила. Стартирайте клъстера
Тук използваме командата run slc с опция за клъстеринг и уточняваме броя на процесорните ядра, които трябва да бъдат прикачени.
Заредете се!
Чрез използване на Jmeter скрипт за симулиране на 100 едновременни потребители в клъстерираното приложение. Ще се справим с идеален случай, в който всеки екземпляр на приложение / процесорно ядро се справя с натоварване от 50 потребители.