RPI64Box

This page contains a video presentation and the detailed results as supplementary information for the open-access article ‘Performance evaluation of a single board computer as a 3-tiered LAMP stack under 32-bit and 64-bit Operating Systems‘, which is available at https://doi.org/10.1016/j.array.2022.100196  

In this work, we propose a 3-tiered architecture running the Linux, Apache / Nginx, MariaDB and PHP (LAMP) stack on a 64-bit Operating System (OS) and a Solid-State Disk inside a Raspberry Pi (RPI) for performance evaluation. The relative response time and Application Performance Index (Apdex) for a 32-bit OS was measured and compared against an increasing load with Moodle as the application.

Our choice of Moodle as a testbed is influenced by, amongst others, the 3-tiered LAMP architecture of MoodleBox with Moodle as an image for the RPI, the relatively large database underlying Moodle (with more than 200 relational tables), the convenience offered by its sample tests courses and test plans in developing performance tests. Moodle can be easily substituted from the environment to create portable LAMP-based applications.

As detailed in the video presentation below, a version of Moodlebox was rebuilt for Ubuntu 64-bit OS and labelled as RPI64Box for this experiment.

A ready for use image of RPI64Box, the portable 64-bit LAMP stack, is available for download by following the button below.

MoodleBox and RPI64Box on SD Card and SSD produced four test environments labelled pi-32-SD (p32SD), pi-32-SSD (p32SSD), ubuntu-64-SD (u64SD) and ubuntu-64-SSD (u64SSD). These environments were compared using an RPI version 4 with 4GB of Memory at a CPU clock speed of 1.5 GHz. The SSD versions were later overclocked to 2 GHz, and ‘-OV’ was added to the label.

The Application Performance Index (APDEX) was measured for different course sizes (extra small, small & medium) against different cohort sizes (10 – 100 users). These were labelled in a specific way to portray the combinations. For example, xx represents an extra small course with 10 users; ss represents a small course with a small cohort size (30 users); sm represents a short course with a medium cohort size (100 users) and so on. Table 1 displays the Apdex value with a link to the detailed report for each test.

Environment/APDEX

xx

ss

sm

m3

m4

m5

m6

m7

m8

m9

mm

pi-32-SD

0.891

0.791

0.659

0.606

0.423

0.398

0.383

0.378

0.371

0.365

0.373

pi-32-SSD

0.928

0.844

0.711

0.695

0.431

0.430

0.442

0.430

0.400

0.400

0.444

pi-32-SSD-OV

0.969

0.935

0.821

0.812

0.630

0.545

0.533

0.524

0.528

0.526

0.557

ubuntu-64-SD

0.919

0.824

0.729

0.707

0.494

0.453

0.465

0.485

0.469

0.482

0.502

ubuntu-64-SSD

0.917

0.853

0.749

0.721

0.537

0.487

0.476

0.473

0.472

0.483

0.498

ubuntu-64-SSD-OV

0.947

0.913

0.814

0.810

0.656

0.551

0.547

0.536

0.537

0.545

0.555

Table 1: Apdex values for different server environments.Higher scores are better.(Click on the links for detailed report).

For Apdex, the toleration threshold was set to 500 ms, and the Frustration threshold was set to 1500 ms. Apdex values are interpreted and categorised as per the ranges below:

Index Range

Apdex Rating

Symbol

0.94 to 1.00

Excellent

E

0.85 to 0.93

Good

G

0.70 to 0.84

Fair

F

0.50 to 0.69

Poor

P

0.00 to 0.49

Unacceptable

U

Table 2: APDEX Ratings

This work’s methodology, tests, and findings are important to administrators, educators, and users in general involved in capacity planning for the use of portable applications running under the LAMP stack.