В соответствии с вашими этапами воспроизведения я предположил, что изменение пути вывода в свойстве приложения было вашим единственным изменением после создания приложения. Единственное, что делает это изменение, - это то, что он сообщает Visual Studio о переносе выходных сборок MSBuild в новую папку. Однако во время выполнения ASP.Net не имеет представления, что он должен загружать сборки из этой новой папки вместо папки \ bin.
Этот ответ показывает способ изменения выходного каталога сборки приложения WebApi. Чтобы получить ту же самую ошибку, обнаруженную в этом сообщении, вам нужно прокомментировать весь файл & lt; system.codedom & gt; в web.config. И затем вы можете следовать инструкциям по изменению выходного пути.
После того, как вы приступите к работе вашего приложения, вы можете разоблачить & lt; system.codedom & gt; раздел. Если вы не используете новый синтаксис C # 6 в своем приложении, вы можете удалить из приложения приложение Microsoft.CodeDom.Providers.DotNetCompilerPlatform; в противном случае вы можете добавить следующую следующую команду в событие post-build,
xcopy /Q /Y "$(TargetDir)roslyn\*.*" "$(TargetDir)..\roslyn\"
. Новый поставщик CodeDom всегда ищет папку \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \. Вышеупомянутая команда работает как обходной путь и копирует папку\roslyn из вашей новой выходной папки в \ bin.
В моих экспериментах инструмент публикации Visual Studio, однако, опубликовал выходные сборки в папке \ bin в месте развертывания независимо от моего пути выходного пути. Я предполагаю, что ваше приложение все равно должно работать над фактическим развертыванием.
"Лучшая практика":
Подписываются на канал RSS в http://www.mysqlperformanceblog.com и читают его исторические статьи также. Это - чрезвычайно полезный ресурс для связанной с производительностью мудрости. Например, Вы спросили о InnoDB по сравнению с MyISAM. Их заключение: InnoDB имеет на ~30% более высокую производительность, чем MyISAM в среднем. Хотя существует также несколько сценариев использования, где MyISAM превосходит InnoDB по характеристикам.
авторы того блога являются также соавторами "Высокопроизводительного MySQL", книга, упомянутая @Andrew Barnett.
<час>комментарий Ре от @КћЙ” Д±u: То, как сказать, являетесь ли Вы вводом-выводом, связанным по сравнению с Зависящим от ЦП по сравнению со связанной памятью, зависимо от платформы. Операционная система может предложить инструменты, такие как PS, iostat, vmstat, или вершина. Или Вам, вероятно, придется получить стороннюю программу, если Ваша ОС не обеспечивает тот.
В основном, какой бы ни ресурс привязан при 100%-м использовании/насыщенности, вероятно, будет Ваше узкое место. Если Ваша загрузка ЦП является низкой, но Ваша загрузка ввода-вывода в ее максимуме для Ваших аппаратных средств, то Вы - связанный ввод-вывод.
Это - всего одна точка данных, как бы то ни было. Средство может также зависеть от других факторов. Например, сложный SQL-запрос может делать filesort, и это заставляет ввод-вывод напряженно трудиться. Необходимо ли бросить больше/быстрее аппаратные средства в него, или необходимо ли перепроектировать запрос для предотвращения filesort?
существует слишком много факторов для суммирования в сообщении StackOverflow, и то, что много книг существуют на предмете, поддерживает это. Хранение баз данных, работающих эффективно и использующих лучше всего ресурсы, является работой на полную ставку, требующей специализированных навыков и постоянного исследования.
<час>Jeff Atwood просто написал хорошую статью блога о нахождении узких мест в системе:
Пойдите покупают "Высокопроизводительный MySQL" от O'Reilly. Это - почти 700 страниц по теме, таким образом, я сомневаюсь, что Вы найдете сжатый ответ на ТАК.
Это твердо к приблизительным вещам, но умеренно высокоуровневое представление возможно.
innodb_flush_log_at_trx_commit
на 1 для возвращения производительности по MyISAM. INSERT DELAYED
, может также быть полезным), но пакетная обработка для перемещения обновлений в MySQL оттуда туда, где все чтения происходят. Существуют изменения этого. UPDATE
для случая, могло бы на самом деле быть довольно тривиальным, если то "долгое" обновление только происходит один раз в день. Существует масса передовых практик, которые уже обсуждались ранее, поэтому нет причин их повторять. Чтобы получить конкретный совет о том, что делать, я бы попробовал запустить MySQL Tuner . Это сценарий perl, который вы можете загрузить, а затем запустить на сервере базы данных, он предоставит вам кучу статистических данных о том, как работает ваша база данных (например, попадания в кеш), а также некоторые конкретные рекомендации по поводу того, какие проблемы или параметры конфигурации необходимо настроить для повышения производительности.
Хотя вся эта статистика доступна в самом MySQL, я считаю, что этот инструмент предоставляет их в гораздо более легком для понимания виде. Хотя важно отметить, что YMMV в отношении рекомендаций, я считаю, что они в целом довольно точны.