1 |
Hi! |
2 |
|
3 |
On Mon, May 28, 2012 at 12:19:07AM +0400, Aleksandr Dezhin wrote: |
4 |
> Какие получились абсолютные значения скоростей? Насколько я помню, |
5 |
> копирование на флешку без sync по началу происходит со скоростью |
6 |
> существенно превышающей скорость самой флешки, то есть в некий буфер. Потом |
7 |
> скорость сильно падает. Если сравнивать со скоростью копирования в этот |
8 |
> буфер, то вполне нормален и 70 кратный выигрыш. |
9 |
|
10 |
Вот так: |
11 |
|
12 |
# time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp1.iso; time umount /mnt/usb/ |
13 |
|
14 |
real 0m6.632s |
15 |
user 0m0.005s |
16 |
sys 0m0.819s |
17 |
|
18 |
real 1m14.152s |
19 |
user 0m0.000s |
20 |
sys 0m0.160s |
21 |
|
22 |
# time cp ubuntu-11.10-desktop-i386.iso /mnt/usb/tmp2.iso; time umount /mnt/usb/ |
23 |
|
24 |
real 83m13.344s |
25 |
user 0m0.028s |
26 |
sys 0m11.239s |
27 |
|
28 |
real 0m0.177s |
29 |
user 0m0.000s |
30 |
sys 0m0.166s |
31 |
|
32 |
Первая попытка без sync - время в основном ушло на umount - вторая с sync - |
33 |
время ушло на cp. Размер образа 729067520 байт делю на суммарное cp+umount |
34 |
время и получаю скорость. Примерно 9MB/sec в первом случае, и 150KB/sec во |
35 |
втором. Это разница в 60 раз! |
36 |
|
37 |
Более того, даже при использовании dd с большим значением bs= вместо cp |
38 |
скорость при sync остаётся равной 150KB/sec вне зависимости от размера |
39 |
буфера dd - хотя теоретически при большом размере буфера с sync скорость |
40 |
должна быть не намного медленнее чем без sync (если предполагать, что при |
41 |
sync вызов write(2) блокируется пока данные не будут физически записаны, |
42 |
и никаких других эффектов от него нет, то использование больших буферов |
43 |
при вызове write(2) должно для производительности давать схожий эффект с |
44 |
отложенной записью, используемой без sync). |
45 |
|
46 |
-- |
47 |
WBR, Alex. |