Size: a a a

Nuxt.js — русскоговорящее сообщество

2020 May 03

AB

Artem Biryukov in Nuxt.js — русскоговорящее сообщество
Александр
Замеры на тестовой страничке. Страничка как из пункта 7
1) запрос страницы с пустым fetch - в среднем около 100мс, притом разброс ~ от 60 до 200
2) запрос страницы, fetch с одним вызовом апи моим способом
async fetch () {
   let res = await this.$api('items', 'index');
   this.items = res.items;
}
в среднем - 220мс, разброс от 190 до 300
3) вызов fetch кнопкой Refresh - ~38мс
4) запрос страницы, fetch с 10ю вызовами апи моим способом
async fetch () {
   let p_res1 = this.$api('items', 'index');
   let p_res2 = this.$api('items', 'index');
   let p_res3 = this.$api('items', 'index');
   let p_res4 = this.$api('items', 'index');
   let p_res5 = this.$api('items', 'index');
   let p_res6 = this.$api('items', 'index');
   let p_res7 = this.$api('items', 'index');
   let p_res8 = this.$api('items', 'index');
   let p_res9 = this.$api('items', 'index');
   let p_res10 = this.$api('items', 'index');

   let [res1, res2, res3, res4, res5, res6, res7, res8, res9, res10]
       = await Promise.all([
           p_res1, p_res2, p_res3, p_res4, p_res5, p_res6, p_res7, p_res8, p_res9, p_res10
   ]);

   this.items = res1.items;
}
в среднем около 250мс, но тоже разные значения видел от 210 до 450

5) то же что и 4, но вызов апи не напрямую, а через axios
в среднем 400мс, самое минимальное видел 371
У меня из бэка на призме с выплевыванием кучи данных такой же ms)
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Я почему то считал пусть себе каждый блок на странице сам забирает данные а не в page сначала собирает а потом раздаёт компонентам
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
DreaMinder
depends, бывает и плохо и хорошо
Ну видимо да, золотой баланс
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Я то обрадовался когда новый fetch выкатили
источник

SS

Stanislav Suslov in Nuxt.js — русскоговорящее сообщество
Деда
Я почему то считал пусть себе каждый блок на странице сам забирает данные а не в page сначала собирает а потом раздаёт компонентам
нууууу а потом внезапно понадобится этому блоку другие данные кинуть
источник

SS

Stanislav Suslov in Nuxt.js — русскоговорящее сообщество
или этих блоков станет тысяча на странице
источник

SS

Stanislav Suslov in Nuxt.js — русскоговорящее сообщество
но тут разговор наверное про то что блоки это далеко не атомарные компоненты)
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Есть блок со списком товаров например, справа блок с топ товарами
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Я их запихнул в компоненты и каждый компонент сам себе данные забирает
источник

AB

Artem Biryukov in Nuxt.js — русскоговорящее сообщество
Александр
Замеры на тестовой страничке. Страничка как из пункта 7
1) запрос страницы с пустым fetch - в среднем около 100мс, притом разброс ~ от 60 до 200
2) запрос страницы, fetch с одним вызовом апи моим способом
async fetch () {
   let res = await this.$api('items', 'index');
   this.items = res.items;
}
в среднем - 220мс, разброс от 190 до 300
3) вызов fetch кнопкой Refresh - ~38мс
4) запрос страницы, fetch с 10ю вызовами апи моим способом
async fetch () {
   let p_res1 = this.$api('items', 'index');
   let p_res2 = this.$api('items', 'index');
   let p_res3 = this.$api('items', 'index');
   let p_res4 = this.$api('items', 'index');
   let p_res5 = this.$api('items', 'index');
   let p_res6 = this.$api('items', 'index');
   let p_res7 = this.$api('items', 'index');
   let p_res8 = this.$api('items', 'index');
   let p_res9 = this.$api('items', 'index');
   let p_res10 = this.$api('items', 'index');

   let [res1, res2, res3, res4, res5, res6, res7, res8, res9, res10]
       = await Promise.all([
           p_res1, p_res2, p_res3, p_res4, p_res5, p_res6, p_res7, p_res8, p_res9, p_res10
   ]);

   this.items = res1.items;
}
в среднем около 250мс, но тоже разные значения видел от 210 до 450

5) то же что и 4, но вызов апи не напрямую, а через axios
в среднем 400мс, самое минимальное видел 371
Ты только забыл протестить настоящую нагрузку)
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Ну не делают так бэк ))
источник

А

Александр in Nuxt.js — русскоговорящее сообщество
Artem Biryukov
Ты только забыл протестить настоящую нагрузку)
думаю что на настоящей нагрузке разница будет ещё больше
источник

А

Александр in Nuxt.js — русскоговорящее сообщество
Деда
Ну не делают так бэк ))
внятных аргументов почему-то только нет. На Expess можно бэк делать? Почему на Connect'е нельзя? Каких функций не хватает? Ну в конце концов если что-то проблематично будет реализовать на Connect'е, то всегда Express можно подключить, он штатно в комплекте с Nuxt'ом идёт, я не настаиваю именно на Connect'е
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Александр
внятных аргументов почему-то только нет. На Expess можно бэк делать? Почему на Connect'е нельзя? Каких функций не хватает? Ну в конце концов если что-то проблематично будет реализовать на Connect'е, то всегда Express можно подключить, он штатно в комплекте с Nuxt'ом идёт, я не настаиваю именно на Connect'е
Покажи самый сложный проект с бэкендом который ты реализовал
источник

А

Александр in Nuxt.js — русскоговорящее сообщество
покажи мне задачу которую нельзя будет реализовать
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Я сейчас не пытаюсь тебя обидеть. Но не делал бы ты такое если бы вкусил бэкенд
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Деда
Покажи самый сложный проект с бэкендом который ты реализовал
И все же
источник

А

Александр in Nuxt.js — русскоговорящее сообщество
работаю на паре проектов, проекты довольно крупные, Ларавел на бэке, Vue на фронте, не вижу ничего что не ложилось бы в мою концепцию
источник

Д

Деда in Nuxt.js — русскоговорящее сообщество
Ларавел. Там тысячи и тысячи часов разработки и отладки. Повтори такое же сам
источник

D

DreaMinder in Nuxt.js — русскоговорящее сообщество
Александр
покажи мне задачу которую нельзя будет реализовать
походу речь о реализации слоеной архитектуры, DDD и все такое. Т.е. в сложных проектах слой передачи данных (за который отвечает экпрес или конект) - наименьшая из проблем
источник