كلاود
أدلة

كيف تقيّم أداء سيرفرك: benchmark خطوة بخطوة

كلاود|١٩ فبراير ٢٠٢٦|4 دقائق قراءة|٤٧٧ مشاهدة
كيف تقيّم أداء سيرفرك: benchmark خطوة بخطوة

CPU مع sysbench، ذاكرة مع memtester، تخزين مع fio، شبكة مع iperf3. أرقام حقيقية — مو إحساس.

لماذا تقيس أداء السيرفر؟

قبل اختيار مزود استضافة أو ترقية مواصفات السيرفر، تحتاج إلى أرقام حقيقية. Benchmarking يعطيك إجابات موضوعية: هل هذا السيرفر يناسب تطبيقي؟ هل الترقية تستحق التكلفة؟ كيف يقارن بالسيرفرات الأخرى؟

هذا الدليل يغطي أدوات القياس المعيارية وكيفية تفسير النتائج.

قياس أداء المعالج (CPU)

Sysbench

# تثبيت sysbench
apt install sysbench -y

# اختبار المعالج الأحادي
sysbench cpu --threads=1 run

# اختبار متعدد الخيوط (يساوي عدد vCPU)
sysbench cpu --threads=4 run

مثال على نتيجة جيدة:

CPU speed:
 events per second: 2500+ ← قيمة جيدة لـ vCPU واحد

UnixBench

# تثبيت UnixBench
apt install git make gcc -y
git clone https://github.com/nicowillis/unixbench.git
cd unixbench && ./Run

# يعطي نقاط شاملة لكل جوانب الأداء

قياس أداء الذاكرة (RAM)

# sysbench للذاكرة
sysbench memory --memory-total-size=10G run

# نتيجة جيدة: > 10 GB/sec للقراءة
# اختبار بديل بـ dd
dd if=/dev/zero of=/dev/null bs=1M count=10240 2>&1 | tail -1

قياس أداء القرص الصلب (SSD)

اختبار القراءة التسلسلية

# fio - الأداة المعيارية لقياس أداء القرص
apt install fio -y

# قراءة تسلسلية
fio --name=seq-read \
 --rw=read \
 --bs=1M \
 --size=4G \
 --numjobs=1 \
 --runtime=60 \
 --group_reporting

# كتابة تسلسلية
fio --name=seq-write \
 --rw=write \
 --bs=1M \
 --size=4G \
 --numjobs=1 \
 --runtime=60 \
 --group_reporting

اختبار القراءة العشوائية (الأهم للـ databases)

# IOPS عشوائي - الأهم لقواعد البيانات
fio --name=rand-read \
 --rw=randread \
 --bs=4k \
 --size=4G \
 --numjobs=4 \
 --runtime=60 \
 --group_reporting \
 --iodepth=32

نتائج مرجعية

نوع القرص قراءة تسلسلية كتابة تسلسلية Random IOPS
SSD SATA 500-550 MB/s 400-500 MB/s 70K-100K
NVMe SSD 2,000-7,000 MB/s 1,000-5,000 MB/s 300K-1M
HDD 100-200 MB/s 80-150 MB/s 100-200

قياس أداء الشبكة

# تثبيت iperf3
apt install iperf3 -y

# على سيرفر الاختبار (server mode)
iperf3 -s

# على سيرفرك (client mode)
iperf3 -c server-ip -t 30

# اختبار سرعة التحميل من Internet
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3

# أو اختبار ping لمنطقتك
ping -c 20 riyadh-server-ip

اختبار Latency لمراكز كلاود

# Latency للرياض وجدة (من داخل السعودية)
ping -c 20 cloud.net.sa

# traceroute لفهم مسار الشبكة
traceroute cloud.net.sa
mtr cloud.net.sa # أفضل من traceroute

سيرفرات كلاود في الرياض وجدة تحقق latency زمن استجابة منخفض جداً لأغلب المستخدمين في السعودية.

قياس أداء الويب (HTTP Load Testing)

Apache Bench (ab)

# تثبيت
apt install apache2-utils -y

# 1000 طلب، 100 متزامن
ab -n 1000 -c 100 https://yoursite.com/

# مع headers مخصصة
ab -n 1000 -c 100 -H "Accept-Encoding: gzip" https://yoursite.com/api/data

wrk (أقوى من ab)

# تثبيت
apt install wrk -y

# 30 ثانية، 12 خيط، 400 اتصال متزامن
wrk -t12 -c400 -d30s https://yoursite.com/

# مع Lua script لطلبات POST
wrk -t12 -c400 -d30s -s post.lua https://yoursite.com/api

k6 (الأحدث والأقوى)

# تثبيت
apt install gnupg2 -y
gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg \
 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | \
 tee /etc/apt/sources.list.d/k6.list
apt update && apt install k6 -y
// load-test.js
import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
 stages: [
 { duration: '2m', target: 100 }, // ramp-up
 { duration: '5m', target: 100 }, // stay at 100
 { duration: '2m', target: 0 }, // ramp-down
 ],
};

export default function {
 const res = http.get('https://yoursite.com/');
 check(res, { 'status was 200': (r) => r.status === 200 });
 sleep(1);
}
k6 run load-test.js

تفسير النتائج

مقاييس HTTP المهمة

المقياس ممتاز جيد يحتاج تحسين
P50 Latency < 50ms < 100ms > 200ms
P95 Latency < 200ms < 500ms > 1s
P99 Latency < 500ms < 1s > 2s
Requests/sec > 1000 > 500 < 100
Error Rate 0% < 0.1% > 1%

سكريبت benchmark شامل

#!/bin/bash
# cloud-benchmark.sh - قياس شامل لسيرفر كلاود

echo "=== CPU Benchmark ==="
sysbench cpu --threads=$(nproc) run 2>&1 | grep "events per second"

echo ""
echo "=== Memory Benchmark ==="
sysbench memory --memory-total-size=5G run 2>&1 | grep "transferred"

echo ""
echo "=== Disk Sequential Read ==="
dd if=/dev/zero of=/tmp/testfile bs=1G count=2 2>&1 | tail -1

echo ""
echo "=== Disk Sequential Write ==="
dd if=/tmp/testfile of=/dev/null bs=1G 2>&1 | tail -1
rm /tmp/testfile

echo ""
echo "=== Network Latency ==="
ping -c 10 8.8.8.8 | tail -2
chmod +x cloud-benchmark.sh
./cloud-benchmark.sh

خلاصة

القياس المنهجي يعطيك حقائق بدل تخمينات. قبل الشكوى من بطء السيرفر، شغّل هذه الاختبارات وحدد أين الاختناق فعلاً. في أغلب الحالات، المشكلة ليست في السيرفر — بل في الكود أو قاعدة البيانات. على كلاود، الأداء موثق وقابل للقياس.


ابدأ الآن

تبي تجرب بنفسك؟ اختر باقة الاستضافة المناسبة أو صمم سيرفرك الخاص بالمواصفات اللي تبيها.

مشاركة