SSD'ler doldukları zaman yavaşlar mı?

USB üzerinden bağlayarak kullandığım Harici SSD'mi bugün bir deney için kullanmak istedim. Deneyin amacı SSD'yi adım adım(5%) doldurmak ve becnhmarka tabi tutup değerlerdeki değişimi gözlemlemek.

SSD:
128 GB kapasiteli bir mSATA SSD.
Düzgün bir 5 GBPS USB adaptörü ile birlikte kullanıyorum.
Üzerinde işletim sistemi çalışmıyor.
Dosya Sistemi olarak NTFS kullanıyorum.

1598226188488.png


Hem aşırı ısınıp yavaşlamasını engellemek için hem de SSD'nin dosyaları üzerine aldıktan sonra düzenlemesi için testleri üst üste yapmadım.
Her bir yazma ve benchmark işlemi sonrası belli bir süre bekledim. (Hatta şu an bunu yazarken 30%'un değerlerini almak için bekliyorum.)

Doldurmak için kullandığım dosya;
Kullandığım SSD'nin yaklaşık 1% boyutuna denk gelen bir dosya yarattım. Her bir aşamada bu dosyadan 5 tane oluşturup SSD'ye atıyorum.
1598226323850.png


Aşağıda verdiğim C# kodunu derleyip çalıştırarak kendi 1.12 GB dosyanızı oluşturabilirsiniz.
C#:
using System;
using System.Text;
using System.IO;

namespace GigaFile
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rand = new Random();
            StringBuilder sb = new StringBuilder();
            StringBuilder finalFile = new StringBuilder();
            for (int i = 0; i < 5000000; i++)
            {
                // 5000000 Rows
                sb.Clear();
                for (int j = 0; j < 160; j++)
                {
                    // 160 Column
                    sb.Append((char)rand.Next(256));
                }
                finalFile.Append(sb.ToString() + Environment.NewLine);
            }
            //
            using (var wrtr = new StreamWriter("GigaFile.jelly", false))
            {
                wrtr.Write(finalFile.ToString());
            }
        }
    }
}

Benchmark sonuçları:
0.png

5.png

10.png

15.png

20.png

25.png

30.png

35.png

40.png

46.png

51.png

56.png

61.png

66.png

71.png

76.png

81.png

86.png

96.png

91.png

99.png

Sonuçlar:
Percent %SEQ1M READSEQ1M WRITERND4K READRND4K WRITERND4K READ IOPSRND4K WRITE IOPSRND4K READ µSRND4K WRITE µS
0%​
447.07407.2650.4344.3612311.2810829.8341350.4246979.13
5%​
446.26406.5255.0645.2213442.3811039.3137891.4646078.02
10%​
447.47406.0050.4043.8912304.9310716.0641351.8347481.13
15%​
444.78408.5750.4042.9512304.6910486.3341326.1648498.27
20%​
442.40406.1052.0143.3212697.0210576.4240085.1248115.40
25%​
439.59403.9452.0343.9412703.1310727.0540081.5747413.20
30%​
443.59405.2462.1744.4015177.2510839.1133558.5946906.46
35%​
443.89403.5954.2933.1213253.668086.9138366.6962900.38
40%​
440.79407.1455.8530.4513635.747433.1137301.2368327.85
46%​
445.19405.0952.3841.9112787.8410230.9639825.6049742.97
51%​
444.25406.3250.4344.7012312.7410913.5741331.8146599.91
56%​
437.50406.7153.5235.6913067.388713.1338917.1758391.58
61%​
444.82408.8751.8945.5012667.9711108.6440170.3745835.07
66%​
444.99403.4950.9432.9712436.048049.8040849.0063150.84
71%​
445.37408.6250.4242.8612309.9110464.1141346.6248584.20
76%​
440.86408.9650.4243.0712310.3010514.6541329.4948309.29
81%​
444.10406.8850.3633.5412294.198189.2141352.7761953.59
86%​
429.29405.9055.4645.4313539.3111091.8037577.7045860.72
91%​
440.73406.5151.9733.4512688.488167.4840057.0861995.63
96%​
438.78399.4955.0242.4513432.1310362.7937840.3549012.81
99%​
443.32368.2552.0141.2612698.7310073.2440028.5750219.17


Sequential Read_Write Speeds.png

Random 4 KiB Read_Write Speeds.png

Random 4 KiB Read_Write IOPS.png

Random 4 KiB Read_Write µS.png



Benchmarklar küçük dosyalar ile test yaptıkları için doluluk oranındaki hız farkı çok belli olmuyor ancak. Ortalama bir dosyayı SSD'ye atarken hızların ne kadar değişiklilik gösterebildiği şöyle göstereyim.

Yazma Hızları SSD'nin doluluk oranı 45%'in altındayken;
yazma hızı boşken.png


Yazma Hızları SSD'nin doluluk oranı 45%'in üstündeyken;
yazma hızı doluyken.png


Yazma Hızları SSD'nin doluluk oranı 90%'ın üstündeyken;
1598233444889.png


Son Byte'a kadar doldurmazsanız daha iyi çalışıyorlar. Ancak 90%'lara kadar bile doldursanız kabul edilebilir hızlar alınabiliniyor.
 
Son düzenleme:
Hocam harika bir konu olmuş, eline sağlık hepimiz sayende fikir sahibi olduk. :)
 
Retail olmayan bir SSD. Notebook'tan söktüm. DRAM-Less ve çok büyük ihtimal TLC.
Üzerindeki NAND yongalarının üstünde; PFG84 yazıyor. Internette arattığım zaman sonuçların büyük çoğunluğu Transcend olarak çıkıyor.

Hynix olmalı. OEM üreticileri büyük üreticilerden hacimli alımları gerçekleştiriyorlar ve Hynix pek çok OEM üreticisinin tercihidir.
MSATA'da ise TLC yakalamak mümkün değil normalde, TLC (yeni QLC ise çok daha yeni), mSATA öleli ise yıllar oldu. Zaten performans düşmüyorsa SLC cache kullanan TLC ya da hatta MLC bile olamaz. Muhtemelen 19M MLC NAND var.

Bu arada çok iyi ve emek verilmiş çalışma için teşekkürler.
 
Testi yaptığınız iyi olmuş. Yok %30'u, %50'si boş bırakılmalı gibi gibi yorumlar görüyordum. 1 TB Nvme var, şahsen dibine kadar kullanıyorum, maksimum hızda kullanacağım diye 300 GB'dan vazgeçemem.
 
Testi yaptığınız iyi olmuş. Yok %30'u, %50'si boş bırakılmalı gibi gibi yorumlar görüyordum. 1 TB Nvme var, şahsen dibine kadar kullanıyorum, maksimum hızda kullanacağım diye 300 GB'dan vazgeçemem.

Sizin durumunuza da 300GB çok büyük bir değer, 1TB SSD'im olsa, o kadar boş olsa üzülürdüm, boşa gidiyor diye.
 
USB üzerinden bağlayarak kullandığım harici SSD'mi bugün bir deney için kullanmak istedim. Deneyin amacı SSD'yi adım adım(5%) doldurmak ve becnhmarka tabii tutup değerlerdeki değişimi gözlemlemek.

SSD:
128 GB kapasiteli bir mSATA SSD.
Düzgün bir 5 Gbps USB adaptörü ile birlikte kullanıyorum.
üzerinde işletim sistemi çalışmıyor.
Dosya sistemi olarak NTFS kullanıyorum.

Eki Görüntüle 647078

Hem aşırı ısınıp yavaşlamasını engellemek için hem de SSD'nin dosyaları üzerine aldıktan sonra düzenlemesi için testleri üst üste yapmadım.
Her bir yazma ve Benchmark işlemi sonrası belli bir süre bekledim. (Hatta şu an bunu yazarken 30%'un değerlerini almak için bekliyorum.)

Doldurmak için kullandığım dosya;
Kullandığım SSD'nin yaklaşık 1% boyutuna denk gelen bir dosya yarattım. Her bir aşamada bu dosyadan 5 tane oluşturup SSD'ye atıyorum.
Eki Görüntüle 647080

aşağıda verdiğim C# kodunu derleyip çalıştırarak kendi 1.12 GB dosyanızı oluşturabilirsiniz.
C#:
using System;
using System.Text;
using System.IO;

namespace GigaFile.
{
class Program.
{
static void Main(string[] args)
{
Random rand = new Random();
StringBuilder sb = new StringBuilder();
StringBuilder finalFile = new StringBuilder();
for (int i = 0; i < 5000000; i++)
{
// 5000000 Rows.
sb.Clear();
for (int j = 0; j < 160; j++)
{
// 160 Column.
sb.Append((char)rand.Next(256));
}
finalFile.Append(sb.ToString() + Environment.NewLine);
}
//
using (var wrtr = new StreamWriter("GigaFile.jelly", false))
{
wrtr.Write(finalFile.ToString());
}
}
}
}

Benchmark sonuçları:

Sonuçlar:
Percent %SEQ1M READSEQ1M WRITERND4K READRND4K WRITERND4K READ IOPSRND4K WRITE IOPSRND4K READ µSRND4K WRITE µS
0%​
447.07407.2650.4344.3612311.2810829.8341350.4246979.13
5%​
446.26406.5255.0645.2213442.3811039.3137891.4646078.02
10%​
447.47406.0050.4043.8912304.9310716.0641351.8347481.13
15%​
444.78408.5750.4042.9512304.6910486.3341326.1648498.27
20%​
442.40406.1052.0143.3212697.0210576.4240085.1248115.40
25%​
439.59403.9452.0343.9412703.1310727.0540081.5747413.20
30%​
443.59405.2462.1744.4015177.2510839.1133558.5946906.46
35%​
443.89403.5954.2933.1213253.668086.9138366.6962900.38
40%​
440.79407.1455.8530.4513635.747433.1137301.2368327.85
46%​
445.19405.0952.3841.9112787.8410230.9639825.6049742.97
51%​
444.25406.3250.4344.7012312.7410913.5741331.8146599.91
56%​
437.50406.7153.5235.6913067.388713.1338917.1758391.58
61%​
444.82408.8751.8945.5012667.9711108.6440170.3745835.07
66%​
444.99403.4950.9432.9712436.048049.8040849.0063150.84
71%​
445.37408.6250.4242.8612309.9110464.1141346.6248584.20
76%​
440.86408.9650.4243.0712310.3010514.6541329.4948309.29
81%​
444.10406.8850.3633.5412294.198189.2141352.7761953.59
86%​
429.29405.9055.4645.4313539.3111091.8037577.7045860.72
91%​
440.73406.5151.9733.4512688.488167.4840057.0861995.63
96%​
438.78399.4955.0242.4513432.1310362.7937840.3549012.81
99%​
443.32368.2552.0141.2612698.7310073.2440028.5750219.17

Eki Görüntüle 647126
Eki Görüntüle 647127
Eki Görüntüle 647128
Eki Görüntüle 647129

Benchmark'lar küçük dosyalar ile test yaptıkları için doluluk oranındaki hız farkı çok belli olmuyor ancak. Ortalama bir dosyayı SSD'ye atarken hızların ne kadar değişiklilik gösterebildiği şöyle göstereyim.

Yazma hızları SSD'nin doluluk oranı 45%'in altındayken;
Eki Görüntüle 647112

Yazma hızları SSD'nin doluluk oranı 45%'in üstündeyken;
Eki Görüntüle 647113

Yazma hızları SSD'nin doluluk oranı 90%'ın üstündeyken;
Eki Görüntüle 647115

Son Byte'a kadar doldurmazsanız daha iyi çalışıyorlar. Ancak 90%'lara kadar bile doldursanız kabul edilebilir hızlar alınabiliniyor.

Eline emeğine sağlık. Benzer bir testi HP Pavilion serisi ile yapmıştım müşterinin ısrarı sebebiyle.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı