DiveWP Hosting Benchmark — подробно ръководство за Бета тестери

от | окт. 10, 2025 | Uncategorized

 

Свали Бета версията на diveWP Hosting Benchmark ТУК

*Това е БЕТА версия, тествайте само на тестови инсталации. За ползването на бета версията на production среда отговорността е ваша.

Съдържание (Table of Contents)


В този материал описвам подробно как работи DiveWP Hosting Benchmark — система за оценка на WordPress хостинг среди, специално проектирана да оценява производителността чрез четири основни категории: Database Tests, Resource Tests, Concurrency Tests и Performance Tests. Тук ще намерите пълно описание на всяка отделна проверка, метрики, алгоритъм за оценяване и начина, по който тези резултати се агрегираат в една окончателна оценка от 0 до 100.

Архитектура на тестовата система

Моята имплементация съдържа над 20 отделни теста, групирани в четири големи категории. Всеки тест е създаден да симулира реални WordPress/WooCommerce сценарии и да измери ключови показатели като operations per second, латентност, устойчивост и консистентност.

Основните категории са:

  • Database Tests — 8 теста, фокусирани върху CRUD и функции
  • Resource Tests — 5 теста за CPU, памет, файлови операции, мрежа и WordPress core
  • Concurrency Tests — 4 теста, които симулират многопотребителски натоварвания
  • Performance Tests — 3 теста, насочени към e-commerce логика (ценообразуване, доставка, инвентар)

1. Тестове на базата данни (Database Tests)

Всяка от следващите подтеми запазва техническите термини на английски (например INSERT, SELECT). Описвам целта, техническата реализация, симулацията на реални сценарии и факторите за оценяване.

1.1 Data Creation (INSERT Operations)

Цел: Измерване на скоростта и устойчивостта при писане в базата данни.

Техническа реализация

Създавам временни таблици, имитиращи WordPress структура — products и meta. Тестът изпълнява:

  • 1,000 products + 5,000 meta записи × 5 итерации = 30,000 операции
  • Измерване: operations per second е основната метрика

Симулация в реални условия

Симулирам масово добавяне на WooCommerce продукти с мулти-мета данни — ситуация, характерна за миграции, първоначално зареждане на магазин или импорти.

Фактори за оценяване

Оценявам: ops/sec, използване на паметта и процент на грешки при масови операции.

1.2 Data Retrieval (SELECT Operations)

Цел: Тест на четене и ефективност на заявки.

Техническа реализация

  • 2,500 complex queries × 5 итерации = 12,500 заявки
  • Видове заявки: category listings, product searches, complex WHERE clauses
  • Измерване: queries per second

Симулация

Тези тестове пресъздават поведение при разглеждане на каталог, търсене на продукти и филтриране.

1.3 Data Updates (UPDATE Operations)

Цел: Оценка на производителността при промени в данните.

Техническа реализация

  • 200 update операции × 5 итерации = 1,000 обновления
  • Фокус: bulk updates, transaction handling
  • Измерване: updates per second

Симулация

Промени в наличности, статуси на поръчки и сценарии на масови ъпдейти (inventory management).

1.4 Crypto Functions Test

Цел: Измерване на криптографски операции — hashing и шифроване.

Техническа реализация

  • 1,000 encryption/hash операции (single run)
  • Тестови функции: MD5, SHA1, password hashing
  • Метрика: криптографски операции/секунда

Роля за сигурността

Тези операции са важни за performance impact при e-commerce и authentication flows.

1.5 Math Functions Test

Цел: Тест на CPU-интензивни математически операции.

Техническа реализация

  • 5,000 математически изчисления (single run)
  • Функции: тригонометрия, логаритми, експоненциални изчисления
  • Метрика: math ops/sec

Практическо значение

Важни за ценообразуване, tax calculations и други CPU-интензивни операции.

1.6 String Functions Test

Цел: Оценка на текстова обработка и манипулации.

Техническа реализация

  • 3,000 string операции (single run)
  • Операции: concatenation, replacement, manipulation
  • Метрика: string ops/sec

Приложение

Този тест симулира обработка на съдържание, SEO операции и големи текстови манипулации.

1.7 DateTime Functions Test

Цел: Производителност при обработка на дати и времена.

Техническа реализация

  • 5,000 datetime операции (single run)
  • Операции: date calculations, formatting, comparisons
  • Метрика: datetime ops/sec

Значение за бизнесa

Критично за поръчки, планиране и аналитични задачи.

1.8 Aggregate Functions Test

Цел: Изпитване на производителността при агрегиране и статистики.

Техническа реализация

  • 100 aggregate операции върху 1,000 реда (single run)
  • Функции: SUM, COUNT, AVG, GROUP BY
  • Метрика: aggregation ops/sec

Влияние

Критично за dashboards, отчети и аналитични интерфейси.

2. Resource Tests (5 Individual Tests)

2.1 CPU Performance Tests

Цел: Комплексна оценка на CPU възможностите.

Техническа реализация — компоненти

  • Prime Generation: 200,000+ изчисления с откриване на throttling
  • Mathematical Operations: matrix ops, trig, log
  • Fibonacci Sequences: рекурсивни алгоритми + memoization
  • String Processing: обработка на 100KB+ текст
  • Array Operations: сортиране/филтриране на 30,000 елемента

Разширени възможности

Включвам throttling detection (откриване на намалена производителност с течение на времето), оценка на performance consistency и анализ на ограничения в shared hosting среди.

Система за наказания / бонуси

Тук прилагам наказания за throttling, timeout-и и бонуси за стабилност — това има изразен ефект върху крайния резултат.

2.2 Memory Tests

Цел: Оценка на алокация и управление на паметта.

Техническа реализация

  • Тестване на лимити за алокация
  • Измерване на peak usage и efficiency
  • Проверки за memory leaks чрез многократни итерации

2.3 File I/O Tests

Цел: Производителност на файловата система.

Техническа реализация

  • Small files: 100 operations (логове, cache)
  • Medium files: 50 operations (uploads, plugins)
  • Large files: 10 operations (backups, exports)
  • Concurrent I/O: 25 паралелни операции

Симулация

Тестовете пресъздават upload speed, backup/restore операции и обща filesystem responsiveness.

2.4 Network Tests

Цел: Проверка на свързаност и надеждност на мрежата.

Техническа реализация

  • Проверки към WordPress.org API
  • Измерване на HTTP response times
  • Анализ на connection success rates и latency

2.5 WordPress Core Tests

Цел: Измерване на WordPress-специфични операции.

Техническа реализация

  • Shortcode Processing: 100 shortcodes × 8 итерации
  • Hook Execution: 500 hooks × 8 итерации
  • Transient Operations: 200 cache operations × 8 итерации
  • Security Functions: 1,000 validations × 8 итерации

Контекст

Тези тестове помагат да оценя как конкретна среда се държи при реални WordPress натоварвания — plugin/theme interactions и transient cache patterns.

3. Concurrency Tests (4 Individual Tests)

3.1 Database Concurrency

Цел: Измерване на производителността при едновременни DB операции.

Техническа реализация

  • Симулация на 495 едновременни DB операции
  • Смесени read/write операции
  • Метрика: average response time под concurrent load

Симулация и значение

Това възпроизвежда множество потребители, които едновременно четат и пишат — ситуациите, при които locking/transactions са критични.

3.2 HTTP Concurrency

Цел: Тест на обработка на HTTP заявки под натоварване.

Техническа реализация

  • 8 паралелни HTTP заявки
  • Тестване на WordPress.org API endpoints
  • Метрика: response time consistency

3.3 Memory Concurrency

Цел: Оценка на управление на паметта при конкуриращи се процеси.

Техническа реализация

  • Симулация на 96 конкуриращи се memory processes
  • Измерване на memory allocation success under stress

3.4 File Concurrency

Цел: Тест на файлови операции при едновременен достъп.

Техническа реализация

  • 320 concurrent file operations
  • Тестване на file locking, access patterns
  • Метрика: I/O performance under load

4. Performance Tests (3 Individual Tests)

4.1 Price Calculations

Цел: Производителност на търговската логика за ценообразуване.

Техническа реализация

  • 2,500 complex pricing calculations × 15 итерации
  • Тестове: tax calculations, discount logic, currency conversion
  • Метрика: calculations per second

4.2 Shipping Calculations

Цел: Производителност при изчисляване на доставка.

Техническа реализация

  • 1,250 shipping rate calculations × 15 итерации
  • Тестови сценарии: zone-based rates, weight, distance
  • Метрика: processing speed

4.3 Inventory Operations

Цел: Оценка на операции по наличности.

Техническа реализация

  • 1,500 stock level checks × 15 итерации
  • Тестове: inventory updates, availability checks
  • Метрика: operation speed

Методология за оценяване (Scoring Methodology)

Описвам подробно как агрегирана оценка се формира от отделните тестови резултати и как се интерпретират стойностите.

Обща схема на оценяването

Резултатите се комбинират чрез weighted scoring system, за да се получи една окончателна оценка в диапазона 0–100. Категориите имат следното тегло:

  • Database Tests: 35%
  • Resource Tests: 30%
  • Concurrency Tests: 20%
  • Performance Tests: 15%

Рейтинг прагове

Крайният резултат се превръща в рейтинг по схемата:

  • Excellent: 90–100
  • Good: 70–89
  • Fair: 50–69
  • Poor: 30–49
  • Critical: 0–29

Database Tests — детайлно оценяване (35% weight)

Всеки DB тест е оценен на база operations per second и има следното разпределение вътре в категорията:

  • INSERT: 12% от категорията
  • SELECT: 12% от категорията
  • UPDATE: 11% от категорията
  • Function Tests (Crypto, Math, String, DateTime, Aggregate): общо 10% (разпределени по 2% за всяка)

Скали за оценяване (пример)

INSERT Operations (12%):

  • Excellent: >500 ops/sec → 100 points
  • Good: 300–500 → 75–99
  • Fair: 150–299 → 50–74
  • Poor: 50–149 → 25–49
  • Critical: <50 → 0–24

SELECT Operations (12%):

  • Excellent: >800 ops/sec → 100
  • Good: 500–800 → 75–99
  • Fair: 250–499 → 50–74
  • Poor: 100–249 → 25–49
  • Critical: <100 → 0–24

UPDATE Operations (11%):

  • Excellent: >200 ops/sec → 100
  • Good: 120–200 → 75–99
  • Fair: 60–119 → 50–74
  • Poor: 20–59 → 25–49
  • Critical: <20 → 0–24

Function Tests (Crypto/Math/String/DateTime/Aggregate — всяка с ~2%):

  • Excellent: >1,000 ops/sec → 100
  • Good: 600–1,000 → 75–99
  • Fair: 300–599 → 50–74
  • Poor: 100–299 → 25–49
  • Critical: <100 → 0–24

Агрегиране на Database Score

Database Score = (INSERT × 0.12) + (SELECT × 0.12) + (UPDATE × 0.11) +
                (Crypto × 0.02) + (Math × 0.02) + (String × 0.02) +
                (DateTime × 0.02) + (Aggregate × 0.02)

Resource Tests — детайлно оценяване (30% weight)

Resource категорията е разделена между CPU, Memory, File I/O, Network и WordPress core тестове.

CPU Tests (15% от категорията)

Скала (time-based):

  • Excellent: ≤3.0s → 90–100
  • Good: 3.1–6.0s → 75–89
  • Fair: 6.1–12.0s → 50–74
  • Poor: 12.1–20.0s → 25–49
  • Critical: >20.0s → 0–24

Penalties:

  • Throttling Detection: -15 points
  • Timeout: -10 points/тест
  • Consistency: до -14 точки
  • Completion Rate: до -20 точки

Останали Resource Tests (15% разпределени)

  • Memory Tests (5%): Excellent: >95% allocation success → 100
  • File I/O (5%): Excellent: >200 ops/sec → 100
  • Network (3%): Excellent: <0.5s response → 100
  • WordPress Tests (2%): Excellent: >500 ops/sec → 100

Агрегиране на Resource Score

Resource Score = (CPU × 0.15) + (Memory × 0.05) + (File I/O × 0.05) +
                (Network × 0.03) + (WordPress × 0.02)

Concurrency Tests — детайлно оценяване (20% weight)

В Concurrency категорията оценявам database, HTTP, memory и file concurrency.

Индивидуални тежести и скали

  • Database Concurrency (8%):
    • Excellent: <2.0s avg response → 100
    • Good: 2.0–4.0s → 75–99
    • Fair: 4.1–8.0s → 50–74
    • Poor: 8.1–15.0s → 25–49
    • Critical: >15.0s → 0–24
  • HTTP Concurrency (6%): Excellent: <1.0s → 100
  • Memory Concurrency (4%): Excellent: >90% success → 100
  • File Concurrency (2%): Excellent: >150 ops/sec → 100

Агрегиране на Concurrency Score

Concurrency Score = (Database × 0.08) + (HTTP × 0.06) +
                   (Memory × 0.04) + (File × 0.02)

Performance Tests — детайлно оценяване (15% weight)

Индивидуални тежести

  • Price Calculations (6%): Excellent: >400 ops/sec → 100
  • Shipping Calculations (5%): Excellent: >300 ops/sec → 100
  • Inventory Operations (4%): Excellent: >350 ops/sec → 100

Агрегиране на Performance Score

Performance Score = (Price × 0.06) + (Shipping × 0.05) + (Inventory × 0.04)

Финална оценка и интерпретация

Обединяване на категориите

Крайният резултат се изчислява като претеглено средно:

Final Score = (Database × 0.35) + (Resource × 0.30) +
              (Concurrency × 0.20) + (Performance × 0.15)

Интерпретация на резултатите

  • 90–100 (Excellent): Подходящ за high-traffic e-commerce, premium VPS/dedicated
  • 70–89 (Good): Качествен VPS или managed hosting — адекватно за повечето WooCommerce магазини
  • 50–69 (Fair): Стандартен shared хостинг или entry VPS — възможни проблеми при пик натоварване
  • 30–49 (Poor): Ограничен shared хостинг — силно препоръчвам ъпгрейд
  • 0–29 (Critical): Сериозни ограничения — незабавен ъпгрейд е необходим

Допълнителни характеристики на алгоритъма

1. Throttling Detection

Вградих механизъм, който анализира деградация на производителността във времето и прилага наказателни точки на хостове, които видимо „разреждат“ CPU/memory за да прикрият натоварване. Това е особено важно при shared hosting, където providers могат да ограничат процесите.

2. Consistency Scoring

Оценявам не само средната стойност, но и вариацията между итерациите. Стабилността е ценена чрез бонуси; силни колебания водят до наказания.

3. Completion Rate Analysis

Ако тестове не успяват да завършат или връщат грешки, това директно намалява крайния резултат чрез метрики за completion rate.

4. Error Rate Monitoring

Следя и грешките в базата/системата по време на изпълнение — повишен error rate означава по-ниска надеждност и съответно по-ниски оценки.

Performance Thresholds — обобщение

  • INSERT: 500+ ops/sec = Excellent
  • SELECT: 800+ ops/sec = Excellent
  • UPDATE: 200+ ops/sec = Excellent
  • CPU: ≤3.0s = Excellent
  • Memory: >95% allocation success = Excellent
  • File I/O: >200 ops/sec = Excellent
  • Concurrency DB: <2.0s = Excellent
  • HTTP Concurrency: <1.0s = Excellent
  • Price Calculations: >400 ops/sec = Excellent
  • Shipping Calculations: >300 ops/sec = Excellent
  • Inventory Operations: >350 ops/sec = Excellent

Изпълнение на тестовете и времеви рамки

Оценки за продължителност на тестовете (приблизителни):

  • Database Tests: 30–90 секунди
  • Resource Tests: 45–120 секунди
  • Concurrency Tests: 20–60 секунди
  • Performance Tests: 25–75 секунди
  • Общо примерно време: 4–6 минути

Механизми за безопасност

  • 90% Time Limit: Тестовете използват 90% от PHP max_execution_time за да избегнат premature termination на средата.
  • Error Threshold: Автоматично прекратяване след 5 последователни грешки.
  • Memory Monitoring: Следя peak usage и прекъсвам при риск от OOM.
  • Timeout Protection: Всеки тест има индивидуален timeout и се отчита като incomplete, ако бъде прекъснат.

Заключение

В тази имплементация на DiveWP Hosting Benchmark съм се фокусирал върху три основни принципа: реалистична симулация на WordPress/WooCommerce сценарии, строга, но прозрачна методология за оценяване и детектиране на практики като throttling, които фалшифицират реалната производителност. Комбинацията от над 20 теста, ясно претеглени категории и система за наказания/бонуси дава практически и експлоатационно полезни резултати, които могат да служат като обективен ориентир при избор на хостинг или оптимизация на съществуваща среда.

 

Официален сайт: DiveWP.com

Още от Олег Петров: