Не скажу как надо "точно".
Но скажу как не надо.
0. Не надо регистрировать медленные и редкоиспользуемые обработчики раньше чаще вызываемых и более критических. Но надо блюсти зависимости. Помните - роутер регистрирует обработчики в листе(ок - массиве) и вызывает последовательно, в том порядке - в котором они были зарегистрированны.
1. Не надо ставить express-static/serve-static перед осовной логикой как советует
dummyman (реальный ник). Выже не хотите, чтобы нода ходила на диск проверяя наличие файла каждый раз, даже когда надо всего лишь вернуть находящийся в памяти объект?
2. Не надо упускать обработчики 404 и 500. А то клиенту будет больно, а вам чуднО.
3. Не надо упускать, что nginx раздает статику офигенно быстро - ведь он использует sendfile тогда как нода будет
читать с диска и писать в сокет по кускам.
Не надо верить
dummyman что nginx не умеет кэшировать статику.
Не надо верить мне - освойте ab (можно и strace чтобы офигеть как круто работает nginx со статикой).
4. Тут еще было про SO_REUSEPORT но это будет немного оффтопик.