# Wolniejszy transfer SSD Samsung 850 PRO 256 GB

## nUmer_inaczej

Cześć.

Wyrównałem partycje, założyłem system plików z wielkością sektora równą 4096 b 

zarówno dla Windows 64 jak i Gentoo.

Narzędzia informujące pod Windows o odczycie z dysku mówią o odczycie równym 563 MB/s, 

czyli o 10 MB/s więcej aniżeli deklarowanym przez producenta, podczas gdy pod Gentoo przy 

```

hdparm -a -c -m -A1 -Q -W1 /dev/sda

```

uzyskuję mniej, bo tylko 525 MB/s.

Nie są to wielkie różnice, bowiem 35 MB/s, ale dla klasycznego HDD byłaby to ~1/4 transferu.

System plików montuję z opcją discard.

Czy jest możliwość przyspieszenia transferu odczytu o te ~38 MB/s? 

Zdaje mi się, że w jądrze włączyłem wszystko co niezbędne dla pracy dysków, pracują w trybie

AHCI, cache włączony.

Dla uzupełnienia info podaję wynik emerge --info:

```

Portage 2.2.8-r2 (default/linux/amd64/13.0, gcc-4.8.3, glibc-2.19-r1, 3.17.4-ck x86_64)

=================================================================

System uname: Linux-3.17.4-ck-x86_64-Intel-R-_Core-TM-_i5-4460_CPU_@_3.20GHz-with-gentoo-2.2

KiB Mem:    16410080 total,  14534840 free

KiB Swap:    2097148 total,   2097148 free

Timestamp of tree: Unknown

ld GNU ld (Gentoo 2.24 p1.4) 2.24

app-shells/bash:          4.2_p53

dev-lang/perl:            5.18.2-r2

dev-lang/python:          2.7.7, 3.3.5-r1, 3.4.1

dev-util/cmake:           2.8.12.2-r1

dev-util/pkgconfig:       0.28-r1

sys-apps/baselayout:      2.2

sys-apps/openrc:          0.12.4

sys-apps/sandbox:         2.6-r1

sys-devel/autoconf:       2.13, 2.69

sys-devel/automake:       1.11.6, 1.13.4

sys-devel/binutils:       2.24-r3

sys-devel/gcc:            4.8.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4.2-r1

sys-devel/make:           4.0-r1

sys-kernel/linux-headers: 3.16 (virtual/os-headers)

sys-libs/glibc:           2.19-r1

Repositories: gentoo roslin x-portage

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* @EULA PUEL dlj-1.1 skype-eula"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=core-avx2 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /usr/X11R6/bin/startx"

CXXFLAGS="-march=core-avx2 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

EMERGE_DEFAULT_OPTS="--autounmask=n"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://ftp.fi.muni.cz/pub/linux/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"

LANG="pl_PL"

LC_ALL="pl_PL.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/media/data/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/roslin /usr/local/portage"

SYNC="rsync://gentoo.prz.rzeszow.pl/gentoo-portage"

USE="256-color 7zip X a52 aac aalib acl acpi alsa amd64 apache2 apng audacious audiofile auto-hinter bash-completion berkdb bidi bl bluetooth bluez bluray bogofilter bs2b bzip2 cairo caps cdda cdparanoia cdr cleartype cli corefonts cpudetection cracklib crypt cryptsetup cue cups curl custom-cflags custom-cpuopts custom-optimization cvs cxx daemon dbus dga dirac divx double-precision dri dts dv dvb dvd dvdr dvdread emerge enca encode extensions extras faac faad fat ffmpeg ffmpeg-mt flac flaccelt fluidsynth fontconfig foomaticdb fortran g3dvl gd gdbm gif gimp git gnutls gtk gudev hddtemp hwdb iconv imagemagick imlib input ipv6 jack jpeg ladspa lame lib32 libcaca libnotify libsamplerate lirc lm_sensors logrotate loop-aes lua lua-cairo lua-imlib mad mbox mercurial minizip mms mmx mmx2 moc modplug modules mono mouse mp3 mpeg mpg123 mplayer multiboot multilib musepack mysqli ncurses netjack network newmousefocus nls nptl nsplugin ntfs ntfsprogs nvidia ogg oggvorbis openal opengl openmp optimisememory optimization osdmenu pam pc pcre perl pgo plugins png ppds pvr python qt-static qt3support qt4 radio rar readline reiserfs rss rt rtmp ruby schroedinger script session slang sndfile sounds sox speex spell sqlite sse sse2 sse4 ssl ssse3 startup-notification strong-optimization subversion svg symlink system-ffmpeg tcpd tetex threads tk truetype udev unicode urandom usb userlocales v4l vaapi vdpau vim-pager vim-syntax vim-with-x vorbis wavepack wavpack wma x264 xanim xface xft xml xpm xprint xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="snd-usb-audio" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="dvb_usb_rtl28xxu" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="emu efi-32 efi-64 pc" INPUT_DEVICES="evdev mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl en" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia nv" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

```

UPDATE:

Dodam, że przy tych samych opcjach klasyczny HDD WDC RED ma właściwy zadeklarowenemu przez producenta transfer rzędu 143 MB/s, 

który montuję identycznie jak SSD, za wyjątkiem opcji discard.

----------

## sebas86

Opis warunków testowych jest niepełny. Pewny jesteś, że to nie kwestia systemu plików albo działającego w tle programu, który też odwołuje się do dysku?

----------

## nUmer_inaczej

Być może masz rację. 

Nie byłem pewny jak taki test przeprowadzić, więc test na 7 był przeprowadzony ze standardowo uruchomionymi usługami po instalacji.

Ten nie odbiega znacząco od późniejszej konfiguracji - wacha się w granicach 565 mb/s.

Mym zamierzeniem nie było wskazywanie słabszych stron Gentoo, a jedynie dążenie do zwiększenia tego parametru.

Pod Gentoo zmieniłem w hdparm paramter odczytu z wyprzedzeniem do max, czyli 2048 sek i odczyt zwiększył się o 10 mb/s - do 535 mb/s 

zarówno dla partycji zamontowanej jako ntfs jak i ext4. 

Ponieważ trudno mi mówić o zestawie odpalonych na starcie usług - wykonałem na tych które używam na codzień. Wyłączenie zbytecznych dla 

działania systemu i tak nie zwiększyłem szybkości odczytu.

Nie jest to jednak problem niecierpiący zwłoki  :Smile: 

----------

## lazy_bum

Realnie to i tak pełnej szybkości „liniowej” nie użyjesz raczej do niczego, chyba, że masz dwa+ dyski SSD i sobie po nich przekładasz dane. W innym wypadku „domowym” — z pendrive nie poleci tak szybko, z sieci nie poleci (pozostaje ew. jakaś obróbka audio/video), więc można sobie pooglądać te piękne 500-600 MB/s „na papierze”. Do codziennego użytku prawdziwego kopa dają czasy dostępu, a nie liniowy zapis/odczyt.

----------

## Bialy

 *lazy_bum wrote:*   

> Realnie to i tak pełnej szybkości „liniowej” nie użyjesz raczej do niczego, chyba, że masz dwa+ dyski SSD i sobie po nich przekładasz dane. W innym wypadku „domowym” — z pendrive nie poleci tak szybko, z sieci nie poleci (pozostaje ew. jakaś obróbka audio/video), więc można sobie pooglądać te piękne 500-600 MB/s „na papierze”. Do codziennego użytku prawdziwego kopa dają czasy dostępu, a nie liniowy zapis/odczyt.

 True  :Wink: 

Ja u siebie max 200 widziałem, przy ładowaniu danych do RAM'u.

----------

## nUmer_inaczej

Panowie - a jak sprawdzacie wspomniane czasy dostępu?

----------

