stress-test-setuplisted
Install: claude install-skill hiyabh/claude-skills
# Stress Test Setup
הפעל רק אחרי שלב תכנון מוצר/דרישות (למשל הסקיל `pre-build-setup`, אם קיים אצלך), ורק אם הפרויקט עומד באחד מהתנאים:
- Web app / API עם משתמשים חיים
- מערכת עם SLA לזמינות / latency
- צפי עומס > 100 RPS או > 1000 משתמשים חודשיים
- מוצר ייצור ציבורי
אם לא — דלג על הסקיל.
## רצף
### שלב 1: שלוף מספרי עומס
קרא `docs/PRD.md` סעיף 7 (אילוצים). חפש "משתמשים צפויים".
אם לא מופיע — שאל:
- RPS צפוי בשעת שיא?
- Peak concurrent users?
- יש SLA? (p95 latency, error rate, availability)
### שלב 2: Plan mode לסקלביליות
לפני כתיבת k6, הפעל plan mode לענות על:
- **Bottlenecks צפויים:** DB queries? External API? Compute? I/O?
- **Graceful degradation:** איך האפליקציה נופלת בחן? circuit breakers? fallback values?
- **Rate limiting:** על מה? (per IP, per user, per endpoint)
- **Caching:** מה יכול להישמר? TTL? cache invalidation?
שמור תשובות ב-`docs/scalability-plan.md`.
### שלב 3: צור תיקיית load tests
```
tests/load/
├── baseline.js # עומס רגיל — שעת שיא ממוצעת
├── spike.js # זינוק פתאומי — x5 מהעומס הרגיל לדקה
├── soak.js # עומס ממושך — עומס רגיל במשך שעה+ (shake memory leaks)
└── README.md # הוראות הרצה
```
### שלב 4: k6 scripts templates
**baseline.js:**
```javascript
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
stages: [
{ duration: '2m', target: 50 }, // warm up
{ duration: '5m', target: 100 }, // peak
{ duration: '2m', target: 0 }, // cool down
],
thresholds: {
htt