मेरे पास अपने लैपटॉप (सैमसंग 840 प्रो) में एक एसएटी 3 इंटरफ़ेस पर 128 जीबी एसएसडी है। इस लैपटॉप में i5 3210m Ivy Bridge Intel प्रोसेसर और 8 जीबी की रैम भी है।
मैंने उबंटू 12.10 स्थापित किया, फुल-डिस्क एन्क्रिप्शन प्राप्त करने के लिए ग्राफिकल इंस्टॉलर का उपयोग किया। मैं एक तरह से निराश हूं, क्योंकि मैं उन चश्मे की उम्मीद कर रहा था जो मुझे मिले उससे बेहतर परिणाम मिले।
इस SSD बेंचमार्किंग पेज को देखने के दौरान यह दावा किया गया है कि मेरा प्रोसेसर ऐसा करने में सक्षम है:
- ~ 500 एमबी / एस: एईएस-एनआई के साथ
- ~ 200 एमबी / एस: एईएस-एनआई के बिना
मुझे मिलने वाले नंबरों को देखते हुए, मुझे लगता है कि मेरे पास एईएस-एनआई सक्षम नहीं हो सकता है। लेकिन पहले ...
अनएन्क्रिप्टेड डेटा पढ़ना तेज है:
# hdparm -Tt /dev/sda1
/dev/sda1:
Timing cached reads: 14814 MB in 2.00 seconds = 7411.70 MB/sec
Timing buffered disk reads: 242 MB in 0.48 seconds = 502.75 MB/sec
यह वास्तव में मेरे एसएसडी के "530 एमबी / एस तक" के चश्मे के करीब है और एक dd
परीक्षण करने से ऊपर के समान परिणाम मिलते हैं।
एन्क्रिप्टेड डेटा लिखना डीएम-क्रिप्ट के साथ बहुत तेज़ है (अन्यथा eCryptfs के साथ लेखन पर प्रदर्शन abysmal है, 100 एमबी / एस से कम है), संख्या एसएसडी कल्पना के करीब है (मुझे लगता है कि लेखन बफर या कुछ और है):
# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.93896 s, 365 MB/s
एन्क्रिप्टेड डेटा पढ़ना हालांकि एक और कहानी है:
# echo 3 > /proc/sys/vm/drop_caches
# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.85956 s, 183 MB/s
इस संदेश को लिखते समय, मैं वास्तव में 183 एमबी / एस पाने के लिए भाग्यशाली हो गया, क्योंकि यह संख्या बदलती है। आम तौर पर यह लगभग 150 एमबी / एस है, लेकिन मैं भी एक ताजा बूट पर 300 एमबी / एस के करीब पहुंच गया, लेकिन फिर मेरे बिना कोई ऐप शुरू किए प्रदर्शन धीरे-धीरे 200 एमबी / एस के नीचे चला गया। ध्यान दें कि इस परीक्षण का आयोजन करते समय मेरे पास कोई अन्य प्रक्रिया नहीं है जो I / O कर रही है (जैसा कि देखा गया है iotop
)।
इसके अलावा, यहाँ परीक्षण hdparm
जिसके परिणाम बदतर हैं:
# hdparm -Tt /dev/mapper/sda2_crypt
/dev/mapper/sda2_crypt:
Timing cached reads: 14816 MB in 2.00 seconds = 7412.86 MB/sec
Timing buffered disk reads: 422 MB in 3.01 seconds = 140.11 MB/sec
मैंने यह देखकर भी प्रयोग करने की कोशिश की htop
... निश्चित नहीं कि मैंने जो देखा, उसकी व्याख्या कैसे करें क्योंकि i5 प्रोसेसर हाइपर-थ्रेडिंग करता है, लेकिन 4 में से 2 थ्रेड्स जहां परीक्षण के दौरान लगभग 73% उपयोग के लिए जा रहे हैं, जबकि अन्य 2 धागे जहां अप्रयुक्त छोड़ दिए गए। दरअसल, अगर मैं 2 प्रक्रियाओं को शुरू करता हूं जो dd
2 अलग-अलग फाइलों से पढ़ रहा है (बफरिंग को रोकने के लिए), तो iotop
कुल लगभग 400 एमबी / एस की रिपोर्ट करता है। तो यह निश्चित रूप से ऐसा लगता है कि यह सीपीयू-बाउंड है।
मेरी निराशा इस तथ्य से आती है कि मेरा i5 प्रोसेसर एईएस-एनआई में सक्षम है । 500 से अधिक एमबी / सेकंड पर अनएन्क्रिप्टेड डेटा पढ़ा जा रहा है जो मैंने ऊपर किया था। इसलिए हम एक एन्क्रिप्टेड विभाजन के बारे में बात कर रहे हैं जो कम से कम 3 गुना धीमा है।
मैं वास्तव में नहीं जानता कि क्या मेरा डीएम-क्रिप्ट एईएस-एनआई का उपयोग कर रहा है। यहाँ का उत्पादन है lsmod
:
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
यहाँ का उत्पादन है cryptsetup
:
# cryptsetup status sda2_crypt
/dev/mapper/sda2_crypt is active and is in use.
type: LUKS1
cipher: aes-xts-plain64
keysize: 512 bits
device: /dev/sda2
offset: 4096 sectors
size: 249565184 sectors
mode: read/write
flags: discards
तो, क्या यह अपेक्षित है? क्या एईएस-एनआई को इससे अधिक चीजों में सुधार नहीं करना चाहिए?
इसके अलावा, एईएस-एनआई को कैसे निष्क्रिय करना है यह देखने के लिए कि क्या कोई अंतर है? और शायद मुझे इसे किसी तरह से सक्षम करना चाहिए, लेकिन मेरी खोजों में कोई सुझाव नहीं मिला है।
धन्यवाद,