SteveJ
Posts: 7
Joined: Sun Mar 19, 2017 4:13 pm

How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 6:24 pm

I have three RPI3s at three different locations.

The first one (we'll call Pi#1) I set up using NOOBs. It was pre-installed as part of a CanaKit.

The second and third ones (Pi#2 and Pi#3) I built from individually purchased parts, and I set both up by installing Raspian directly on the micro-SD card.

They all have the same kernel and packages installed. I use them solely for PiHole, Plex, and SyncThing. As far as I can tell, they are all configured identically.

Whenever I update them (which I do all at the same time) the Pi#1 always updates WAY faster than the other two. It has nothing to do with network speed, since Pi#2 is actually on the fastest network.

The only differences between Pi#1 vs Pi#2 and Pi#3 is that Pi#1 was set up using NOOBs and has a different brand SD card than the other two. All three run headless and are connected via Ethernet.

I'd like to know if the massive speed advantage is a function of the SD card (which is what I suspect), or whether somehow the configuration was better optimized by NOOBs (possible, but I'm dubious), or a combination of both. All three have 32G cards.

If I do:

Code: Select all

cd /sys/class/mmc_host/mmc?/mmc?:*
echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"
The output for all three SD cards is:

Code: Select all

Pi#1: man:0x000003 oem:0x5344 name:SL32G hwrev:0x8 fwrev:0x0

Pi#2: man:0x00001b oem:0x534d name:00000 hwrev:0x1 fwrev:0x0

Pi#3: man:0x00001b oem:0x534d name:00000 hwrev:0x1 fwrev:0x0
Settings in /boot/config.txt are identical on all three.

The output of vcgencmd get_config arm_freq on all three is arm_freq=1200.

What other values or settings can I share here to help solve the mystery?

Thanks in advance.
Last edited by SteveJ on Thu Jul 06, 2017 6:34 pm, edited 2 times in total.

runboy93
Posts: 352
Joined: Tue Feb 28, 2017 1:17 pm
Location: Finland
Contact: Website

Re: How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 6:31 pm

Might be SD card, faster cards are always better to perform.

SteveJ
Posts: 7
Joined: Sun Mar 19, 2017 4:13 pm

Re: How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 7:11 pm

runboy93 wrote:Might be SD card, faster cards are always better to perform.
Thanks for the reply. I agree. It *might* be the SD card.

I'm trying to figure out how to find out *for sure.* :)

gkaiseril
Posts: 656
Joined: Mon Aug 08, 2016 9:27 pm
Location: Chicago, IL

Re: How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 7:28 pm

Look at the cards and see what the sizes and class markings are. Then swap the cards around and reboot.
f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng.

SteveJ
Posts: 7
Joined: Sun Mar 19, 2017 4:13 pm

Re: How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 11:24 pm

gkaiseril wrote:Look at the cards and see what the sizes and class markings are. Then swap the cards around and reboot.
When I said "three different locations" in my OP, I meant "three different states." Swapping cards around isn't an option. :(

SteveJ
Posts: 7
Joined: Sun Mar 19, 2017 4:13 pm

Re: How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 11:25 pm

Are there any disk read/write test utilities I could run to see how much difference that's making?

peterlite
Posts: 720
Joined: Sun Apr 17, 2016 4:00 am

Re: How to identify what's making one RPI3 faster?

Thu Jul 06, 2017 11:35 pm

http://www.raspberrypi-spy.co.uk/2015/1 ... shoot-out/
oem:0x5344 and the other id listed near the bottom of the article.

Note that the benchmark measures only a small amount of data. Many cards are fast for small amounts then slow down for larger amounts because their erase cycle is too slow.

User avatar
davidcoton
Posts: 4245
Joined: Mon Sep 01, 2014 2:37 pm
Location: Cambridge, UK

Re: How to identify what's making one RPI3 faster?

Fri Jul 07, 2017 12:08 am

SteveJ wrote:
gkaiseril wrote:Look at the cards and see what the sizes and class markings are. Then swap the cards around and reboot.
When I said "three different locations" in my OP, I meant "three different states." Swapping cards around isn't an option. :(
In any case this would only test Pi hardware against SDCard hardware and software, it would not differentiate between the SDCard hardware and the different software installations. To do that you would need the copy the software images (tricky with the NOOBs one) and shuffle the images to different SDCards. By the time anyone does that, so much has changed that the comparisons may well be invalid. You stand at least an equal chance (by Murphy's Law, greater than equal) of making the good installation worse, rather than improving the poor ones.

I agree the most likely difference is the SDCard itself, but I can't see a way to prove it. Differences in a NOOBs install are also possible but seem less likely. Other factors to consider are card size and WAN speed (network outside your control -- did you mean WAN or LAN when you referred to network speed?). I'm not sure that any test you can do will distinguish between card issues and driver issues, but you might eliminate WAN effects. Do your observed timings differentiate between the download phase (probably WAN limited) and the installation phase (purely local, network not involved)? Final thought: are you observing all three Pis by the same method, or is one local to you (observed over LAN) and the others remote (WAN -- I'm not sure this would be significant, but you need to document all possibilities).
Signature retired

SteveJ
Posts: 7
Joined: Sun Mar 19, 2017 4:13 pm

Re: How to identify what's making one RPI3 faster?

Fri Jul 07, 2017 5:47 am

davidcoton wrote:In any case this would only test Pi hardware against SDCard hardware and software, it would not differentiate between the SDCard hardware and the different software installations. To do that you would need the copy the software images (tricky with the NOOBs one) and shuffle the images to different SDCards. By the time anyone does that, so much has changed that the comparisons may well be invalid. You stand at least an equal chance (by Murphy's Law, greater than equal) of making the good installation worse, rather than improving the poor ones.
I agree with your well thought-out assessment.
I agree the most likely difference is the SDCard itself, but I can't see a way to prove it. Differences in a NOOBs install are also possible but seem less likely. Other factors to consider are card size and WAN speed (network outside your control -- did you mean WAN or LAN when you referred to network speed?). I'm not sure that any test you can do will distinguish between card issues and driver issues, but you might eliminate WAN effects. Do your observed timings differentiate between the download phase (probably WAN limited) and the installation phase (purely local, network not involved)? Final thought: are you observing all three Pis by the same method, or is one local to you (observed over LAN) and the others remote (WAN -- I'm not sure this would be significant, but you need to document all possibilities).
All are connected via LAN (see OP where I said "All three run headless and are connected via Ethernet"). I'm usually observing the differences via identical method from a fourth location, so I'm connecting through identical UBNT EdgeRouter firewalls to each Pi. Though I do visit the other locations occasionally, in which case one Pi will be local to me. But no matter where I am, Pi#1 always performs sudo apt-get update && sudo apt-get dist-upgrade -y faster than #2 and #3, and #2 and #3 are practically identical in terms of how long it takes them to perform an update.

I still lean toward faster SD card, but I'd love an actual way to test it directly.

SteveJ
Posts: 7
Joined: Sun Mar 19, 2017 4:13 pm

Re: How to identify what's making one RPI3 faster?

Fri Jul 07, 2017 5:56 am

Found this thread that gave a method for testing SD card speed: viewtopic.php?f=91&t=31925

Pi#1

Code: Select all

[email protected]:~ $ dd if=/dev/zero of=~/test.tmp bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 56.3384 s, 9.3 MB/s
[email protected]:~ $ sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
3
[email protected]:~ $ dd if=~/test.tmp of=/dev/null bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 23.6641 s, 22.2 MB/s
Pi#2

Code: Select all

[email protected]:~ $ dd if=/dev/zero of=~/test.tmp bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 124.171 s, 4.2 MB/s
[email protected]:~ $ sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
3
[email protected]:~ $ dd if=~/test.tmp of=/dev/null bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 26.3681 s, 19.9 MB/s
Pi#3

Code: Select all

[email protected]:~ $ dd if=/dev/zero of=~/test.tmp bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 102.958 s, 5.1 MB/s
[email protected]:~ $ sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
3
[email protected]:~ $ dd if=~/test.tmp of=/dev/null bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB) copied, 26.1446 s, 20.1 MB/s
So it looks like read speed measured much faster on Pi1 while write speed tested only slightly faster on Pi1. However, from what I understand the write speed is far more important than read speed, so I'm back to scratching my head.

User avatar
bensimmo
Posts: 4187
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: How to identify what's making one RPI3 faster?

Fri Jul 07, 2017 6:34 am

I would go SD cards, I do see differences between my cards, there is a lot of SD access.

Though it could be the mirrors.

All I can think of is;
is there some way to time each aspect of apt.
The header updates, the downloads and the unpacking and installing.
While logging CPU usage and MHz.

User avatar
bensimmo
Posts: 4187
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: How to identify what's making one RPI3 faster?

Fri Jul 07, 2017 6:44 am

Pi1 has a Sandisc card in in (sl32)
The other too are either a Samsung or Samsung based*.
Specific models i don't think you can tell but I've not looked in detail ;-)
http://elinux.org/RPi_SD_cards#Which_SD_card.3F
The good/bad of that site I think is quite outdated.

I say Samsung based as the majority are Samsung cards and the other may just use the same setup.

Return to “Advanced users”