Will purchasing an NVMe SSD noticably improve performance
#11
(11-07-2019, 04:03 PM)Feakster Wrote:
(11-07-2019, 02:37 PM)hmuller Wrote:
(11-07-2019, 09:32 AM)Feakster Wrote: Hi,

... but I've been wondering where the primary performance bottleneck lies in the PBP. Is it the eMMC interface? ...

Ben

Hi Ben, please describe in more detail this performance bottleneck you describe above. I am curious about the context of your observation.

Hi,

I have nothing to point fingers at in particular. It's just that on several occasions when I've been waiting for the PBP, I've noticed that the processor doesn't appear to be pushed.

There's a couple of utilities you can use to get a better understanding of what you're waiting for on those occasions... install 'atop' and 'iotop' if you haven't already. 
'sudo apt install atop iotop'

While you're using the PBP, keep a terminal window open with one or the other(or two windows with both). Run atop with
'atop -d' 
and run iotop with 
'sudo iotop'. 

Keep them running while you use the PBP and when you hit a point where you get a slow down, check those windows. In atop you'll want to look for the row labeled "DSK" and in iotop just look at the top for the disk read/write stats. You'll see spiked activity on those lines if the slow down is releated to the eMMC, as well as the name of the process responsible. If you do see activity, then most likely being able to switch to an SSD should speed things up as far as those phantom waits go.
#12
Debian default. No extra configuration required.
I'm new to Debian, Ubuntu for 10 years, feels like close family.

Quote Shallow Thoughts 24 nov 2011:

But on Debian or Ubuntu, if you make changes to files like /boot/extlinux/extlinux.conf directly, they'll be overwritten.
The configuration files are regenerated by a program called extlinux-update, which runs automatically every time you update your kernel. (Specifically, it runs from the postinst script of the linux-base package: you can see it in /var/lib/dpkg/info/linux-base.postinst.)
First, if you decide you really don't want Debian overwriting your configuration files, you can change disable updates by editing /etc/default/extlinux. Just be aware you won't get your boot menu updated when you install new kernels -- you'll have to remember to update them by hand.

I could use some advise here.
#13
I tried to move the rootfs to my SSD

But, after edit the "extlinux.conf" file , the PBP refused to boot.
I have to boot from the SD and modify the "extlinux.conf" again (pointing to the emmc) to be able to boot from the eMMC.
#14
 I have received communication from MrFixIt that he is indeed working on making the PCIe/NVMe
a bootable drive....
 That tells me, 1) It is not yet bootable 2) hopefully it will be soon.


Meanwhile you can use it for storage if you want,
... I am thinking of installing it, but I am still waiting to see the additional parts they said they are sending for the adapter I already purchased. ...... I do have the original adapter and a NVMe SSD sitting here waiting...
      LINUX = CHOICES
         **BCnAZ**
               Idea
   Donate to $upport
your favorite OS Team
#15
(11-07-2019, 10:23 PM)odinson Wrote:
(11-07-2019, 04:03 PM)Feakster Wrote:
(11-07-2019, 02:37 PM)hmuller Wrote:
(11-07-2019, 09:32 AM)Feakster Wrote: Hi,

... but I've been wondering where the primary performance bottleneck lies in the PBP. Is it the eMMC interface? ...

Ben

Hi Ben, please describe in more detail this performance bottleneck you describe above. I am curious about the context of your observation.

Hi,

I have nothing to point fingers at in particular. It's just that on several occasions when I've been waiting for the PBP, I've noticed that the processor doesn't appear to be pushed.

There's a couple of utilities you can use to get a better understanding of what you're waiting for on those occasions... install 'atop' and 'iotop' if you haven't already. 
'sudo apt install atop iotop'

While you're using the PBP, keep a terminal window open with one or the other(or two windows with both). Run atop with
'atop -d' 
and run iotop with 
'sudo iotop'. 

Keep them running while you use the PBP and when you hit a point where you get a slow down, check those windows. In atop you'll want to look for the row labeled "DSK" and in iotop just look at the top for the disk read/write stats. You'll see spiked activity on those lines if the slow down is releated to the eMMC, as well as the name of the process responsible. If you do see activity, then most likely being able to switch to an SSD should speed things up as far as those phantom waits go.

Did you manage to successfully install both of those on the PBP? systemd through up errors for both of them for me:


Code:
benjamin@Scatha:~$ sudo apt install atop      
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
 atop
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 145 kB of archives.
After this operation, 302 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf atop armhf 2.2.6-4 [145 kB]
Fetched 145 kB in 0s (240 kB/s)
Selecting previously unselected package atop.
(Reading database ... 371826 files and directories currently installed.)
Preparing to unpack .../atop_2.2.6-4_armhf.deb ...
Unpacking atop (2.2.6-4) ...
Setting up atop (2.2.6-4) ...
Created symlink /etc/systemd/system/multi-user.target.wants/atop.service → /lib/systemd/system/atop.service.
Created symlink /etc/systemd/system/multi-user.target.wants/atopacct.service → /lib/systemd/system/atopacct.service.
Job for atopacct.service failed because a timeout was exceeded.
See "systemctl status atopacct.service" and "journalctl -xe" for details.
invoke-rc.d: initscript atopacct, action "start" failed.
● atopacct.service - Atop process accounting daemon
  Loaded: loaded (/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled)
  Active: failed (Result: timeout) since Sun 2019-11-10 14:05:48 UTC; 38ms ago
    Docs: man:atopacctd(8)
 Process: 3670 ExecStart=/usr/sbin/atopacctd (code=exited, status=0/SUCCESS)

Nov 10 14:04:18 Scatha systemd[1]: Starting Atop process accounting daemon...
Nov 10 14:04:18 Scatha atopacctd[3673]: Version: 2.2.6 - 2016/12/22 00:00:00…nl>
Nov 10 14:04:18 Scatha atopacctd[3670]: receive NETLINK family, errno -2
Nov 10 14:05:48 Scatha systemd[1]: atopacct.service: Start operation timed …ing.
Nov 10 14:05:48 Scatha systemd[1]: Failed to start Atop process accounting …mon.
Nov 10 14:05:48 Scatha systemd[1]: atopacct.service: Unit entered failed state.
Nov 10 14:05:48 Scatha systemd[1]: atopacct.service: Failed with result 'ti…ut'.
Hint: Some lines were ellipsized, use -l to show in full.
dpkg: error processing package atop (--configure):
subprocess installed post-installation script returned error exit status 1
Processing triggers for systemd (232-25+deb9u12) ...
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
atop
E: Sub-process /usr/bin/dpkg returned an error code (1)
benjamin@Scatha:~$ sudo apt install iotop
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
 iotop
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
Need to get 30.4 kB of archives.
After this operation, 96.3 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf iotop armhf 0.6-2 [30.4 kB]
Fetched 30.4 kB in 0s (66.8 kB/s)
Selecting previously unselected package iotop.
(Reading database ... 371852 files and directories currently installed.)
Preparing to unpack .../archives/iotop_0.6-2_armhf.deb ...
Unpacking iotop (0.6-2) ...
Setting up atop (2.2.6-4) ...
Job for atopacct.service failed because of unavailable resources or another system error.
See "systemctl status atopacct.service" and "journalctl -xe" for details.
invoke-rc.d: initscript atopacct, action "start" failed.
● atopacct.service - Atop process accounting daemon
  Loaded: loaded (/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled)
  Active: failed (Result: resources) since Sun 2019-11-10 14:07:02 UTC; 16ms ago
    Docs: man:atopacctd(8)
 Process: 4097 ExecStart=/usr/sbin/atopacctd (code=exited, status=0/SUCCESS)

Nov 10 14:07:02 Scatha systemd[1]: Starting Atop process accounting daemon...
Nov 10 14:07:02 Scatha atopacctd[4097]: /run/pacct_shadow.d: File exists
Nov 10 14:07:02 Scatha systemd[1]: atopacct.service: PID file /run/atopacct…tory
Nov 10 14:07:02 Scatha systemd[1]: Failed to start Atop process accounting …mon.
Nov 10 14:07:02 Scatha systemd[1]: atopacct.service: Unit entered failed state.
Nov 10 14:07:02 Scatha systemd[1]: atopacct.service: Failed with result 're…es'.
Hint: Some lines were ellipsized, use -l to show in full.
dpkg: error processing package atop (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up iotop (0.6-2) ...
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
atop
E: Sub-process /usr/bin/dpkg returned an error code (1)
benjamin@Scatha:~$ sudo systemctl enable iotop
Failed to enable unit: File iotop.service: No such file or directory

Ben
#16
(11-10-2019, 08:11 AM)Feakster Wrote:
(11-07-2019, 10:23 PM)odinson Wrote:
(11-07-2019, 04:03 PM)Feakster Wrote:
(11-07-2019, 02:37 PM)hmuller Wrote:
(11-07-2019, 09:32 AM)Feakster Wrote: Hi,

... but I've been wondering where the primary performance bottleneck lies in the PBP. Is it the eMMC interface? ...

Ben

Hi Ben, please describe in more detail this performance bottleneck you describe above. I am curious about the context of your observation.

Hi,

I have nothing to point fingers at in particular. It's just that on several occasions when I've been waiting for the PBP, I've noticed that the processor doesn't appear to be pushed.

There's a couple of utilities you can use to get a better understanding of what you're waiting for on those occasions... install 'atop' and 'iotop' if you haven't already. 
'sudo apt install atop iotop'

While you're using the PBP, keep a terminal window open with one or the other(or two windows with both). Run atop with
'atop -d' 
and run iotop with 
'sudo iotop'. 

Keep them running while you use the PBP and when you hit a point where you get a slow down, check those windows. In atop you'll want to look for the row labeled "DSK" and in iotop just look at the top for the disk read/write stats. You'll see spiked activity on those lines if the slow down is releated to the eMMC, as well as the name of the process responsible. If you do see activity, then most likely being able to switch to an SSD should speed things up as far as those phantom waits go.

Did you manage to successfully install both of those on the PBP? systemd through up errors for both of them for me:


Code:
benjamin@Scatha:~$ sudo apt install atop      
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
 atop
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 145 kB of archives.
After this operation, 302 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf atop armhf 2.2.6-4 [145 kB]
Fetched 145 kB in 0s (240 kB/s)
Selecting previously unselected package atop.
(Reading database ... 371826 files and directories currently installed.)
Preparing to unpack .../atop_2.2.6-4_armhf.deb ...
Unpacking atop (2.2.6-4) ...
Setting up atop (2.2.6-4) ...
Created symlink /etc/systemd/system/multi-user.target.wants/atop.service → /lib/systemd/system/atop.service.
Created symlink /etc/systemd/system/multi-user.target.wants/atopacct.service → /lib/systemd/system/atopacct.service.
Job for atopacct.service failed because a timeout was exceeded.
See "systemctl status atopacct.service" and "journalctl -xe" for details.
invoke-rc.d: initscript atopacct, action "start" failed.
● atopacct.service - Atop process accounting daemon
  Loaded: loaded (/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled)
  Active: failed (Result: timeout) since Sun 2019-11-10 14:05:48 UTC; 38ms ago
    Docs: man:atopacctd(8)
 Process: 3670 ExecStart=/usr/sbin/atopacctd (code=exited, status=0/SUCCESS)

Nov 10 14:04:18 Scatha systemd[1]: Starting Atop process accounting daemon...
Nov 10 14:04:18 Scatha atopacctd[3673]: Version: 2.2.6 - 2016/12/22 00:00:00…nl>
Nov 10 14:04:18 Scatha atopacctd[3670]: receive NETLINK family, errno -2
Nov 10 14:05:48 Scatha systemd[1]: atopacct.service: Start operation timed …ing.
Nov 10 14:05:48 Scatha systemd[1]: Failed to start Atop process accounting …mon.
Nov 10 14:05:48 Scatha systemd[1]: atopacct.service: Unit entered failed state.
Nov 10 14:05:48 Scatha systemd[1]: atopacct.service: Failed with result 'ti…ut'.
Hint: Some lines were ellipsized, use -l to show in full.
dpkg: error processing package atop (--configure):
subprocess installed post-installation script returned error exit status 1
Processing triggers for systemd (232-25+deb9u12) ...
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
atop
E: Sub-process /usr/bin/dpkg returned an error code (1)
benjamin@Scatha:~$ sudo apt install iotop
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
 iotop
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
Need to get 30.4 kB of archives.
After this operation, 96.3 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf iotop armhf 0.6-2 [30.4 kB]
Fetched 30.4 kB in 0s (66.8 kB/s)
Selecting previously unselected package iotop.
(Reading database ... 371852 files and directories currently installed.)
Preparing to unpack .../archives/iotop_0.6-2_armhf.deb ...
Unpacking iotop (0.6-2) ...
Setting up atop (2.2.6-4) ...
Job for atopacct.service failed because of unavailable resources or another system error.
See "systemctl status atopacct.service" and "journalctl -xe" for details.
invoke-rc.d: initscript atopacct, action "start" failed.
● atopacct.service - Atop process accounting daemon
  Loaded: loaded (/lib/systemd/system/atopacct.service; enabled; vendor preset: enabled)
  Active: failed (Result: resources) since Sun 2019-11-10 14:07:02 UTC; 16ms ago
    Docs: man:atopacctd(8)
 Process: 4097 ExecStart=/usr/sbin/atopacctd (code=exited, status=0/SUCCESS)

Nov 10 14:07:02 Scatha systemd[1]: Starting Atop process accounting daemon...
Nov 10 14:07:02 Scatha atopacctd[4097]: /run/pacct_shadow.d: File exists
Nov 10 14:07:02 Scatha systemd[1]: atopacct.service: PID file /run/atopacct…tory
Nov 10 14:07:02 Scatha systemd[1]: Failed to start Atop process accounting …mon.
Nov 10 14:07:02 Scatha systemd[1]: atopacct.service: Unit entered failed state.
Nov 10 14:07:02 Scatha systemd[1]: atopacct.service: Failed with result 're…es'.
Hint: Some lines were ellipsized, use -l to show in full.
dpkg: error processing package atop (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up iotop (0.6-2) ...
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
atop
E: Sub-process /usr/bin/dpkg returned an error code (1)
benjamin@Scatha:~$ sudo systemctl enable iotop
Failed to enable unit: File iotop.service: No such file or directory

Ben

No, mine is scheduled for delivery tomorrow. Those are utilities I've used for a long time to isolate performance issues on linux systems, including my ARM based SBCs. I kinda took it for granted they would work... I'll see if I can get them working once I have mine to play with, unless someone beats me to it.
#17
(11-08-2019, 01:19 AM)hdk Wrote: Debian default. No extra configuration required.
I'm new to Debian, Ubuntu for 10 years, feels like close family.

Quote Shallow Thoughts 24 nov 2011:

But on Debian or Ubuntu, if you make changes to files like /boot/extlinux/extlinux.conf directly, they'll be overwritten.
The configuration files are regenerated by a program called extlinux-update, which runs automatically every time you update your kernel. (Specifically, it runs from the postinst script of the linux-base package: you can see it in /var/lib/dpkg/info/linux-base.postinst.)
First, if you decide you really don't want Debian overwriting your configuration files, you can change disable updates by editing /etc/default/extlinux. Just be aware you won't get your boot menu updated when you install new kernels -- you'll have to remember to update them by hand.

I could use some advise here.

Finally succes.

Removed default Debian from PBP; 
    Bionic-mate-pinebookpro-0.9.14-1159 image unxz and dd to sdcard.
Startup PBP with sdcard.
Download the image again, unxz and dd to EMMC. 
Check with Gparted EMMC boot partition= fat16.
Quit, remove sdcard en start PBP again.
Mount the nvme SSD drive (ext4)
    sudo mount /dev/nvme0n1 /mnt (do check the device)
copy the root file system from EMMC to nvme SSD
    sudo cp -avx / /mnt
Label the nvme partition with Gparted: NVME
Change root in /boot/extlinux/extlinux.conf
    root=LABEL=NVME
Reboot and check with $ sudo lsblk -f


Pinebook Pro Ubuntu 18.04.3 Mate now booting from EMMC and rootfs from NVME.
Works really like a charm.

Next thing to do is to objectify the performance.
#18
Is there a preferred benchmark tool to use at Pine64?

rock64@pinebookpro:~$ systemd-analyze
Startup finished in 4.919s (kernel) + 8.238s (userspace) = 13.157s
graphical.target reached after 8.206s in userspace


I can produce lots of info from Hardinfo.
#19
(11-10-2019, 08:11 AM)Feakster Wrote: Did you manage to successfully install both of those on the PBP? systemd through up errors for both of them for me:

Okay, I got the errors too on install and iotop won't launch, but atop works for me. See if you can use that and look for the "DSK" row. If, when you get the phantom slow down, you see the busy % showing a lot of activity, that's indicative of it waiting for disk i/o and that points to a high probability that an SSD would help with the slowdowns you're experiencing.
#20
I do not have a SSD adapter that I can use yet, so I tested only on the eMMC 128G and a class 10 SD device

mmcblk2 is the eMMC and mmcblk1 is the SD card. You can ignore the HDD mentions, I had to adapt a tool that is used for another tests.

WARNING: you have disable RPM check, tool will fail if prerequisites listed on the README file are not installed
INFO: checking devices JSON information
INFO: mmcblk2p1 drive in the JSON file seems to be correctly populated
INFO: mmcblk1p1 drive in the JSON file seems to be correctly populated
INFO: checking devices status
OK: mmcblk2p1 defined by you as HDD is in the system as block device
OK: mmcblk1p1 defined by you as HDD is in the system as block device
INFO: Going to start test randread with blocksize of 128k on device mmcblk2p1 please be patient
Jobs: 1 (f=1): [r(1)][100.0%][r=150MiB/s][r=1200 IOPS][eta 00m:00s]
INFO: Completed test randread with blocksize of 128k on device mmcblk2p1
INFO: Going to start test randread with blocksize of 128k on device mmcblk1p1 please be patient
Jobs: 1 (f=1): [r(1)][100.0%][r=54.4MiB/s][r=435 IOPS][eta 00m:00s]
INFO: Completed test randread with blocksize of 128k on device mmcblk1p1
INFO: All tests completed
OK: drive mmcblk2p1 with IO drop[s] of 0.0 passes the IO drops KPI of 0 for test mmcblk2p1_randread_128k
OK: drive mmcblk2p1 with minimum IOPS of 1172.0 passes the HDD IOPS KPI of 55.0 for test mmcblk2p1_randread_128k
OK: drive mmcblk2p1 with maximum latency of 26.0 passes the HDD latency KPI of 300.0 for test mmcblk2p1_randread_128k
OK: drive mmcblk2p1 with mean IOPS of 1210.25 passes the HDD IOPS KPI of 110.0 for test mmcblk2p1_randread_128k
OK: drive mmcblk2p1 with mean latency of 13.14 passes the HDD latency KPI of 15.0 for test mmcblk2p1_randread_128k
OK: drive mmcblk1p1 with IO drop[s] of 0.0 passes the IO drops KPI of 0 for test mmcblk1p1_randread_128k
OK: drive mmcblk1p1 with minimum IOPS of 432.0 passes the HDD IOPS KPI of 55.0 for test mmcblk1p1_randread_128k
OK: drive mmcblk1p1 with maximum latency of 262.0 passes the HDD latency KPI of 300.0 for test mmcblk1p1_randread_128k
OK: drive mmcblk1p1 with mean IOPS of 436.63 passes the HDD IOPS KPI of 110.0 for test mmcblk1p1_randread_128k
ERROR: drive mmcblk1p1 with mean latency of 36.61 does not pass the HDD latency KPI of 15.0 for test mmcblk1p1_randread_128k
ERROR: drive type HDD has IOPS percentage difference of 63.92 which does not pass the KPI of 10 for IOPS difference for same drive type for test mmcblk1p1_randread_128k
OK: drive type HDD has latency percentage difference of 64.11 which does not pass the KPI of 10 for latency difference for same drive type for test mmcblk1p1_randread_128k
INFO: drive type SSD was not tested, so no percentage difference applies for test mmcblk1p1_randread_128k
INFO: drive type NVME was not tested, so no percentage difference applies for test mmcblk1p1_randread_128k
ERROR: the difference between drives is not acceptable by the KPIs

Summary of this run:
FAILURE: All drives do not fulfill the KPIs. You *cannot* continue with the next steps
ERROR: The settings of this test run do not qualify as a valid run to check thr KPIs. You *cannot* continue with the next steps

So it seems that for randread 128K the eMMC has x3 times IOPS and almost 3 times less latency, so no brainer to get a eMMC and use it as primary device. While numbers are far from what I would expect from a SSD I guess the electrical factor vs a SSD is to be measured too. When I get an adpater I can use I will do the same test vs a device there .


Possibly Related Threads…
Thread Author Replies Views Last Post
  New Working nVME gilwood 0 155 02-12-2024, 08:46 AM
Last Post: gilwood
  NVME problems 2022 / Intel 660p 1TB Starbug 1 1,412 04-04-2023, 12:16 PM
Last Post: globaltree
Thumbs Up NVMe adapter, Great addition dachalife 2 1,725 11-28-2022, 12:56 PM
Last Post: dachalife
  NVMe drives not detected mattpenn 12 10,029 03-05-2022, 04:53 AM
Last Post: mattpenn
  NVme intall usage? tkudog 2 2,793 03-04-2022, 01:29 AM
Last Post: Tazdevl
  Anyone selling a spare NVMe adapter in Europe? tom.tomasz 1 1,793 01-03-2022, 07:57 AM
Last Post: tom.tomasz
  NVMe-related crashes and instability, plus a solution simonsouth 13 14,358 12-10-2021, 07:47 PM
Last Post: josmo
  NVMe SSD testing methodology halogen 1 2,555 07-22-2021, 05:57 PM
Last Post: calinb
Question Battery stops charging and NVMe and other media disconnect randomly Eey0zu6O 4 4,629 07-09-2021, 08:45 PM
Last Post: moonwalkers
  nvme drive disappears after about an hour of uptime codebreaker 25 31,442 02-09-2021, 11:32 PM
Last Post: dsimic

Forum Jump:


Users browsing this thread: 1 Guest(s)