Как улучшить производительность запуска на IIS / ASP.NET

Значения MultiIndex являются кортежами, которые являются неизменяемыми, поэтому, вероятно, так сложно просто изменить одноуровневое значение. Вместо этого создайте новые кортежи, затем снова назначьте MultIndex.

df.columns = pd.MultiIndex.from_tuples(
        [(x, 'google', z) if z == 'alpha_dog' else (x,y,z) for x,y,z in df.columns], 
        names=df.columns.names)

type     A                      B                 
kind    A1           google    B1           google
name alpha alpha1 alpha_dog alpha alpha1 alpha_dog
0        1      1         1     1      1         1
1        1      1         1     1      1         1
2        1      1         1     1      1         1

Пример данных

import pandas as pd

df = pd.DataFrame([[1]*6]*3)
df.columns = pd.MultiIndex.from_tuples(
    tuple((x,y,z) for x,y in zip(['A', 'B'], ['A1', 'B1']) for z in ['alpha', 'alpha1', 'alpha_dog']),
    names=['type', 'kind', 'name'])
7
задан Matt Sherman 22 April 2009 в 00:29
поделиться

5 ответов

Нужно ли перерабатывать ваше приложение? Все параметры рециркуляции находятся в конфигурации IIS и могут быть скорректированы в соответствии с вашим приложением.

Идеальным сценарием будет удаление всех повторов приложения, чтобы приложение всегда оставалось загруженным. В этом случае переработка будет происходить только в том случае, если файл web.config был изменен или была развернута новая версия приложения.

Если требуется ежедневная переработка, в соответствии с предыдущим ответом, пакетный файл можно использовать для перезапуска приложения и его также можно вызвать iexplore.exe с URL-адресом приложения, чтобы «предварительно загрузить» его.

3
ответ дан 7 December 2019 в 16:46
поделиться

Если у вашего провайдера может быть способ подключиться к нему при перезапуске веб-сервера, у вас может быть пакетный файл / файл сценария, попадающий на ваш веб-сайт после перезапуска веб-сервера. Вам нужно всего лишь нажать уникальные файлы сборки ASP.NET, чтобы получить эту конкретную сборку в память. Так что если у вас есть 1 сборка, содержащая 10 страниц, просто нажмите одну из страниц. Этого должно быть достаточно. Если у вас более 1 сборки, нажмите 1 страницу в каждой сборке, чтобы загрузить эти сборки в память.

Если у вас его нет у поставщика, вам нужно придумать более разумный способ сделать это самостоятельно. (т.е. узнайте, когда провайдер сбрасывает веб-сервер, и запланируйте задачу на вашем компьютере, чтобы они сами попали на эти страницы).

0
ответ дан 7 December 2019 в 16:46
поделиться

При первом запросе страницы из скомпилированного приложения ASP.NET после изменения его сборок обработка занимает намного больше времени, чем при обычном запросе страницы.

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

0
ответ дан 7 December 2019 в 16:46
поделиться

почему у вас не может быть пакетного файла, в котором iis сброшен, и у него есть расписание выполнения каждый день в определенное время (когда у вас нет пользователей в вашей системе)?

0
ответ дан 7 December 2019 в 16:46
поделиться

Какую часть сайта вы хотите предварительно загрузить? Сколько страниц?

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

0
ответ дан 7 December 2019 в 16:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: