Scaling and Performance

Installing RACHEL once is enough for many people, and can take many hours from start to finish. However, when we want to install RACHEL on more computers, the challenge of scaling and working efficiently become more important.

Variations in performance

Many factors can affect performance. Ultimately we want to work efficiently and effectively and for users to be able to use the system productively without material delays or glitches. Factors include:

  • Usage patterns
  • Hardware used
  • Software drivers and configuration settings

Of USB Drives

The performance of file copies vary massively. The model of USB storage can affect the performance several fold, as can the type of USB interface on the computer (and its performance). As a guideline USB 3.0 drives when used with USB 3.0 USB port will give the best throughput.

My current computer, an X220 i5 only has 3 USB 2.0 ports. All the USB drives support USB 3.0.

time unzip rachelusb_32EN_3.1.5.zip -d /media/julian/USB\ DISK/

Results for 2 runs, each with brand new USB drives.
measurement Integral 32GB drive Sandisk Kingston 64GB drive
real 70m59.300s 49m28.714s 99m2.430s
user 13m46.886s 14m2.900s 14m15.597s
sys 8m21.883s 8m58.815s 9m21.392s
real 65m30.835s 47m3.925s 88m45.254s
user 4m54.700s 7m58.874s 13m40.720s
sys 3m11.843s 4m30.248s 7m56.550s

Even in the first test comparison there’s a 2:1 ratio between the drives, in the same USB slot. Now imagine trying to prepare 10, 50 or even 1,000 USB drives to ship to projects!

Of Raspberry Pi models

  • B+ Model 2: is the current performance winner in terms of capacity and throughput.
  • B in terms of storage capacity as SD-Cards are available with approximately 2x the capacity than micro SD-Cards currently. (This situation will probably reverse within 12 months)
  • A+ in terms of power usage and overall dimensions.

Testing and measuring performance

A big, rich topic. TBC.

  • HTTP and Browser-based automated testing
  • Performance measurement utilities e.g. top
  • time

Remember to make notes (there are several examples in this chapter and elsewhere in the book where we use time and learned more about the performance of aspects of the system.

Performance Analysis

Another TBC topic. However we can analyse log files to infer performance data amongst other techniques.