Как снизить нагрузку на сервер при загрузке панели мониторинга
Привет,
Я создал приложение On dashboard с помощью devexpress и MVC.
На загрузку приборной панели уходит почти 10 минут.
Поэтому я создал извлечения данных для сжатия источника данных sql и назначил его источнику данных dashboard.
При обновлении панели мониторинга я написал один метод в global.asax.cs.
На мой сервер поступает 22 записи лакхов..
При извлечении этих записей это занимает больше времени.
Как повысить производительность сайта за счет снижения нагрузки на сервер?
Здесь я использую java-скрипт.
Пожалуйста, предложите мне решение.
Спасибо.
Что я уже пробовал:
protected void UpdateExtract(string dashboardId) { try { using (Dashboard newDashboard = new Dashboard()) { using(Dashboard Dashboard1=new Dashboard()) { newDashboard.LoadFromXml(Server.MapPath(string.Format(@"~/App_Data/Dashboards/{0}.xml", dashboardId))); Dashboard1.LoadFromXml(Server.MapPath(string.Format(@"~/App_Data/Dashboards/SQL/{0}.xml", dashboardId))); var dataSour = Dashboard1.DataSources.OfType<DashboardSqlDataSource>().ToArray(); //DashboardSqlDataSource extractDataSource = new DashboardSqlDataSource(); foreach (DashboardSqlDataSource datr in dataSour) { datr.Fill(); } var dataSources = newDashboard.DataSources.OfType<DashboardExtractDataSource>().ToArray(); foreach (DashboardExtractDataSource dataSource in dataSources) { dataSource.ExtractSourceOptions.DataSource = dataSour[0]; dataSource.UpdateExtractFile(); } } } } catch (Exception Ex) { } }
F-ES Sitecore
Перепроектируйте свою систему так, чтобы она не загружала так много данных заранее. Загрузите минимальный объем данных и загрузите остальные через ajax, предпочтительно используя подкачку или, по крайней мере, загружая данные кусками, чтобы снова минимизировать работу, выполняемую на каждом этапе, но в конечном счете вам нужно думать о том, какие данные действительно нужны пользователю, и вместо того, чтобы загружать все, загружайте mininum и загружайте все остальное по требованию.