mirror of
https://github.com/toradex/rt-validation.git
synced 2025-04-28 11:13:22 +00:00
stress-tests: improve stress tests
Implement the following improvements in the stress-tests container: - Show a warning message if an archive file is not found for USB read/write stress tests - Show a warning message if Internet is not available to generate network loads - Uses 4 different iperf public servers, in case one fails to connect. Related-to: TOR-1198 Signed-off-by: Sergio Prado <sergio.prado@toradex.com>
This commit is contained in:
parent
720e987df8
commit
7a89de9917
@ -4,9 +4,9 @@ ARG IMAGE_TAG=2-bullseye
|
|||||||
FROM --platform=$IMAGE_ARCH torizon/debian:$IMAGE_TAG
|
FROM --platform=$IMAGE_ARCH torizon/debian:$IMAGE_TAG
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends iperf3 rt-tests \
|
&& apt-get install -y --no-install-recommends iperf3 rt-tests iputils-ping \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY / /
|
COPY stress-tests.sh /stress-tests.sh
|
||||||
|
|
||||||
CMD ["/stress-tests.sh"]
|
CMD ["/stress-tests.sh"]
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "Setting up stress tests..."
|
||||||
|
|
||||||
# CPU load
|
# CPU load
|
||||||
while true; do hackbench >/dev/null 2>&1; done &
|
while true; do hackbench >/dev/null 2>&1; done &
|
||||||
|
|
||||||
@ -9,9 +11,15 @@ while true; do find / -name a* >/dev/null 2>&1; done &
|
|||||||
|
|
||||||
# I/O load (USB read/write)
|
# I/O load (USB read/write)
|
||||||
if mount | grep /mnt/pendrive >/dev/null; then
|
if mount | grep /mnt/pendrive >/dev/null; then
|
||||||
cd /mnt/pendrive
|
if [ -e /mnt/pendrive/file.tar ]; then
|
||||||
tar -cf file.tar -C /var/log --exclude=lost+found -p .
|
cd /mnt/pendrive
|
||||||
while true; do rm -rf output; mkdir -p output; tar xfv file.tar -C output/ >/dev/null 2>&1; done &
|
tar -cf file.tar -C /var/log --exclude=lost+found -p .
|
||||||
|
while true; do rm -rf output; mkdir -p output; tar xfv file.tar -C output/ >/dev/null 2>&1; done &
|
||||||
|
else
|
||||||
|
echo "Warning: Archive file.tar not found in /mnt/pendrive. USB read/write stress test will not run."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Warning: pendrive not mounted. USB read/write stress test will not run."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# RTC read/write
|
# RTC read/write
|
||||||
@ -19,7 +27,15 @@ while true; do hwclock >/dev/null 2>&1; sleep 0.1; done &
|
|||||||
while true; do hwclock -w >/dev/null 2>&1; sleep 0.1; done &
|
while true; do hwclock -w >/dev/null 2>&1; sleep 0.1; done &
|
||||||
|
|
||||||
# Network load
|
# Network load
|
||||||
while true; do iperf3 -c bouygues.iperf.fr -P 10 >/dev/null 2>&1; done
|
if ! ping -q -c 1 -W 1 8.8.8.8 >/dev/null 2>&1; then
|
||||||
|
echo "Warning: could not ping 8.8.8.8. Internet may be unavailable to generate network load."
|
||||||
|
fi
|
||||||
|
while true; do
|
||||||
|
SERVERS="bouygues.iperf.fr speedtest.wtnet.de speedtest.iveloz.net.br iperf.scottlinux.com"
|
||||||
|
for s in $SERVERS; do
|
||||||
|
iperf3 -c $s -P 10 >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
done &
|
||||||
|
|
||||||
echo "RT stress tests started successfully!"
|
echo "RT stress tests started successfully!"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user