Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Привет всем , поступила мне задача оптимизировать сайт. Глянул я внутрь - говнокод редкостный.Но в этом то и работа заключается. Задача -оптимизировать эту страницу (пейджинга быть не должно - требование заказчика) Итак страница была построена след образом Мастер - Страница и посредине User control .Данные подгружаются и байндятся к Repeater( подгрузка говнокодом естественно с милионом foreach перед байндом) методы оптимизации по мере течения времени: 1) сделали простой OutputCache на этот контрол и типа стало лучше(говнокод то перестал вызываться) но 2 проблемы остались - 1) на каждом продукте нужно обновлять статус если он например в wishlist 2)теперь хоть и кешированый контент но его много (770kb) и он идёт через сеть 2)Решил обновлять продукты с помощью JQuery->async ajax request ->Asp.Net Web Api controller - return JSON на document ready 3)Так же решил закешировать всю страницу но нужно асинхронно подгружать Мини Баскет и инфу типа IsAuthenticated Ничего ощитимого в плане производительности не получил, хотя получается что сервер в этом случае мы не трогаем за исключением Ajax 4)Решил переписать этот контрол тоже в таком стиле то есть кешированая страница почти пустая (с jQuery template) приходит на клиент и опять на документ реди берутся данные всех продуктов с Web Api Controller а на котором тоже установлен OutputCache Плучил уменьшение давления на сеть (всего 50 Kb страница +164кб полезных данных) Обрадовался вообщем типа так мало трафика гоняю. Но загвоздка в том что начали проводить нагрузочное тестирование(200 одновр пользователей с помощью тулзы LoadUIWeb). И тесты показывают что версия на продакшине http://www.karenwalker.com/Products.aspx?Product=ALL (номер1 из списка выше) лучше справляется чем версия 4 http://119.9.44.68/Products.aspx?Product=ALL Вот сижу и думаю толи лыжи не едут толи я .... Конфигурация у серверов одна и та же (в одном облаке) У меня вопрос к знающим людям - могут ли асинхронные запросы так влиять,,??? Подход оптимизации верный вообще? Какие ещё советы будут? Возможно можете прогнать какието свои тесты ,,??? Просьба продакшн не нагружать в этом случае. Интересует именно этот участок(оптимизацию говнокода С# пока не рассматриваю так как его результат кешируется во всех случаях и отдаётся готовый ) Заранее спасибо!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2013, 12:25 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Andr___!, первая версия. не плохая имхо, только пейждинг надо обязательно добавить, при моем сильном компе и и жирнном конекте, мне захотелось свалить с этого сайта ( больно долго грузится все) а аджак, ну чем он поможет, да прорисовка будет быстрой, а с картинками сам браузер лучше справится по дефолту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2013, 15:45 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Где-то в степиAndr___!, первая версия. не плохая имхо, только пейждинг надо обязательно добавить, при моем сильном компе и и жирнном конекте, мне захотелось свалить с этого сайта ( больно долго грузится все) а аджак, ну чем он поможет, да прорисовка будет быстрой, а с картинками сам браузер лучше справится по дефолту. Dolgo potomu chto servak v Awstralii, tut pobistrey. A razmer stranici pri pervom variante vas ne smushaet? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 01:14 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Andr___!, дак а что там с размером, ну видали и больше, раз хозяин решил все гнать - хозяин барин. А вы что думали если вы зашлете скелет легкий, а потом навешаете аджаксом на него кучу что то изменится? такая же жирная страница останется, уж пускай сервер с браузером таскает картинки. а вот что до 304 на картинки, что то я не увидел 200, получается кеширование то есть, а сервак не понимает запрос и выплевывает опять ( при повторной загрузке), ну можно сжать текстовый контент на сервере, да и при рендеринге стоит поразмышлять. вот такие атрибуты Код: c# 1. совсем не в тему, их пол каркаса наберется, все ж полегче.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 02:16 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
пардон, нащет кеша ошибся )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 02:25 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
вот это вашим асинхронным, к стати ишак сдох сразу ( а может задумался ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 02:46 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Где-то в степи, Спасибо за коменты!! В том то и дело что я не весь скелет гоню, а только один екземпляр( "ребро") в виде jQuery Template а потом уже на клиенте отрисовываю полный скелет с данными.Да и нет таких атрибутов там длинных, это вы с продакшина взяли. Что не говорите но при таком подходе трафика получатся в итоге в 4-5 раз (визуально даже быстрее) меньше но зато 2 http запроса вместо одного. Вот при нагрузочном тестировании и дохнет он. Про графики не совсем понял, что вы тестили?, можете чуток по подробнее? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 12:39 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Andr___!Про графики не совсем понял, что вы тестили?, можете чуток по подробнее? Спасибо. и чем тестили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 12:40 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Andr___!, ну на фоксе у меня есть такой плагин yslow вот через него и смотрел , вот насчет трафика сомневаюсь, вы данные не сжимаете - то есть что перетекло на клиента ( любым способом) оно перетекло и трафик тот же, ну нет тут коперфилдства это материализм ( если есть что то на сервере то как уменьшить трафик при передаче на клиента - да никак ( без сжатия)) вот скорость передачи это другой вопрос. можно разбить что то на мелкие части, и браузер будет потоками грузить эти части, так и ваши картинки по дефолту много поточно грузятся браузером с сервера, а если есть в кеше то и проверяются 304м, скриптовые портянки. их то же не мало - можно объединить в одну и одним запросом вытащить , ну при желании утрамбовать зипом, скелет почистить, параметры урла картинок убрать - лишнии яица, имхо вообще я бы отказался от контролов и эту достаточно примитивную страницу сгенерил в ручную ( я про репитер) у вас там как горох сыплются 404, это тоже время загрузки, или исправьте или уберите их, основная проблема это конечно картинки - тут хоть как выбсь, все равно очень долго грузится..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 13:17 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Andr___!, автор.Да и нет таких атрибутов там длинных, это вы с продакшина взяли ага.. куда они девались, ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 13:58 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
Andr___!, имхо не знаю по чему ваш заказчик отказался от пейджинга , воперых не понятно что он подразумевает под ним. но подгрузка контента при прокрутке вам бы очень подошла, но там с повалом надо будет разбираться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 14:20 |
|
||
|
Output Cache + Partial rendering(ajax ->json->jQuery Templates) VS Обыч web forms/control
|
|||
|---|---|---|---|
|
#18+
По клиентской оптимизации - гугел жутко ругаецца . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38507967&tid=1357836]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 324ms |

| 0 / 0 |
