В первой части шла речь о «проверенных временем» решениях, утянутых домовитыми лапами на ноду. Теперь немного лисапедов и пара мыслей вслух.
puncher (генератор timeline-ов)
Адрес — github.com/nodeca/puncher
Если вам не безразлична производительность, ее желательно контролировать во время разработки. Один из самых простых способов — расставить по коду таймстампы. Это ни в коем случае не «единственный» и не «самый лучший» способ. Просто он часто удобен на самом раннем этапе, когда пишется код и делается ревью — не нужно заниматься сбором статистики, и вообще «далеко ходить». Достаточно вывести прямо внизу страницы таймлайн, и сразу будет видно, что не так. Естественно, потом полезно в любом случае смотреть логи медленных запросов и собирать прочую статистику профайлером. Но проблемных мест останется на порядок меньше. И выясните вы это сразу на ревью, а не когда-нибудь потом, когда мозг уже переключился на другую задачу.
Сам пример можно посмотреть тут, отмотав страницу в самый конец: dev.nodeca.com/. Данные генерируются самодельным модулем puncher. Он позволяет очень легко расставить по коду вложенные интервалы. Это не бенчмарк. Это именно инструмент, который позволяет обнаружить проблемы на самом раннем этапе. Ну и сделать некоторые выводы о том, чего вообще ожидать. При некоторой ловкости, достаточно 1-2 таймлайнов, чтобы увидеть профуканные индексы и медленный код.Читать полностью »