Czy istnieje coś takiego, jak optymalny rozmiar porcji do przetwarzania dużych plików? Mam usługę przesyłania (WCF), która służy do akceptowania przesyłania plików w zakresie od kilkuset megabajtów.Jak obliczyć optymalny rozmiar porcji do przesłania dużych plików?
Eksperymentowałem z rozmiarami 4KB, 8KB do 1MB porcji. Większe rozmiary porcji są dobre dla wydajności (szybsze przetwarzanie), ale kosztem pamięci.
Czy istnieje sposób na określenie optymalnego rozmiaru porcji w momencie przesyłania plików. W jaki sposób można wykonać takie obliczenia? Czy byłoby to połączenie dostępnej pamięci z klientem, procesorem i przepustowością sieci, która określa optymalny rozmiar?
Cheers
EDIT: Prawdopodobnie należy wspomnieć, że aplikacja klienta będzie w Silverlight.
cóż, bardziej odnosiłem się do komputerów klienckich (na które nie mamy żadnej kontroli). Jeśli ustawię rozmiar porcji na 1MB, to zajmie całą pamięć komputera klienta. Ale jeśli ustawię ją na niską, przetwarzanie zajmie dużo czasu. – Fixer
Oh! na komputerze klienta jest o wiele prostsze. Współbieżność prawie nie istnieje. Tak długo jak nie przechowujesz bitów w pamięci po ich zdobyciu, możesz w zasadzie użyć dowolnego rozmiaru fragmentu, jaki chcesz. Każdy współczesny klient, nawet telefon, ma wystarczającą ilość procesora i pamięci, aby poradzić sobie z kilkoma plikami, dopóki przesyłają one bity do pamięci po otrzymaniu każdego fragmentu. Wątpię, by zauważyłeś jakąkolwiek istotną różnicę w wydajności na poziomie aplikacji w oparciu o rozmiar tylko porcji. Pobiegłbym z 1024 KB dla dużych plików i nazwałbym to dniem. –