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.
xx |
ss |
sm |
m3 |
m4 |
m5 |
m6 |
m7 |
m8 |
m9 |
mm |
|
pi-32-SD |
|||||||||||
pi-32-SSD |
|||||||||||
pi-32-SSD-OV |
|||||||||||
ubuntu-64-SD |
|||||||||||
ubuntu-64-SSD |
|||||||||||
ubuntu-64-SSD-OV |
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 |
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.