Форум программистов, компьютерный форум, киберфорум
Angular/AngularJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215

Долгая загрузка сайта на angularjs

21.03.2016, 22:07. Показов 2937. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть сайт, был создан примерно 2 года назад. Некоторое время назад я стал его администратором. Опыта в подобных вещах мало, прошу подсказать в каком направлении копать.
-----
Сайт грузится примерно 15-20 секунд, в инструментах firefox/chrome видно, что файл (не запрос, разумеется) get (если я правильно понимаю, то что приходит от сервера) "весит" 3,6 Мб, но перед его загрузкой 13-14 секунд он ожидает. Потом грузится. Как только все загрузилось - прелоадер пропадает и сайт готов к работе. Если я правильно понимаю, сайты на ангулар всегда так: полностью загружаются, а после - летают между страницами очень быстро. От первоначального разработчика удалось добиться следующего: идея заключается в том, чтобы вместо vendor.js (который в get) подключить и загрузить на сайт все js файлы и посмотреть, какой из них вызывает такую задержку. Что я и сделал: подключил их все, vendor закомментировал, но сайт перестал грузиться. Т.е. лоадер не пропадает, значит, что-то не догрузилось (что-то, что дает команду на отбой лоадера). Если подключить все скрипты и vendor не комментировать - сайт работает, но не полностью (например, блок слайдера есть, но он не крутит картинки и нет кнопок вперед/назад, нет пагинации, т.е. одна картинка и все). Из гугла выяснил, что есть такие инструменты вроде bower - которые собирают все необходимые js файлы и подгружают их разом. Так ли это? Если это так, прошу помочь понять, как мне узнать, что внутри этого самого файла get, что внутри "сборника" vendor.js? И вообще.. правильным ли я путем иду?
-----
Заранее спасибо.

P.S. Есть мнение, что перед загрузкой get подгружаются все коллекции (картинки, в том числе и большие, цены, тексты - все из mysql) - может быть можно их загружать после get? Или как-то фоном...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2016, 22:07
Ответы с готовыми решениями:

Можно ли использовать Angular 5 только в определенной части сайта? AngularJS можно было использова
Добрый день! Скажите, можно ли использовать Angular 5 только в определенной части сайта? AngularJS можно было использовать не на всем...

Долгая загрузка сайта
Объясните пожалуйста почему один ресурс(lastfm.ru) грузиться на порядок дольше всех остальных сайтов.Проблема не в нём,потому что у всех...

Долгая загрузка сайта
Возможно не туда пишу, но хз куда нужно. Очень долго грузит сайт http://********/p2758gDS0Rkzar, там просто верстка с подключением...

12
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
24.03.2016, 08:07  [ТС]
Никто с подобным не сталкивался?? Из другого источника меня натолкнули на мысль, что promise могут быть не настроены (или косячно настроены) - где их можно искать? Судя по внешнему виду этих $q или promise - они могут быть как раз описаны в сборном vendor.js (ну и в каких-то скриптах соответственно, из которых этот vendor.js собирается), но видя объем этого файла - становится ясно, что нужен какой-то другой подход. Кто-нибудь с чем-то подобным сталкивался?
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
24.03.2016, 08:38
vnmslf, ничего не понятно. Показывай код, файлы и пр
0
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
24.03.2016, 08:56  [ТС]
Я не знаю, что конкретно нужно показать. В спойлере код главной страницы, где я попытался вместо vendor.js подключить все js-скрипты, которые есть в проекте, но результат печальный.
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<!doctype html>
    <html class="no-js" ng-app="plitkaApp">
        <head ng-controller="HeadCtrl as HCtrl">
            <meta charset="utf-8">
            <base href="/" />
            <title ng-bind="$root.title">Плитка мира</title>
            <meta name="description" content="Продажа отделочных материалов. Плитка, мозайка и натуральный камень в Ростове-на-Дону.">
            <meta name="keywords" content="отделочные материалы Ростов, мозайка Ростов, искусственный камень в Ростове, мозайка, натуральный камень в Ростове, стеклянная мозайка, плитка для фасада, керамическая мозайка, затирка для плитки">
            <meta name="viewport" content="width=device-width">
            <meta name="fragment" content="!">
            <link rel="shortcut icon" href="favicon.ico"> <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
            <link rel="stylesheet" href="styles/vendor.css">
            <link rel="stylesheet" href="styles/main.css">
            <link rel="stylesheet" href="css/bootstrap-progressbar-3.3.4.min.css">
            <link rel="stylesheet" href="css/jpreloader.css">
            <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyA4Q5VgK-858jgeSbJKHbclop_XIJs3lXs&sensor=true"></script>
            <!--[if lt IE 9]>
            <script src="scripts/oldieshim.js"></script>
            <![endif]-->
            <script src="scripts/vendor.js"></script>
            <script src="scripts/scripts.js"></script>
            
            <!-- test! -->
            <!-- js/ -->
            <!--<script src="js/app.js"></script>
            <script src="js/index.js"></script>
            <script src="js/jquery.customSelect.init.js"></script>
            <script src="js/main.js"></script>
            <script src="js/main.map"></script>
            <script src="js/main.min.js"></script>
            <script src="js/plugins.js"></script>
            <script src="js/zebra_datepicker-init.js"></script> -->
            <!-- js/account 
            <script src="js/account/admin.js"></script>
            <script src="js/account/guest.js"></script>
             js/libs 
            <script src="js/libs/jquery-ui-1.10.3.min.js"></script>
             js/modules 
            <script src="js/modules/48hours.js"></script>
            <script src="js/modules/articles.js"></script>
            <script src="js/modules/catalogs.js"></script>
            <script src="js/modules/extrem.js"></script>
            <script src="js/modules/gallery.js"></script>
            <script src="js/modules/groups.js"></script>
            <script src="js/modules/mediafiles.js"></script>
            <script src="js/modules/news.js"></script>
            <script src="js/modules/pages.js"></script>
            <script src="js/modules/places.js"></script>
            <script src="js/modules/settings.js"></script>
            <script src="js/modules/standard.js"></script>
            <script src="js/modules/templates.js"></script>
            <script src="js/modules/users.js"></script>
             js/plugin 
            <script src="js/plugin/bootstrap-slider/bootstrap-slider.min.js"></script>
            <script src="js/plugin/bootstrap-tags/bootstrap-tagsinput-angular.js"></script>
            <script src="js/plugin/bootstrap-tags/bootstrap-tagsinput.js"></script>
            <script src="js/plugin/bootstrap-tags/bootstrap-tagsinput.min.js"></script>
            <script src="js/plugin/bootstrap-tags/bootstrap-tagsinput.min.js.map"></script>
            <script src="js/plugin/clockpicker/clockpicker.min.js"></script>
            <script src="js/plugin/monthpicker/jquery.mtz.monthpicker.js"></script>
            <script src="js/plugin/noUiSlider/jquery.nouislider.min.js"></script>
            <script src="js/plugin/pace/pace.min.js"></script>
            <script src="js/plugin/select2/select2.min.js"></script>
            <script src="js/plugin/superbox/superbox.js"></script>
            <script src="js/plugin/superbox/superbox.min.js"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.Core.js"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.Core.min.js"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.Core.min.map"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.js"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.min.js"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.min.map"></script>
            <script src="js/plugin/zeroclipboard/ZeroClipboard.swf"></script>
             js/system 
            <script src="js/system/48hours.js"></script>
            <script src="js/system/app.js"></script>
            <script src="js/system/dropzone-functions.js"></script>
            <script src="js/system/extrem.js"></script>
            <script src="js/system/main.js"></script>
            <script src="js/system/messages.js"></script>
            <script src="js/system/redactor-config.js"></script>
             js/vendor -->
            <!-- <script src="js/vendor/SmartNotification.min.js"></script> -->
            <!-- <script src="js/vendor/bootstrap-slider.min.js"></script>
            <script src="js/vendor/bootstrap.min.js"></script>
            <script src="js/vendor/dropzone.min.js"></script>
            <script src="js/vendor/fotorama.js"></script>
            <script src="js/vendor/jquery-1.10.2.min.js"></script>
            <script src="js/vendor/jquery-form.min.js"></script>
            <script src="js/vendor/jquery-ui.min.js"></script>
            <script src="js/vendor/jquery.custom-scrollbar.js"></script>
            <script src="js/vendor/jquery.customSelect.min.js"></script>
            <script src="js/vendor/jquery.fancybox.pack.js"></script>
            <script src="js/vendor/jquery.maskedinput.min.js"></script>
            <script src="js/vendor/jquery.min.js"></script>
            <script src="js/vendor/jquery.min.map"></script>
            <script src="js/vendor/jquery.mustache.js"></script>
            <script src="js/vendor/jquery.tokeninput.js"></script>
            <script src="js/vendor/jquery.validate.min.js"></script>
            <script src="js/vendor/modernizr-2.6.2.min.js"></script>
            <script src="js/vendor/modernizr.js"></script>
            <script src="js/vendor/redactor.min.js"></script>
            <script src="js/vendor/select2.js"></script>
            <script src="js/vendor/smartclick.js"></script>
            <script src="js/vendor/zebra_datepicker.js"></script> -->
 
 
            <!-- js/plugin/noUiSlider -->
            <!-- <link rel="stylesheet" href="js/plugin/noUiSlider/jquery.nouislider.css"> -->
 
            <!-- Yandex.Metrika counter -->
        <script type="text/javascript">(function (d, w, c) {
            /* тут яндекс.метрика */</script>
        <body>
            <div class="loader"> <!-- лоадер, который мы видим изначально, после того как все загрузилось - он становится hidden -->
                <section class=selected>
                    <img src="https://www.cyberforum.ru/images/loader.gif">
                </section>
            </div>
        <!-- Add your site or application content here -->
        <div class="wrapper">
            <header class="main-header">
                <div class="main-header-top-wrap">
                    <div class="main-header-top">
                        <nav class="main-nav clearfix" ng-controller="NavCtrl as NavController">
                            <ul class="nav-ul clearfix">
                                <li class="nav-li" ng-class="{ active: ($root.route == 'about') }">
                                    <a href="http://plitkamira.ru/#!/about">О салоне</a>
                                </li>
                                <li class="nav-li" ng-class="{ active: ($root.route == 'catalog') }">
                                    <a href="http://plitkamira.ru/#!/catalog">Каталог</a>
                                </li>
                                <li class="nav-li" ng-class="{ active: ($root.route == 'articles') }">
                                    <a href="http://plitkamira.ru/#!/articles">Статьи</a>
                                </li>
                                <li class="nav-li" ng-class="{ active: ($root.route == 'projects') }">
                                    <a href="http://plitkamira.ru/#!/projects">Проекты</a>
                                </li>
                                <li class="nav-li" ng-class="{ active: ($root.route == 'contacts') }">
                                    <a href="http://plitkamira.ru/#!/contacts">Контакты</a>
                                </li>
                            </ul>
                        </nav>
                        <div class="pull-right">
                            <div class="main-search" ng-controller="SearchCtrl as SCtrl">
                                <form name="searchForm" class="main-search-form" ng-submit="searchForm.$valid && SCtrl.sendForm(SCtrl.searchStr)" novalidate>
                                    <input class="main-search-input" type="text" ng-model="SCtrl.searchStr" required>
                                    <button class="main-search-submit" type="submit">
                                        <span class="icon icon-search"></span>
                                    </button>
                                </form>
                            </div>
                            <div class="phone">
                                <a href="http://plitkamira.ru/#!/contacts">(863) 218-56-36</a>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="main-header-bot-wrap" ng-controller="SubmenuCtrl as SubmCtrl">
                    <div class="main-header-bot">
                        <ul class="subnav-ul clearfix">
                            <li class="subnav-li logo-cont">
                                <div class="logo">
                                    <a href="http://plitkamira.ru/#!/"> Плитка мира </a>
                                </div>
                            </li>
                            <li class="subnav-li tile" ng-class="{ active: SubmCtrl.isActive('75') }">
                                <div class="subnav-li-top">
                                    <a href="http://plitkamira.ru/#!/catalog/plitka">
                                        <span>Плитка</span>
                                    </a>
                                </div>
                                <div class="subnav-li-desc">
                                    <div class="subnav-li-desc-link" ng-repeat="(key, place) in SubmCtrl.collectionPlaces">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=75&places={{ SubmCtrl.places[ key ].id }}"> {{ SubmCtrl.places[ key ].name }} </a>
                                    </div>
                                </div>
                            </li>
                            <li class="subnav-li stone" ng-class="{ active: SubmCtrl.isActive('76') || SubmCtrl.isActive('76.5') || SubmCtrl.isActive('77') }">
                                <div class="subnav-li-top">
                                    <a href="http://plitkamira.ru/#!/catalog/kamen">
                                        <span>Камень</span>
                                    </a>
                                </div>
                                <div class="subnav-li-desc">
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/iskusstvenniy_kamen">Искусственный камень</a>
                                    </div>
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/naturalniy_kamen"> Натуральный камень </a>
                                    </div>
                                </div>
                            </li>
                            <li class="subnav-li mosaic" ng-class="{ active: SubmCtrl.isActive('78') }">
                                <div class="subnav-li-top">
                                    <a href="http://plitkamira.ru/#!/catalog/mozaika"><span>Мозаика</span></a></div>
                                <div class="subnav-li-desc">
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=78&surface=184"> Стеклянная мозаика </a>
                                    </div>
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=78&surface=181"> Каменная мозаика </a>
                                    </div>
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=78&surface=185"> Керамическая мозаика </a>
                                    </div>
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=78&surface=182"> Мозаика из дерева </a>
                                    </div>
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=78&surface=183"> Мозаика из металла </a>
                                    </div>
                                    <div class="subnav-li-desc-link">
                                        <a href="http://plitkamira.ru/#!/catalog/1?type=78&surface=191"> Мозаичные панно </a>
                                    </div>
                                </div>
                            </li>
                            <li class="subnav-li materials" ng-class="{ active: SubmCtrl.isActive('79') }">
                                <div class="subnav-li-top">
                                    <a href="http://plitkamira.ru/#!/catalog/soputstvuiuschie_materiali">
                                        <span>Сопутствующие материалы</span>
                                    </a>
                                </div>
                                <div class="subnav-li-desc">
                                    <div class="subnav-li-desc-link" ng-repeat="(key, item) in SubmCtrl.materials">
                                        <a href="http://plitkamira.ru/#!/collection/{{ SubmCtrl.materials[key].slug }}"> {{ SubmCtrl.materials[key].name }} </a>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>
            </header>
 
            <main class="main" ng-view=""></main>
 
            <footer class="main-footer clearfix">
                <div class="main-footer-cont">
                    <div class="copy">
                        <div class="copy-text"> © Салон ПЛИТКА МИРА, 2012 – 2016 <br />
                            <a href="http://vk.com/plitkamira" target="_blank" rel="nofollow"><img src="http://plitkamira.ru/img/VK.png" alt="облицовка декоративным камнем" width="45" height="45"></a>
                            <a href="http://twitter.com/plitkamira" target="_blank" rel="nofollow"><img src="http://plitkamira.ru/img/Twitter.png" alt="декоративные панели под камень" width="45" height="45"></a>
                            <a href="http://facebook.com/plitkamira" target="_blank" rel="nofollow"><img src="http://plitkamira.ru/img/FB.png" alt="декоративный камень кирпич" width="45" height="45"></a>
                        </div>
                    </div>
                    <div class="dev">
                         Сделано в РА "<a href="http://3buna.ru/" target="_blank">Трибуна</a>"
                     </div>
                </div>
            </footer>
        </div>

Выкладывать весь vendor.js наверное нет смысла? Могу привести отдельные скрипты, если нужно..
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
24.03.2016, 15:49
Цитата Сообщение от vnmslf Посмотреть сообщение
подключить все js-скрипты, которые есть в проекте, но результат печальный
Ну а map файлы зачем подключил? Это не скрипты.

Добавлено через 2 минуты
Цитата Сообщение от vnmslf Посмотреть сообщение
все js-скрипты
HTML5
1
2
<script src="js/plugin/bootstrap-tags/bootstrap-tagsinput.js"></script>
<script src="js/plugin/bootstrap-tags/bootstrap-tagsinput.min.js"></script>
Подключать нужно только *.min.js

Подключил фигню. Чем тебя удивила долгая загрузка?
0
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
25.03.2016, 09:04  [ТС]
map файлы подключил заодно, на всякий случай сейчас уберу))
Попробую подключить только min.js, но если честно, мне все равно кажется, что "чего-то не хватает".
Долгая загрузка меня не то чтобы сильно удивила, но мне так или иначе эту проблему надо устранить...
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
25.03.2016, 10:46
Цитата Сообщение от vnmslf Посмотреть сообщение
Попробую подключить только min.js
И попробуй все скрипты перенести в конец документа.

HTML5
1
2
3
4
5
6
7
8
9
10
<html>
  <head>
  <!--Сейчас они у тебя тут!-->
  </head>
  <body>
  <!--Тут куча твоего html!-->
  
  <!--Вот сюда перемести все теги script!-->
  </body>
</html>
0
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
25.03.2016, 16:34  [ТС]
А зачем в конец? Я всегда думал, что скрипты должны быть в head - чтобы грузиться в первую очередь.. разве нет?

Добавлено через 1 час 33 минуты
Цитата Сообщение от LeniumSoft Посмотреть сообщение
И попробуй все скрипты перенести в конец документа.
Вместо 13 с половиной секунд get приходит за 15 с небольшим... А почему может вообще быть задержка? Я имею ввиду то, что перед тем, как грузить get - этот файл находится в стадии pending - почему так? Какой (какие) файлы показать тут, чтобы можно было понять причину?
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
25.03.2016, 20:17
Цитата Сообщение от vnmslf Посмотреть сообщение
А зачем в конец?
Им без разницы, но если они будут после разметки, её браузер спокойно отрисует и будет скрипты подгружать.
Если они будут в шапке, браузер не сможет ничего нарисовать пока их не загрузит.

Ангуляр скрипты начинают работать только после полной загрузки страницы, соответственно их лучше разместить после тела страницы, дабы браузер мог рисовать разметку. Визуально страница будет открываться быстрее.

Цитата Сообщение от vnmslf Посмотреть сообщение
Какой (какие) файлы показать тут, чтобы можно было понять причину?
Покажи время загрузки скриптов.
Вкладку сеть из разных браузеров.

И сам посмотри в разных браузерах. Будут ли тормоза. Посмотри в IE помимо хрома и лисы. IE все ненавидят, но он в некоторых случаях наоборот выигрывает за счёт своей нестандартности.
1
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
27.03.2016, 11:21  [ТС]
Цитата Сообщение от LeniumSoft Посмотреть сообщение
И сам посмотри в разных браузерах. Будут ли тормоза. Посмотри в IE помимо хрома и лисы. IE все ненавидят, но он в некоторых случаях наоборот выигрывает за счёт своей нестандартности.
Скрины из хрома и IE прикрепил. В IE еще и картинки слайдера/товаров не грузятся.. Но сам "get" загрузился быстрее))
Миниатюры
Долгая загрузка сайта на angularjs   Долгая загрузка сайта на angularjs   Долгая загрузка сайта на angularjs  

0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
27.03.2016, 19:27
Лучший ответ Сообщение было отмечено vnmslf как решение

Решение

Цитата Сообщение от vnmslf Посмотреть сообщение
Скрины из хрома и IE прикрепил. В IE еще и картинки слайдера/товаров не грузятся..
Ну на них всё видно! Рыть тебе нужно в сторону сервера. Клиент всё делает быстро.
На первых двух скринах зелёная полоса (формирование ответа сервером) и голубенький конец ( загрузка клиентом. )

Смотри серверную реализацию. Скорее всего идёт долгая загрузка из базы данных. Может стоит кэшировать результаты или многопоточность при обработке внедрять.

Короче со стороны клиента всё отлично.

Добавлено через 2 минуты
Цитата Сообщение от vnmslf Посмотреть сообщение
в инструментах firefox/chrome видно, что файл (не запрос, разумеется) get (если я правильно понимаю, то что приходит от сервера) "весит" 3,6 Мб,
Дополню!
get это именно запрос! Не файл!
Это json результат со всеми данными, которые нужны клиенту для работы. И этот json результат формируется сервером очень долго.
1
 Аватар для vnmslf
25 / 25 / 5
Регистрация: 13.03.2015
Сообщений: 215
27.03.2016, 21:35  [ТС]
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Ну на них всё видно! Рыть тебе нужно в сторону сервера. Клиент всё делает быстро.
На первых двух скринах зелёная полоса (формирование ответа сервером) и голубенький конец
Спасибо! Нигде четкого пояснения не мог найти, теперь яснее видна картина))
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Смотри серверную реализацию. Скорее всего идёт долгая загрузка из базы данных. Может стоит кэшировать результаты или многопоточность при обработке внедрять.
Вот с этим у меня большииие проблемы... Вобще, от директора постановка задачи вплоть до найма фрилансера, который без прямого доступа к хостингу смог бы разъяснить мне (не компетентному в этих вопросах) вопросы быстродействия и вопросы индексирования при помощи phantomjs, и чем быстрее - тем лучше. Но я пытаюсь разобраться сам... Сервер вроде бы нормальный, хостинг digitalocean, сервер vds, что на нем настраивать не знаю даже.. Попробую сейчас погуглить в эту сторону, спасибо))

upd.: сервер с 1ГБ ОЗУ, может этого мало? На этой виртуальной машине еще 3 сайта (не больших) сидят...

Добавлено через 44 минуты
Местоположение дроплета - Франкфурт. Может быть в этом дело?
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
28.03.2016, 10:10
Цитата Сообщение от vnmslf Посмотреть сообщение
Местоположение дроплета - Франкфурт. Может быть в этом дело?
От дальности менялось бы время загрузки (голубая полоска)
У тебя именно сервер долго думает.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.03.2016, 10:10
Помогаю со студенческими работами здесь

Долгая загрузка сайта
Здравствуйте! Подскажите пожалуйста, есть сайт http://accounts-store.ru/ с длинным списком вниз При загрузки сайта первые 2 -4...

Долгая загрузка сайта кто виноват
был подключён к провайдеру укртелеком сайты грузились нормально что на опере что на хроме (быстро) но стабильности интернета нет и я...

Долгая загрузка сайта после простоя
После 20 минут простоя сайт грузится существенно дольше(~8000ms) в сравнении со следующими обращениями(~200ms). Это из-за перезапуска пула...

Долгая загрузка сайта (оффлайн) элемента WebBrowser
Здравствуйте) Элемент WebBrowser долго загружает документ html (около 30 секунд) который находиться на диске D. Задача такова: нужно...

Возможна ли долгая загрузка заднего фона сайта из-за плохого хостинга
Возможна ли долгая загрузка заднего фона сайта из-за плохого хостинга? Само изображение весит 429КБ но грузиться не очень быстро. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru