測試方法
1、是用dd命令創建一個100G的大日誌文件
2、是用time、dstat、iostat命令秒級監控系統負載已經IO情況的同時,是用rm、truncate -s 1024*1024*4 filename、echo -n命令刪除日誌文件
3、總結刪除100G文件的耗時,系統負載以及內存等的一些影響。
創建100G大日誌文件:dd
if
=/dev/zero
of=test1.log bs=1G count=
100
秒級系統負載監控:nohup
dstat -tlamp > dstat.log & 、nohup pidstat -u
1
-l
> pidstat.log &
IO秒級監控:nohup
iostat
1
-t
> iostat.log &
刪除日誌命令:
測試
1
:rm
logfile
測試
2
:truncate
-s -4G logfile (每次刪除4G大小的文件)
測試
3
:echo
-n > logfile
測試結果
第一次測試:
測試1:rm logfile
time rm test.log
real 0m1.458s
user 0m0.000s
sys 0m1.453s
系統負載情況:
IO使用情況:
測試2:truncate -s -4G logfile
time for((i=25;i >= 0;i--))dotruncate -s -4G test2.log;done
real0m1.570s
user0m0.003s
sys0m1.376s
系統負載情況:
IO使用情況:
測試3:echo -n > logfile
time echo -n > test1.log
real0m1.586s
user0m0.000s
sys0m1.396s
系統負載情況:
IO使用情況:
第二次測試:
測試1:rm logfile
time rm test.log
real0m3.658s
user0m0.001s
sys0m3.641s
系統負載情況:
IO使用情況:
測試2:truncate -s -4G logfile
time for((i=25;i >= 0;i--))dotruncate -s -4G test2.log;done
real 0m4.063s
user 0m0.001s
sys 0m3.998s
系統負載情況:
IO使用情況:
測試3:echo -n > logfile
time echo -n > test1.log
real 0m6.689s
user 0m0.000s
sys 0m6.681s
系統負載情況:
IO使用情況:
第三次測試:
測試1:rm logfile
time rm test.log
real 0m6.638s
user 0m0.000s
sys 0m6.618s
系統負載情況:
IO使用情況:
測試2:truncate -s -4G logfile
time for((i=25;i >= 0;i--))dotruncate -s -4G test2.log;done
real 0m1.753s
user 0m0.001s
sys 0m1.727s
系統負載情況:
IO使用情況:
測試3:echo -n > logfile
time echo -n > test1.log
real 0m1.318s
user 0m0.000s
sys 0m1.345s
系統負載情況:
IO使用情況:
測試總結
第一次測試:
刪除文件方式
|
CPU IDLE
|
TPS
|
Iowait
|
Blk_wrtn/s
|
TIME/s
|
進程佔用CPU
|
---|---|---|---|---|---|---|
rm logfile | 96 | 10 | 0 | 2768 | 1.458 | 100 |
truncate -s -4G logfile | 96 | 27 | 0.46 | 6632 | 1.570 | |
echo -n > logfile | 95 | 43 | 0.58 | 1256 | 1.586 |
第二次測試:
刪除文件方式
|
CPU IDLE
|
TPS
|
Iowait
|
Blk_wrtn/s
|
TIME/s
|
進程佔用CPU
|
---|---|---|---|---|---|---|
rm logfile | 96 | 8 | 0 | 280 | 3.658 | 100 |
truncate -s -4G logfile | 96 | 20 | 0 | 176 | 4.063 | 78 |
echo -n > logfile | 95 | 126 | 0 | 808 |
6.689 |
第三次測試:
刪除文件方式
|
CPU IDLE
|
TPS
|
Iowait
|
Blk_wrtn/s
|
TIME/s
|
進程佔用CPU
|
---|---|---|---|---|---|---|
rm logfile | 96 | 22 | 0 | 6600 |
6.638 |
100 |
truncate -s -4G logfile | 95 | 15 | 0.07 | 4744 |
1.753 |
|
echo -n > logfile | 96 | 4 | 0 | 6640 |
1.318 |