У меня есть программа на C#, которая запрашивает базу данных (server3) для определения файлов, которые пользователь выполняет, а затем копирует эти файлы с (server1) на (server2).Замедление сервера при копировании файлов
Для упрощения, что дальнейшее применение
- C# выполняется на настольном компьютере
- Оригинальные файлы находятся на server1
- Файлы должны быть скопированы в server2
- Server3 содержит базу данных
Когда я запускаю эту программу на своем рабочем столе, все работает отлично, кроме server1, что, кажется, almos t шлифовать до холата примерно через 5 минут, даже несмотря на то, что процесс копирования продолжает работать нормально даже через 5 минут. Любое другое приложение/пользователь, пытающийся подключиться к этому серверу, не может.
Они просто получают вращающийся курсор, который останавливается только в том случае, если я перестаю запускать программу на своем рабочем столе. Первые 5 минут в процессе копирования все хорошо для всех. При выходе за пределы 5 минут файлы продолжают копироваться, но при этом другие начинают испытывать проблемы с подключением к серверу1.
Я даже пробовал использовать sleep
, поскольку я предполагал, что замедление произошло из-за слишком большой активности сети и/или слишком большой активности ввода-вывода на сервере1. sleep
ничего не помогло, та же проблема продолжается. Поэтому я предполагаю, что проблема происходит по другой причине.
Я использую код, подобный этому, чтобы скопировать файлы
while (reader1.read(){
// system.threading.thread.sleep(2000);
system.io.file.copy(source, destination);
}
Почему это происходит?
Как вы копируете файлы? Если вы просто делаете кучу последовательных копий файлов, это звучит так, как будто ваш сервер просто недостаточно. Если вы пытаетесь запустить много копий параллельно, вы, возможно, должны структурировать свой код, чтобы быть менее агрессивным. –
Я копирую определенные файлы на основе запроса к базе данных. Не параллельное копирование, оно копирует 1 файл за раз. – oshirowanen
Это не отвечает на мой вопрос. Можете ли вы показать код? –