Я ВОССТАНОВЛЕНИЕ большое количество данных с помощью wget, с помощью следующей команды:HTTP запросов в Wget принимая большую часть времени
wget --save-cookies ~/.urs_cookies --load-cookies ~/.urs_cookies --keep-session-cookies --content-disposition -i links.dat
Моя проблема заключается в том, что links.dat содержит тысячи ссылок. Файлы относительно малы (100kb). Поэтому для загрузки файла требуется 0,2 с, а 5s - для ответа HTTP-запроса. Таким образом, это заканчивается тем, что занимает 14 часов, чтобы загрузить все мои данные, большую часть времени, ожидая запросов.
URL transformed to HTTPS due to an HSTS policy
--2017-02-15 18:01:37-- https://goldsmr4.gesdisc.eosdis.nasa.gov/daac-bin/OTF/HTTP_services.cgi?FILENAME=%2Fdata%2FMERRA2%2FM2I1NXASM.5.12.4%2F1980%2F01%2FMERRA2_100.inst1_2d_asm_Nx.19800102.nc4&FORMAT=bmM0Lw&BBOX=43%2C1.5%2C45%2C3.5&LABEL=MERRA2_100.inst1_2d_asm_Nx.19800102.SUB.nc4&FLAGS=&SHORTNAME=M2I1NXASM&SERVICE=SUBSET_MERRA2&LAYERS=&VERSION=1.02&VARIABLES=t10m%2Ct2m%2Cu50m%2Cv50m
Connecting to goldsmr4.gesdisc.eosdis.nasa.gov (goldsmr4.gesdisc.eosdis.nasa.gov)|198.118.197.95|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 50223 (49K) [application/octet-stream]
Saving to: ‘MERRA2_100.inst1_2d_asm_Nx.19800102.SUB.nc4.1’
Это может быть действительно вопрос о нобе, но кажется, что это действительно контрпродуктивно, что это работает именно так. У меня действительно мало знаний о том, что происходит за кулисами, но я просто хотел убедиться, что я не делаю ничего плохого и что процесс действительно может быть быстрее.
Если детали помогают, я загружаю данные MERRA-2 для определенных узлов.
Спасибо!
Большое спасибо, я попробую это. В основном, что вы предоставили, это способ поставить 100 URL-адресов в конце команды? Как работает «wget --options url1 url2 url100»? – Miguel
Да, это именно оно. Я полагал, что 100 - это разумное число - вы, вероятно, не можете поместить их ВСЕ, потому что командная строка будет слишком длинной. Оба wget и curl будут перерабатывать соединение, которое сервер оставляет открытым. Вам не составит труда найти дополнительную документацию о заголовках keepalive, если это будет проблемой. Другое дело, что вы можете запускать несколько 'wget' одновременно. Но выяснение того, как использовать фоновый материал или управлять пулом фоновых функций оболочки, выходит за рамки этого вопроса. – ghoti
Я действительно думаю, что вы получите лучшую производительность с помощью конвейерной обработки, но вам нужно будет написать свое собственное программное обеспечение для его обработки. Комбинируйте конвейерную обработку и пул фоновых виджета или завитушек, и вы получите все преимущества! До тех пор, пока nasa.gov не заблокирует ваш IP-адрес, если он слишком сильно ударит по серверам. – ghoti