Compare commits
1 Commits
main
..
46a048ade6
| Author | SHA1 | Date | |
|---|---|---|---|
| 46a048ade6 |
@@ -166,7 +166,6 @@ ORDER BY A.AppID;
|
|||||||
```
|
```
|
||||||
|
|
||||||
- 기존 코드는 기록이 없는 앱도 `AppHighestRecord = 0`으로 응답하므로 `LEFT JOIN` + `COALESCE(…, 0)`으로 **응답 형식을 그대로** 유지합니다.
|
- 기존 코드는 기록이 없는 앱도 `AppHighestRecord = 0`으로 응답하므로 `LEFT JOIN` + `COALESCE(…, 0)`으로 **응답 형식을 그대로** 유지합니다.
|
||||||
- ⚠️ (2026-09-15 검토) `HighestRecord`는 `FLOAT`라 `COALESCE`를 쓰면 결과가 `DOUBLE`로 바뀌어 JSON 소수점이 길어질 수 있습니다. 실제 구현은 `MAX(...) GROUP BY`로 조회하고 0은 PHP에서 채웠습니다.
|
|
||||||
- `get_typing_practice_app_list()`와 조건(`AppType = ? AND Status = 1`)이 같으므로 두 조회를 합쳐 앱 이름까지 한 번에 가져올 수도 있습니다.
|
- `get_typing_practice_app_list()`와 조건(`AppType = ? AND Status = 1`)이 같으므로 두 조회를 합쳐 앱 이름까지 한 번에 가져올 수도 있습니다.
|
||||||
- 안1의 UNIQUE 키 `(MaestroID, PlayerID, AppID)`가 있으면 `LEFT JOIN` 한 건당 인덱스 1회 탐색입니다.
|
- 안1의 UNIQUE 키 `(MaestroID, PlayerID, AppID)`가 있으면 `LEFT JOIN` 한 건당 인덱스 1회 탐색입니다.
|
||||||
|
|
||||||
@@ -275,8 +274,8 @@ function build_period_condition($column, $period, $date, $time) {
|
|||||||
|
|
||||||
| 파일 | 내용 | 수정 |
|
| 파일 | 내용 | 수정 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| [typing_exam_collection.php](../../../src/web/php/db/typing_exam_collection.php) `getHighestRecordArrayForAllWriting()` | `bind_param("iii", …)`에 값 2개 | 호출처가 있으면 `"ii"`, 없으면 함수 삭제 → (2026-09-15) 호출처 없음, `"ii"`로 수정하고 함수는 유지 |
|
| [typing_exam_collection.php](../../../src/web/php/db/typing_exam_collection.php) `getHighestRecordArrayForAllWriting()` | `bind_param("iii", …)`에 값 2개 | 호출처가 있으면 `"ii"`, 없으면 함수 삭제 |
|
||||||
| `server/record/*.php` 여러 파일 | `if($replyJSON.length === 0)` (PHP에서는 항상 거짓) | **if 블록 삭제**. `count(...) === 0`으로 고치면 분기 안의 `send_error_message()`(정의되지 않은 함수)가 실행되어 Fatal error 발생 |
|
| `server/record/*.php` 여러 파일 | `if($replyJSON.length === 0)` (PHP에서는 항상 거짓) | `count(...) === 0`으로 수정하거나 불필요하면 삭제 |
|
||||||
| [request_license_timer_player_record_list.php](../../../src/web/server/record/request_license_timer_player_record_list.php) | 종료일 당일 기록 누락, 존재하지 않는 `LS.AppID` 참조 | 3-1 패턴으로 재작성 |
|
| [request_license_timer_player_record_list.php](../../../src/web/server/record/request_license_timer_player_record_list.php) | 종료일 당일 기록 누락, 존재하지 않는 `LS.AppID` 참조 | 3-1 패턴으로 재작성 |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -343,15 +342,11 @@ function build_period_condition($column, $period, $date, $time) {
|
|||||||
|
|
||||||
## 8. 체크리스트
|
## 8. 체크리스트
|
||||||
|
|
||||||
- [x] **기록 목록 API 3종: 바인딩 전환, COUNT 유지, LIMIT 상한 없이, 종료일 통일** (2026-09-15 완료)
|
- [ ] 기록 목록 API 3종: 바인딩 전환, COUNT 제거, 상한, 종료일 통일
|
||||||
- request_app_player_record_list.php ✅
|
- [ ] 기록 목록 화면: 상한 안내 / 페이지
|
||||||
- request_writing_player_record_list.php ✅
|
|
||||||
- request_license_timer_player_record_list.php ✅
|
|
||||||
- [ ] 기록 목록 화면: 상한 안내 / 페이지 (생략)
|
|
||||||
- [ ] 변경 전후 검색 결과 건수 비교, SQL Injection 입력 테스트
|
- [ ] 변경 전후 검색 결과 건수 비교, SQL Injection 입력 테스트
|
||||||
- [ ] ~~랭킹 기간 조건 공용 함수 (안1 작업과 함께)~~ — **보류** (2026-09-15): 날짜 조건은 커밋 629c8ff에서 12곳 모두 인덱스 적용 형태로 이미 수정됨. 회귀 위험 대비 이득이 작음
|
- [ ] 랭킹 기간 조건 공용 함수 (안1 작업과 함께)
|
||||||
- [x] **메뉴 N+1 제거 — 새 메뉴 경로** (2026-09-15 코드 완료): `menu_collection.php`, `writing_collection.php`, `menu_list.php`
|
- [ ] 메뉴 N+1 제거 (연습·테스트, `menu_collection.php`, `writing_collection.php`)
|
||||||
- [ ] 메뉴 N+1 제거 — 옛 메뉴 `server/app/menu_active_typing_*_app_list.php` (범위 제외, 테스트 계정 경로에서만 사용)
|
- [ ] 작은 버그 3종
|
||||||
- [x] **작은 버그** (2026-09-15 코드 완료): `.length` if 블록 삭제 13개 파일(추가 발견 4개 포함), `history_record.php` 미정의 변수 push 삭제, `getHighestRecordArrayForAllWriting()` `"ii"` 수정(함수 유지). 라이선스 타이머 `AppID` 참조는 유지
|
- [ ] (측정 후 필요 시) 랭킹 캐시 + 저장 시 무효화
|
||||||
- [ ] (측정 후 필요 시) 랭킹 캐시 + 저장 시 무효화 — **이번 작업에서 제외** (2026-09-15, 적용 후 측정해서 재검토)
|
- [ ] `ranking` 테이블 처리 결정 (캐시 재활용 또는 삭제)
|
||||||
- [ ] `ranking` 테이블 처리 결정 (캐시 재활용 또는 삭제) — 랭킹 캐시와 함께 보류
|
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
# AWS에서 MariaDB 분리 검토 가이드
|
# AWS에서 MariaDB 분리 검토 가이드
|
||||||
|
|
||||||
> 웹 서버와 DB 서버를 분리할 때의 비용, 성능, 구현 고려사항 분석
|
> 웹 서버와 DB 서버를 분리할 때의 비용, 성능, 구현 고려사항 분석
|
||||||
> - 작성일: 2026-09-15 / 최종 수정: 2026-09-16 (2장에 CPU 크레딧 원인 추가)
|
> - 작성일: 2026-09-15
|
||||||
> - 현재 환경: AWS EC2 t3a.medium (Apache + PHP + Phaser + MariaDB 함께 운영)
|
> - 현재 환경: AWS EC2 t3a.medium (Apache + PHP + Phaser + MariaDB 함께 운영)
|
||||||
> - 문제: 동시접속 150~200명 초과 시 10초 멈춤
|
> - 문제: 동시접속 150~200명 초과 시 10초 멈춤
|
||||||
> - 이 문서는 **의사결정 가이드**입니다. DB 분리는 선택사항이며, 우선순위는 **안1~5 적용 후**입니다.
|
> - 이 문서는 **의사결정 가이드**입니다. DB 분리는 선택사항이며, 우선순위는 **안1~5 적용 후**입니다.
|
||||||
>
|
|
||||||
> ⚠️ **2026-09-16 갱신:** 초판의 2장은 10초 멈춤의 원인을 "DB와 PHP의 리소스 경쟁" 두 가지로만
|
|
||||||
> 설명했으나, **인스턴스 CPU 크레딧 소진**이라는 세 번째 원인이 빠져 있었습니다.
|
|
||||||
> 2026-04-14 인스턴스 업그레이드의 실제 사유가 이것입니다. 2-0절에 추가했습니다.
|
|
||||||
> 관련 실측: [260916-load-and-capacity-check/01-web-tier-analysis.md](260916-load-and-capacity-check/01-web-tier-analysis.md)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -27,63 +22,6 @@
|
|||||||
|
|
||||||
## 2. 원인 분석: 10초 멈춤은 왜?
|
## 2. 원인 분석: 10초 멈춤은 왜?
|
||||||
|
|
||||||
10초 멈춤의 후보 원인은 **세 가지**입니다. 초판은 2-1(리소스 경쟁)만 다뤘습니다.
|
|
||||||
|
|
||||||
| # | 원인 | 계층 | 현재 상태 (2026-09-16 실측) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 2-0 | **인스턴스 CPU 크레딧 소진** | 인프라 | ✅ 해소 — 재현 안 됨 |
|
|
||||||
| 2-1 | DB·PHP 리소스 경쟁 | 애플리케이션 | ✅ 대폭 개선 (인덱스 적용) |
|
|
||||||
| 2-2 | Apache 워커 고갈 | 웹 서버 | ✅ 여유 — 피크 busy 204 / 400 (51%) |
|
|
||||||
|
|
||||||
### 2-0. 인스턴스 CPU 크레딧 소진 (2026-04-14 장애의 실제 원인)
|
|
||||||
|
|
||||||
t 계열(`t2`/`t3`/`t3a`)은 **버스터블** 인스턴스입니다. 베이스라인을 넘는 CPU 사용은 적립된
|
|
||||||
크레딧으로 충당하고, 크레딧이 바닥나면 **Standard 모드에서는 베이스라인까지 강제로 조여집니다.**
|
|
||||||
|
|
||||||
```
|
|
||||||
동시 접속 증가
|
|
||||||
→ Apache MaxRequestWorkers 가 감당 못 함
|
|
||||||
→ 서버 waiting 과 CPU steal 급등
|
|
||||||
→ CPU 크레딧 소진
|
|
||||||
→ 베이스라인으로 스로틀링 → 약 10초간 무응답
|
|
||||||
```
|
|
||||||
|
|
||||||
게스트 OS 안에서는 이 스로틀링이 `vmstat` 의 `st`(steal) 컬럼 급등으로 나타나고,
|
|
||||||
CloudWatch 에서는 `CPUCreditBalance` 가 0에 붙는 것으로 나타납니다.
|
|
||||||
**이것이 2026-04-14 인스턴스 업그레이드를 하게 된 직접적인 사유입니다.**
|
|
||||||
|
|
||||||
**중요한 점은 이 원인이 DB 분리로 해결되지 않는다는 것입니다.** DB를 RDS로 빼내도
|
|
||||||
웹 서버 인스턴스의 크레딧 구조는 그대로 남습니다.
|
|
||||||
|
|
||||||
#### 현재 상태: 재현되지 않음 ✅
|
|
||||||
|
|
||||||
피크 시간대(12:50~15:00) vmstat 779개 샘플 실측입니다.
|
|
||||||
원본: [260916-load-and-capacity-check/result/peaktime_steal_summary.txt](260916-load-and-capacity-check/result/peaktime_steal_summary.txt)
|
|
||||||
|
|
||||||
| | 9/14 (인덱스 개선 전) | 9/15 (개선 전) | 9/16 (개선 후) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| steal 평균 | 0.003% | 0.021% | 0.010% |
|
|
||||||
| steal 최대 | 1% | 2% | 1% |
|
|
||||||
| us+sy 평균 | 13.50% | 9.48% | **2.79%** |
|
|
||||||
| 베이스라인(20%) 초과 샘플 | 109개 (14.0%) | 65개 (8.3%) | **1개 (0.1%)** |
|
|
||||||
|
|
||||||
`t3a.medium` 의 크레딧 베이스라인은 인스턴스 전체 CPU의 **20%** 이고, 이는 `vmstat` 의
|
|
||||||
`us+sy` 20% 와 같은 값입니다. 인덱스 개선 전에도 피크 평균이 13.5% 로 베이스라인 미만이었으므로
|
|
||||||
**피크 시간에도 크레딧은 순증하고 있었습니다.** 개선 후에는 2.79% 로 사실상 무관해졌습니다.
|
|
||||||
|
|
||||||
t2.micro 시절과 비교하면 여유가 십수 배 늘어난 것이 원인입니다.
|
|
||||||
|
|
||||||
| | t2.micro (2026-04 이전) | t3a.medium (현재) |
|
|
||||||
|---|---|---|
|
|
||||||
| vCPU / 메모리 | 1 / 1GB | 2 / 4GB |
|
|
||||||
| 크레딧 베이스라인 | 10% | 20% |
|
|
||||||
| 시간당 크레딧 (최대 적립) | 6 (144) | 24 (576) |
|
|
||||||
|
|
||||||
> 미확인: 이 인스턴스의 크레딧 모드가 **Unlimited 인지 Standard 인지** 확인이 필요합니다.
|
|
||||||
> T3 계열 기본값은 Unlimited(스로틀 대신 초과분 과금)지만, t2 에서 마이그레이션한 경우
|
|
||||||
> Standard 로 넘어왔을 수 있습니다. Standard 라면 위 장애 경로가 이론상 아직 살아 있습니다.
|
|
||||||
> 확인: AWS 콘솔 → EC2 → 인스턴스 → 크레딧 사양, 또는 CloudWatch `CPUSurplusCreditsCharged`.
|
|
||||||
|
|
||||||
### 2-1. 리소스 경쟁 구조
|
### 2-1. 리소스 경쟁 구조
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -116,57 +54,6 @@ t2.micro 시절과 비교하면 여유가 십수 배 늘어난 것이 원인입
|
|||||||
|
|
||||||
→ DB만 분리해서는 부분적 개선만 가능
|
→ DB만 분리해서는 부분적 개선만 가능
|
||||||
|
|
||||||
#### 2026-09-16 갱신: DB 측은 해소됨 ✅
|
|
||||||
|
|
||||||
9/15 인덱스·쿼리 개선 적용 후 피크 CPU가 크게 떨어졌습니다.
|
|
||||||
|
|
||||||
| 지표 | 9/15 (개선 전) | 9/16 (개선 후) | 변화 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 피크 us+sy 평균 | 9.49% | 2.80% | 3.4배 ↓ |
|
|
||||||
| 기록 1,000건당 CPU | 379.8초 | 100.3초 | 3.8배 ↓ |
|
|
||||||
| 디스크 읽기 bi 평균 | 60.5 | 17.4 | 3.5배 ↓ |
|
|
||||||
|
|
||||||
출처: [260915-improve-production/result/peaktime_vmstat_summary.txt](260915-improve-production/result/peaktime_vmstat_summary.txt)
|
|
||||||
|
|
||||||
### 2-3. Apache 워커 고갈 (웹 계층)
|
|
||||||
|
|
||||||
prefork MPM 에서는 워커(자식 프로세스)가 **요청 처리 중**만이 아니라 **TCP 연결이 열려 있는
|
|
||||||
내내** 점유됩니다. `KeepAliveTimeout` 동안 아무 일도 안 하면서 연결만 붙잡습니다.
|
|
||||||
실측에서 busy 워커의 70~80%가 이 KeepAlive 대기 상태였습니다.
|
|
||||||
|
|
||||||
현재 설정과 실부하입니다.
|
|
||||||
|
|
||||||
| 항목 | 값 |
|
|
||||||
|---|---|
|
|
||||||
| MPM / PHP | prefork / mod_php (PHP-FPM 아님) |
|
|
||||||
| `MaxRequestWorkers` / `ServerLimit` | 400 / 400 |
|
|
||||||
| `KeepAliveTimeout` | 5초 |
|
|
||||||
| HTTP/2 | 미적용 (브라우저가 origin당 연결 최대 6개) |
|
|
||||||
| 평균 요청률 | 3.55 req/s |
|
|
||||||
| 평균 응답 시간 | 15.4 ms |
|
|
||||||
| Apache CPU 점유 | 코어 1개의 **0.42%** |
|
|
||||||
| Apache 메모리 (PSS 합계) | 14프로세스 **29MB** |
|
|
||||||
| `max_connections` / `Max_used_connections` | 151 / **27** |
|
|
||||||
|
|
||||||
#### 2026-09-17 피크 측정 결과 ✅
|
|
||||||
|
|
||||||
수업 시간(12:50~15:00) 780샘플 실측입니다.
|
|
||||||
|
|
||||||
| 항목 | 값 | 상한 대비 |
|
|
||||||
|---|---|---|
|
|
||||||
| busy 워커 최대 | **204** | `MaxRequestWorkers` 400의 51% |
|
|
||||||
| 요청률 최대 | 132 req/s | 4일 평균(3.55)의 37배 |
|
|
||||||
| `K`(KeepAlive 대기) | busy 의 **69%** | |
|
|
||||||
| `Max_used_connections` | 27 | `max_connections` 151의 18% |
|
|
||||||
| us+sy 최대 / steal 최대 | 9% / **0%** | 크레딧 베이스라인 초과 0샘플 |
|
|
||||||
|
|
||||||
**웹 계층도 상한 대비 여유입니다.** 워커 수요는 `busy ≈ 1.74 × req/s` 로, 400 포화점은
|
|
||||||
약 230 req/s 입니다(실측 피크의 1.74배).
|
|
||||||
|
|
||||||
`MaxRequestWorkers 400` 은 근거 있는 설정이며 **변경 불필요**합니다.
|
|
||||||
|
|
||||||
상세: [260916-load-and-capacity-check/01-web-tier-analysis.md](260916-load-and-capacity-check/01-web-tier-analysis.md)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. 비용 분석: 분리하면 저렴할까?
|
## 3. 비용 분석: 분리하면 저렴할까?
|
||||||
@@ -232,21 +119,6 @@ prefork MPM 에서는 워커(자식 프로세스)가 **요청 처리 중**만이
|
|||||||
|
|
||||||
**결론:** DB 분리만으로는 **완전 해결 불가**. 인덱스+쿼리 최적화(안1) 필수.
|
**결론:** DB 분리만으로는 **완전 해결 불가**. 인덱스+쿼리 최적화(안1) 필수.
|
||||||
|
|
||||||
#### 2026-09-16 갱신
|
|
||||||
|
|
||||||
안1은 9/15 운영 적용을 마쳤고, 효과가 확인됐습니다(2-2절). 그리고 2-0절에서 드러났듯
|
|
||||||
**10초 멈춤의 원인 중 하나는 애초에 DB 계층이 아니라 인스턴스 CPU 크레딧이었습니다.**
|
|
||||||
|
|
||||||
세 원인을 DB 분리가 각각 어떻게 다루는지 정리하면 이렇습니다.
|
|
||||||
|
|
||||||
| 원인 | DB 분리로 해결되나? | 실제 해결 수단 |
|
|
||||||
|---|---|---|
|
|
||||||
| 2-0 CPU 크레딧 소진 | ❌ 전혀. 웹 인스턴스 구조는 그대로 | 인스턴스 사양 상향 (2026-04-14 완료) |
|
|
||||||
| 2-1 DB·PHP 리소스 경쟁 | ⭕ 부분적 | 인덱스·쿼리 개선 (2026-09-15 완료) |
|
|
||||||
| 2-2 Apache 워커 고갈 | ❌ 전혀. 웹 계층 문제 | MPM·KeepAlive 튜닝 (미측정) |
|
|
||||||
|
|
||||||
**세 원인 중 DB 분리가 유효한 것은 하나뿐이고, 그 하나는 이미 비용 0원으로 해결됐습니다.**
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 5. 권장 순서: 안1~5를 먼저 적용하세요
|
## 5. 권장 순서: 안1~5를 먼저 적용하세요
|
||||||
@@ -533,34 +405,17 @@ docker restart chocomae-mariadb
|
|||||||
|
|
||||||
## 9. 체크리스트
|
## 9. 체크리스트
|
||||||
|
|
||||||
### 완료 (2026-09-15 ~ 09-16)
|
|
||||||
|
|
||||||
- [x] 안1 (인덱스+쿼리) 문서 읽기: `02-option1-index-and-query-rewrite.md`
|
|
||||||
- [x] 스테이징 DB에서 안1 테스트 (EXPLAIN 전/후) — [260915-improve-stage](260915-improve-stage/)
|
|
||||||
- [x] 성능 향상 확인 후 운영 적용 (9/15 23:00) — [260915-improve-production](260915-improve-production/07-post-analysis.md)
|
|
||||||
- [x] 안5 일부 (N+1, SQL Injection) 문서 읽기: `06-option5-application-layer.md`
|
|
||||||
- [x] 추가 성능 향상 측정 — 피크 CPU 3.4배 감소, 기록 1,000건당 CPU 3.8배 감소
|
|
||||||
- [x] CPU 크레딧·steal 재검증 — 재현 안 됨 (2-0절)
|
|
||||||
- [x] 웹 계층(Apache) 평상시 부하 측정 — CPU 0.42%, 메모리 29MB (2-3절)
|
|
||||||
|
|
||||||
- [x] 2026-09-17 피크 모니터링 (워커 버스트 판정) — busy 최대 204/400, 여유 확인
|
|
||||||
- [x] `MaxRequestWorkers` 판정 — 400 적정, 변경 불필요
|
|
||||||
|
|
||||||
### 지금 바로 할 것
|
### 지금 바로 할 것
|
||||||
|
|
||||||
- [ ] 없음 (필수 변경 사항 없음)
|
- [ ] 안1 (인덱스+쿼리) 문서 읽기: `02-option1-index-and-query-rewrite.md`
|
||||||
|
- [ ] 스테이징 DB에서 안1 테스트 (EXPLAIN 전/후)
|
||||||
|
- [ ] 성능 향상 확인 후 운영 적용
|
||||||
|
- [ ] 안5 일부 (N+1, SQL Injection) 문서 읽기: `06-option5-application-layer.md`
|
||||||
|
- [ ] 추가 성능 향상 측정
|
||||||
|
|
||||||
### 선택 / 남은 확인
|
### 1~2주 후 재평가
|
||||||
|
|
||||||
- [ ] 트래픽 증가 전망 시: `KeepAliveTimeout` 5→2, `MaxConnectionsPerChild` 0→10000
|
|
||||||
- [ ] `MinSpareServers` 현재값 확인 (idle=0 샘플 5.0%)
|
|
||||||
- [ ] EC2 크레딧 모드 확인 (Unlimited / Standard)
|
|
||||||
- [ ] 외부에서 `/server-status` 접근 차단 확인
|
|
||||||
|
|
||||||
→ 상세: [260916-load-and-capacity-check/01-web-tier-analysis.md](260916-load-and-capacity-check/01-web-tier-analysis.md)
|
|
||||||
|
|
||||||
### 그 이후 재평가
|
|
||||||
|
|
||||||
|
- [ ] 동시접속 150~200명에서 응답시간 측정
|
||||||
- [ ] 10초 멈춤 현상 재발 확인
|
- [ ] 10초 멈춤 현상 재발 확인
|
||||||
- [ ] 필요 시: 안2/안3 검토
|
- [ ] 필요 시: 안2/안3 검토
|
||||||
- [ ] 필요 시: DB 분리 검토 (이때 이 문서 다시 읽기)
|
- [ ] 필요 시: DB 분리 검토 (이때 이 문서 다시 읽기)
|
||||||
@@ -580,38 +435,22 @@ docker restart chocomae-mariadb
|
|||||||
| 질문 | 답변 | 근거 |
|
| 질문 | 답변 | 근거 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **비용이 절감될까?** | ❌ 아니오. 증가할 가능성. | 대부분의 조합이 월 비용 증가 |
|
| **비용이 절감될까?** | ❌ 아니오. 증가할 가능성. | 대부분의 조합이 월 비용 증가 |
|
||||||
| **CPU 부하가 줄까?** | ⚠️ 부분적. | 세 원인 중 하나에만 유효 (4-2절) |
|
| **CPU 부하가 줄까?** | ⚠️ 부분적. | DB와 PHP 둘 다 병목 가능성 높음 |
|
||||||
| **10초 멈춤이 해결될까?** | ❌ 아니오. | 원인 2-0(크레딧)·2-2(워커)는 웹 계층. DB 분리와 무관 |
|
| **10초 멈춤이 해결될까?** | ⚠️ 완전히 아니오. | DB 분리만으로는 불충분, 안1 필수 |
|
||||||
| **지금 해야 할 일?** | ✅ 없음 | 2026-09-17 측정으로 세 원인 모두 해소 확인 |
|
| **지금 해야 할 일?** | ✅ 안1~5 적용! | 비용 0원, 18배 성능 향상 예상 |
|
||||||
| **DB 분리 필요한가?** | ❌ 불필요. | 아래 근거 참조 |
|
| **DB 분리 필요한가?** | ❓ 아마 불필요. | 안1~5로 충분할 가능성 높음. 나중에 재평가. |
|
||||||
|
|
||||||
**2026-09-16 기준 최종 권장: DB 분리하지 마세요.**
|
**최종 권장:**
|
||||||
|
|
||||||
초판은 "아마 불필요"였으나, 실측이 쌓이면서 근거가 명확해졌습니다.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
① 크레딧 원인 (2-0) → 2026-04-14 인스턴스 상향으로 해소. steal 최대 2%, 재현 안 됨
|
1. 안1 (인덱스+쿼리) 즉시 적용
|
||||||
② DB 원인 (2-1) → 2026-09-15 인덱스·쿼리 개선으로 해소. 피크 CPU 3.4배 감소
|
→ 10초 멈춤 해결 가능성 매우 높음
|
||||||
③ 웹 계층 (2-2) → 2026-09-17 피크 실측. busy 204/400(51%), steal 0%, us+sy 최대 9%
|
|
||||||
|
|
||||||
→ 세 원인이 모두 해소됐고, DB 분리가 유효했던 것은 ② 하나뿐이며 이미 비용 0원으로 해결됨
|
2. 안5 일부 (N+1) 적용
|
||||||
→ 지금 DB를 분리할 이유가 없음
|
→ 추가 성능 향상
|
||||||
|
|
||||||
|
3. 1~2주 후 모니터링
|
||||||
|
→ 문제 해결됨? → 끝. DB 분리 불필요.
|
||||||
|
→ 문제 지속? → 안2/안3 검토 → DB 분리는 마지막 선택지
|
||||||
```
|
```
|
||||||
|
|
||||||
**다음 할 일:**
|
|
||||||
|
|
||||||
```
|
|
||||||
1. 필수 변경 사항 없음. 현 구성 유지.
|
|
||||||
|
|
||||||
2. 트래픽이 1.7배 이상 늘어날 전망이면 (비용 0원, 무중단)
|
|
||||||
→ KeepAliveTimeout 5초 → 2초 : 워커 여유 1.74배 → 3.1배
|
|
||||||
→ MaxConnectionsPerChild 0 → 10000 : 누수 누적 방지
|
|
||||||
상세: 260916-load-and-capacity-check/01-web-tier-analysis.md 6장
|
|
||||||
|
|
||||||
3. 위로도 부족해지면 안2/안3 검토
|
|
||||||
→ DB 분리는 그 다음의 마지막 선택지
|
|
||||||
```
|
|
||||||
|
|
||||||
> 이 문서는 **DB 분리 시점이 오면 다시 읽는 참고 자료**로 보존합니다.
|
|
||||||
> 6~8장의 비용 비교·마이그레이션 절차는 그대로 유효합니다.
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,224 +0,0 @@
|
|||||||
# 운영 서버 DB 성능 개선 (260915-improve-production)
|
|
||||||
|
|
||||||
> 스테이징에서 성공한 인덱스 추가를 운영 서버에 적용합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 개요
|
|
||||||
|
|
||||||
| 항목 | 내용 |
|
|
||||||
|---|---|
|
|
||||||
| **목표** | 복합 인덱스 추가로 랭킹·기록 조회 쿼리의 검사 행 수와 실행 시간 감소 |
|
|
||||||
| **대상 DB** | chocomae.jinaju.com (AWS EC2 Docker, MariaDB 10.11.13) |
|
|
||||||
| **작업 방식** | 온라인 DDL (ALGORITHM=INPLACE, LOCK=NONE) |
|
|
||||||
| **예상 시간** | 약 1시간 (백업·측정·검증 포함, 인덱스 생성은 여유 있게 30분) |
|
|
||||||
| **위험도** | 인덱스 추가: 낮음 (스테이징 검증 완료) / 중복 정리: 중간 (운영 데이터 삭제, 백업 후 진행) |
|
|
||||||
| **영향 범위** | 인덱스: 쿼리 응답 시간만 개선 (서비스 무중단) / 중복 정리: `app_highest_record`의 중복 행 삭제 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📏 운영 사전 측정 결과 (01단계, 2026-09-15)
|
|
||||||
|
|
||||||
| 항목 | 값 | 비고 |
|
|
||||||
|---|---|---|
|
|
||||||
| best_record | 약 115만 행, data 72.5MB / index 72.1MB | 월별 합계 1,210,482행 |
|
|
||||||
| typing_exam_record | 약 13만 행, data 10.3MB / index 10.9MB | |
|
|
||||||
| 월 적재량 | 최근 3개월(6~8월) 평균 57,968행/월 | 전년 같은 기간(27,049행)의 약 2.1배 |
|
|
||||||
| 일간 랭킹 EXPLAIN | `index_merge` (MaestroID ∩ AppID), rows **10,100** | 전체 스캔(ALL)이 아님 |
|
|
||||||
| app_highest_record 중복 | **4,823조합, 삭제 대상 8,795행** (약 3.8%) | 03-0에서 점수 기준으로 정리 |
|
|
||||||
| typing_exam_highest_record 중복 | 0건 | |
|
|
||||||
| jisangs 계정 권한 | `SELECT, ALTER` + 임시 부여(SUPER, 최고기록 테이블 2개 INSERT·DELETE, `mysql.slow_log` SELECT) | 05단계에서 회수 |
|
|
||||||
| Slow query log | ON, long_query_time=3, log_output=FILE | 05단계 복원 기준값 |
|
|
||||||
|
|
||||||
> 운영 DB에는 `MaestroID`, `AppID`, `PlayerID` 단일 인덱스가 이미 있어 스테이징(type=ALL)과 기준값이 다릅니다. 개선율은 스테이징 수치가 아니라 **운영에서 측정한 02(베이스라인)와 04(검증) 결과**로 계산합니다.
|
|
||||||
|
|
||||||
상세: [result/premeasure_summary.txt](result/premeasure_summary.txt)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 기대 효과
|
|
||||||
|
|
||||||
| 항목 | 스테이징 결과 | 운영 예상 |
|
|
||||||
|---|---|---|
|
|
||||||
| **EXPLAIN cost** | 8.63 → 0.004 (**2,158배 ⬇️**) | MariaDB 10.11 EXPLAIN JSON에는 cost가 없어 rows·실행 시간으로 비교 |
|
|
||||||
| **EXPLAIN rows** | 5,804 → 1 (**5,800배 ⬇️**) | 10,100 → 해당 시간·날짜의 실제 기록 수 수준 (범위 조건 쿼리) |
|
|
||||||
| **접근 방식** | ALL → range | index_merge → range |
|
|
||||||
| **실행 시간** | ~2초 (충분) | 02·04에서 측정 |
|
|
||||||
| **느린 쿼리 제거** | 0.5초 이상 → 없음 | 04-5에서 확인 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 스테이징 결과 요약
|
|
||||||
|
|
||||||
### ✅ 완료한 작업
|
|
||||||
1. 베이스라인 측정: 전체 스캔 (type=ALL)
|
|
||||||
2. 중복 데이터 정리: app_highest_record, typing_exam_highest_record
|
|
||||||
3. 인덱스 5개 + UNIQUE 키 2개 추가 (총 7개)
|
|
||||||
4. **쿼리 조건 수정**: 7개 파일, 8+ 함수 (DATE()/HOUR() → 범위 조건)
|
|
||||||
5. 개선 효과 검증: 2,000배 이상 향상 확인 (인덱스 + 쿼리 수정)
|
|
||||||
6. Slow query log: 개선 쿼리 0.5초 이하
|
|
||||||
|
|
||||||
### 📈 성능 개선 상세 (Stage 검증)
|
|
||||||
- **인덱스만 적용:** cost 8.63 → 1.0 (8배), rows 5,804 → 200 (29배)
|
|
||||||
- **인덱스 + 쿼리 수정:** cost 8.63 → 0.004 (2,158배), rows 5,804 → 1 (5,800배)
|
|
||||||
|
|
||||||
### 📁 저장된 파일
|
|
||||||
```
|
|
||||||
260915-improve-stage/result/
|
|
||||||
├── baseline_query1_explain.json
|
|
||||||
├── baseline_query2_explain.json
|
|
||||||
├── baseline_results.txt
|
|
||||||
├── after_query1_explain.json
|
|
||||||
├── after_query2_improved_explain.json
|
|
||||||
├── verify_results.txt
|
|
||||||
└── add_indexes.sql
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔐 운영 DB 접속 정보
|
|
||||||
|
|
||||||
```
|
|
||||||
# 운영 DB (AWS EC2 Docker)
|
|
||||||
Host: chocomae.jinaju.com
|
|
||||||
Port: 3306
|
|
||||||
Database: chocomae
|
|
||||||
User: jisangs (임시 계정 — 2026-09-15 작업 후 삭제)
|
|
||||||
Password: 문서에 적지 않음 (별도로 전달받은 값 사용)
|
|
||||||
출발지 IP: 182.217.174.221
|
|
||||||
|
|
||||||
# 부여된 권한 (2026-09-15 SHOW GRANTS로 확인)
|
|
||||||
GRANT SELECT, ALTER ON chocomae.* TO jisangs@'182.217.174.221'
|
|
||||||
|
|
||||||
# 작업 기간 임시 권한 (2026-09-15 부여 → 같은 날 회수 완료, result/grants_after_revoke.txt)
|
|
||||||
GRANT SUPER ON *.* TO jisangs@'182.217.174.221'
|
|
||||||
GRANT INSERT, DELETE ON chocomae.app_highest_record TO jisangs@'182.217.174.221'
|
|
||||||
GRANT INSERT, DELETE ON chocomae.typing_exam_highest_record TO jisangs@'182.217.174.221'
|
|
||||||
GRANT SELECT ON mysql.slow_log TO jisangs@'182.217.174.221'
|
|
||||||
```
|
|
||||||
|
|
||||||
> ✅ 임시 계정 `jisangs`는 작업 후 삭제했습니다 (2026-09-15).
|
|
||||||
>
|
|
||||||
> ⚠️ 같은 비밀번호가 예전 커밋 기록과 메일(Gmail SMTP)·Python 배치(DB root) 소스 코드에도 평문으로 남아 있습니다. 계정 삭제와 별개로 그 비밀번호들은 바꿔야 합니다.
|
|
||||||
|
|
||||||
### 단계별 필요 권한
|
|
||||||
|
|
||||||
| 단계 | 작업 | 필요 권한 | jisangs 계정으로 가능? |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 01, 02, 04 | 조회, EXPLAIN | SELECT | ✅ |
|
|
||||||
| 03-0 | 삭제 대상 행 백업 (`mariadb-dump`) | SELECT | ✅ |
|
|
||||||
| 03-0 | 중복 행 삭제 | `app_highest_record` DELETE | ✅ 임시 부여 |
|
|
||||||
| 03-2 | 인덱스·UNIQUE 키 추가 | ALTER | ✅ |
|
|
||||||
| 02-1, 05 | Slow query log 켜기·복원 (`SET GLOBAL`) | SUPER | ✅ 임시 부여 |
|
|
||||||
| 04-5, 07 | `mysql.slow_log` 조회 | `mysql.slow_log` SELECT | ✅ 임시 부여 |
|
|
||||||
| 06 | 삭제 행 복원 | 최고기록 테이블 INSERT | ✅ 임시 부여 |
|
|
||||||
| 06 | `ANALYZE TABLE best_record`, 복제 상태 확인 | `best_record` INSERT, REPLICA MONITOR 등 | ❌ 관리자 계정 |
|
|
||||||
|
|
||||||
2026-09-15에 관리자 계정으로 아래 권한을 임시 부여했습니다 (확인: `result/premeasure_grants_after.txt`). ❌ 작업은 문제가 생겼을 때만 필요하며 관리자 계정으로 실행합니다. 임시 권한은 05단계 사후 작업에서 회수합니다.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 관리자 계정으로 실행함 (2026-09-15)
|
|
||||||
GRANT DELETE, INSERT ON chocomae.app_highest_record TO 'jisangs'@'182.217.174.221';
|
|
||||||
GRANT DELETE, INSERT ON chocomae.typing_exam_highest_record TO 'jisangs'@'182.217.174.221';
|
|
||||||
GRANT SELECT ON mysql.slow_log TO 'jisangs'@'182.217.174.221';
|
|
||||||
GRANT SUPER ON *.* TO 'jisangs'@'182.217.174.221';
|
|
||||||
```
|
|
||||||
|
|
||||||
> `SUPER`는 서버 전체 권한(다른 연결의 쿼리 중단, 모든 전역 설정 변경, read_only 우회)이므로 작업이 끝나면 바로 회수하세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚠️ 주의사항
|
|
||||||
|
|
||||||
1. **운영 DB 백업 필수**
|
|
||||||
- EC2 EBS 스냅샷 생성 (MariaDB 데이터 볼륨 포함)
|
|
||||||
- 또는 서버에서 `mariadb-dump`로 전체 DB 백업
|
|
||||||
|
|
||||||
2. **온라인 DDL 사용**
|
|
||||||
- ALGORITHM=INPLACE (테이블 잠금 최소화)
|
|
||||||
- LOCK=NONE (동시 읽기/쓰기 가능)
|
|
||||||
|
|
||||||
3. **중복 정리는 데이터 삭제**
|
|
||||||
- 03-0에서 삭제 대상 행을 먼저 파일로 백업한 뒤 삭제
|
|
||||||
- 인덱스와 달리 DROP INDEX로 되돌릴 수 없음 → 06-rollback.md의 "중복 정리 되돌리기" 참고
|
|
||||||
|
|
||||||
4. **모니터링 필수**
|
|
||||||
- 인덱스 추가 중 CPU/메모리 모니터링
|
|
||||||
- SHOW PROCESSLIST로 진행 상황 확인
|
|
||||||
|
|
||||||
5. **Slow query log 부하 주의**
|
|
||||||
- `log_output`에 `TABLE`이 있으면 `mysql.slow_log`에 계속 쌓이고 자동으로 비워지지 않음
|
|
||||||
- `log_queries_not_using_indexes`는 켜지 않음 (인덱스를 안 쓰는 모든 쿼리가 기록되어 로그가 급증)
|
|
||||||
- 작업 후 01단계 1-4에서 저장한 원래 값으로 복원
|
|
||||||
|
|
||||||
6. **롤백 계획**
|
|
||||||
- DROP INDEX 명령어 준비 (06-rollback.md)
|
|
||||||
- 문제 발생 시 즉시 실행 가능
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📅 작업 일정
|
|
||||||
|
|
||||||
01단계 사전 측정은 2026-09-15에 완료했습니다.
|
|
||||||
|
|
||||||
### 권장: 새벽 2시~3시 (트래픽 최소 시간)
|
|
||||||
|
|
||||||
| 시간 | 작업 | 예상 소요 |
|
|
||||||
|---|---|---|
|
|
||||||
| 02:00 | DB 백업 (EBS 스냅샷 또는 전체 덤프) | 5분 |
|
|
||||||
| 02:05 | 성능 기준선 측정 (02-baseline.md) | 10분 |
|
|
||||||
| 02:15 | 중복 정리 + 인덱스 추가 (03-add-indexes.md) | 30분 |
|
|
||||||
| 02:45 | 인덱스 생성 확인 | 5분 |
|
|
||||||
| 02:50 | 성능 개선 검증 (04-verify.md) | 10분 |
|
|
||||||
| 03:00 | 최종 체크리스트, slow log 복원, 임시 권한 회수 (05-checklist.md) | 10분 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📂 디렉토리 구조
|
|
||||||
|
|
||||||
```
|
|
||||||
260915-improve-production/
|
|
||||||
├── 00-overview.md ← 이 파일
|
|
||||||
├── 01-premeasure.md ← 운영 DB 현황 측정
|
|
||||||
├── 02-baseline.md ← 성능 기준선 측정
|
|
||||||
├── 03-add-indexes.md ← 중복 정리 + 인덱스 추가
|
|
||||||
├── 04-verify.md ← 개선 효과 검증
|
|
||||||
├── 05-checklist.md ← 최종 체크리스트
|
|
||||||
├── 06-rollback.md ← 롤백 계획
|
|
||||||
├── 07-post-analysis.md ← 사후 분석
|
|
||||||
└── result/ ← 결과 파일 저장
|
|
||||||
├── premeasure_*.txt, premeasure_*.json ← 01 사전 측정
|
|
||||||
├── premeasure_summary.txt ← 01 요약
|
|
||||||
├── params.sql, queries/*.sql ← 02·04 공통 측정 쿼리
|
|
||||||
├── run_measure.sh, summarize_explain.py ← 02·04 공통 측정 도구
|
|
||||||
├── baseline_explain_*.json, baseline_perf.txt ← 02
|
|
||||||
├── backup_app_highest_dup_rows.sql ← 03-0 삭제 행 백업
|
|
||||||
├── add_indexes.sql, add_indexes_result.txt ← 03
|
|
||||||
├── after_explain_*.json, after_perf.txt ← 04
|
|
||||||
└── comparison.txt ← 04 비교
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 다음 단계
|
|
||||||
|
|
||||||
**01-premeasure.md** — 모든 측정 완료 (2026-09-15).
|
|
||||||
|
|
||||||
필요한 권한은 jisangs 계정에 임시 부여했습니다 (2026-09-15). **02-baseline.md**로 이동합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📞 문제 발생 시
|
|
||||||
|
|
||||||
| 상황 | 대응 |
|
|
||||||
|---|---|
|
|
||||||
| **인덱스 추가 실패 (`Duplicate entry`)** | 3-0 다시 실행 후 `add_indexes.sql` 재실행 (이미 만든 인덱스는 건너뜀) |
|
|
||||||
| **인덱스 추가 실패 (기타)** | 에러 확인 후 필요하면 DROP INDEX (06-rollback.md) |
|
|
||||||
| **서비스 영향** | KILL QUERY + 인덱스 삭제 (06-rollback.md) |
|
|
||||||
| **최고기록 값 이상** | 삭제 행 백업으로 되돌리기 (06-rollback.md) |
|
|
||||||
| **성능 악화** | 인덱스 삭제 → 그래도 안 되면 백업에서 복원 |
|
|
||||||
| **기타 문제** | 07-post-analysis.md 참고 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**01단계 완료, 작업 권한 준비 완료. 02단계부터 진행합니다.**
|
|
||||||
@@ -1,245 +0,0 @@
|
|||||||
# 01단계: 운영 DB 현황 측정 (사전준비)
|
|
||||||
|
|
||||||
> 운영 서버에 인덱스를 추가하기 전 현재 상태를 정확히 파악합니다.
|
|
||||||
>
|
|
||||||
> **진행 상태 (2026-09-15):** 모든 항목 측정 완료. 결과 요약은 [result/premeasure_summary.txt](result/premeasure_summary.txt)에 있습니다.
|
|
||||||
|
|
||||||
모든 명령은 `result/` 디렉터리에서 실행합니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd doc/plan/db/260915-improve-production/result
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-0. 계정 권한 확인
|
|
||||||
|
|
||||||
03단계 중복 삭제(DELETE), 02단계 slow query log 켜기(`SET GLOBAL`), 04단계 `mysql.slow_log` 조회에는 `SELECT, ALTER` 외의 권한이 필요합니다. 실제 권한을 먼저 확인하세요.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "SHOW GRANTS;" > premeasure_grants.txt
|
|
||||||
|
|
||||||
cat premeasure_grants.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:**
|
|
||||||
- [00-overview.md의 단계별 필요 권한](00-overview.md#단계별-필요-권한) 표와 비교합니다.
|
|
||||||
- 권한이 없는 작업은 관리자 계정으로 실행할지, 작업 시간 동안만 권한을 받을지 정합니다.
|
|
||||||
|
|
||||||
**결과 (2026-09-15):** `GRANT SELECT, ALTER ON chocomae.*`만 있습니다. 중복 삭제(03-0-3), `SET GLOBAL`(02-1, 05), `mysql.slow_log` 조회(04-5, 07)는 관리자 계정으로 실행해야 합니다.
|
|
||||||
|
|
||||||
**임시 권한 부여 후 (2026-09-15, `premeasure_grants_after.txt`):** SUPER, 최고기록 테이블 2개 INSERT·DELETE, `mysql.slow_log` SELECT 추가. 05단계에서 회수합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-1. 테이블·인덱스 크기
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT TABLE_NAME,
|
|
||||||
TABLE_ROWS AS approx_rows,
|
|
||||||
ROUND(DATA_LENGTH / 1024 / 1024, 1) AS data_mb,
|
|
||||||
ROUND(INDEX_LENGTH / 1024 / 1024, 1) AS index_mb
|
|
||||||
FROM information_schema.TABLES
|
|
||||||
WHERE TABLE_SCHEMA = 'chocomae'
|
|
||||||
ORDER BY DATA_LENGTH DESC;" > premeasure_table_sizes.txt
|
|
||||||
|
|
||||||
cat premeasure_table_sizes.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**저장할 수치:**
|
|
||||||
- `best_record` data_mb, index_mb
|
|
||||||
- `typing_exam_record` data_mb, index_mb
|
|
||||||
|
|
||||||
> `TABLE_ROWS`는 InnoDB 추정치라 실제 행 수와 몇 % 차이가 날 수 있습니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-2. 월별 적재량 (증가 속도)
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT DATE_FORMAT(RecordDateTime, '%Y-%m') AS ym, COUNT(*) AS cnt
|
|
||||||
FROM best_record
|
|
||||||
GROUP BY ym
|
|
||||||
ORDER BY ym;" > premeasure_monthly_load.txt
|
|
||||||
|
|
||||||
cat premeasure_monthly_load.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:**
|
|
||||||
- 최근 3개월 증가 추이
|
|
||||||
- 월 평균 증가량
|
|
||||||
- 마지막 달은 측정일까지의 값이므로 평균에서 제외
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-3. 대표 쿼리 기준값 (EXPLAIN)
|
|
||||||
|
|
||||||
### 1-3-1. 기록이 많은 선생님·앱 찾기
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT MaestroID, AppID, COUNT(*) AS cnt
|
|
||||||
FROM best_record
|
|
||||||
WHERE RecordDateTime >= NOW() - INTERVAL 30 DAY
|
|
||||||
GROUP BY MaestroID, AppID
|
|
||||||
ORDER BY cnt DESC
|
|
||||||
LIMIT 5;" > premeasure_top_maestro_app.txt
|
|
||||||
|
|
||||||
cat premeasure_top_maestro_app.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**결과 (2026-09-15):**
|
|
||||||
```
|
|
||||||
MaestroID AppID cnt
|
|
||||||
181 21 1089
|
|
||||||
181 1 591
|
|
||||||
389 103 562
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
→ 다음 단계에서 MaestroID=181, AppID=21을 사용합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 1-3-2. 일간 랭킹 쿼리 EXPLAIN
|
|
||||||
|
|
||||||
위에서 나온 MaestroID, AppID를 사용하세요:
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -N -r -e "
|
|
||||||
EXPLAIN FORMAT=JSON
|
|
||||||
SELECT BR.PlayerID, U.Name, MAX(BR.BestRecord) AS HighScore
|
|
||||||
FROM best_record BR, player U
|
|
||||||
WHERE BR.MaestroID = 181
|
|
||||||
AND BR.PlayerID = U.PlayerID
|
|
||||||
AND YEAR(BR.RecordDateTime) = YEAR(NOW())
|
|
||||||
AND MONTH(BR.RecordDateTime) = MONTH(NOW())
|
|
||||||
AND DAYOFMONTH(BR.RecordDateTime) = DAYOFMONTH(NOW())
|
|
||||||
AND BR.AppID = 21
|
|
||||||
GROUP BY BR.PlayerID
|
|
||||||
ORDER BY MAX(BR.BestRecord) DESC;" > premeasure_explain_daily_ranking.json
|
|
||||||
|
|
||||||
cat premeasure_explain_daily_ranking.json
|
|
||||||
```
|
|
||||||
|
|
||||||
> `-N`(열 이름 생략)과 `-r`(이스케이프 없이 출력)이 없으면 파일 첫 줄에 `EXPLAIN` 헤더가 붙고 줄바꿈이 `\n` 글자로 저장되어 올바른 JSON이 되지 않습니다.
|
|
||||||
|
|
||||||
**확인할 점:** MariaDB JSON에서는 `type`이 아니라 `access_type` 필드를 봅니다.
|
|
||||||
|
|
||||||
| 필드 | 의미 | 나쁜 값 | 운영 측정값 (2026-09-15) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| `access_type` | 접근 방식 | `ALL` (전체 스캔) | `index_merge` |
|
|
||||||
| `key` 또는 `index_merge` | 사용한 인덱스 | 없음 | `MaestroID` ∩ `AppID` |
|
|
||||||
| `rows` | 검사 예상 행 수 | 전체 행 수에 가까움 | 10,100 |
|
|
||||||
|
|
||||||
> 운영에는 `MaestroID`, `AppID` 단일 인덱스가 있어 전체 스캔은 아닙니다. 하지만 날짜 조건은 인덱스로 거르지 못해 10,100행을 하나씩 확인합니다. 복합 인덱스 `(MaestroID, AppID, RecordDateTime)`로 이 수를 해당 날짜의 실제 기록 수 수준으로 줄이는 것이 목표입니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-4. Slow Query Log 현재 설정 저장
|
|
||||||
|
|
||||||
> 설정 변경(`SET GLOBAL`)은 SUPER 권한이 필요하고 운영에 영향을 주므로, 여기서는 **현재 값만 저장**합니다. 켜는 작업은 02단계 2-1에서, 원래 값 복원은 05단계에서 이 파일을 보고 합니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SHOW GLOBAL VARIABLES WHERE Variable_name IN
|
|
||||||
('slow_query_log', 'long_query_time', 'log_output',
|
|
||||||
'log_queries_not_using_indexes', 'slow_query_log_file');" > premeasure_slow_log_settings.txt
|
|
||||||
|
|
||||||
cat premeasure_slow_log_settings.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> 이전 버전 문서의 1-4(`SET GLOBAL ...`)를 이미 성공적으로 실행했다면 저장된 값은 원래 값이 아닙니다. MariaDB 기본값은 `slow_query_log=OFF`, `long_query_time=10`, `log_output=FILE`입니다. 서버 설정 파일의 값을 확인해 05단계 복원에 사용하세요.
|
|
||||||
|
|
||||||
**결과 (2026-09-15):** `slow_query_log=ON`, `long_query_time=3`, `log_output=FILE`, `log_queries_not_using_indexes=OFF`, 로그 파일 `/var/log/mysql/mariadb-slow.log`
|
|
||||||
|
|
||||||
> 이전 버전 1-4의 `SET GLOBAL`은 적용되지 않았습니다 (SUPER 권한 없음. 적용됐다면 `long_query_time=1`, `log_output=TABLE`). 따라서 위 값이 05단계에서 복원할 원래 값입니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-5. 최고기록 테이블 중복 점검
|
|
||||||
|
|
||||||
### 1-5-1. 중복 상위 10개 (완료)
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
-- app_highest_record 중복 확인
|
|
||||||
SELECT MaestroID, PlayerID, AppID, COUNT(*) AS cnt
|
|
||||||
FROM app_highest_record
|
|
||||||
GROUP BY MaestroID, PlayerID, AppID
|
|
||||||
HAVING cnt > 1
|
|
||||||
ORDER BY cnt DESC
|
|
||||||
LIMIT 10;" > premeasure_app_highest_duplicates.txt
|
|
||||||
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
-- typing_exam_highest_record 중복 확인
|
|
||||||
SELECT MaestroID, PlayerID, WritingID, COUNT(*) AS cnt
|
|
||||||
FROM typing_exam_highest_record
|
|
||||||
GROUP BY MaestroID, PlayerID, WritingID
|
|
||||||
HAVING cnt > 1
|
|
||||||
ORDER BY cnt DESC
|
|
||||||
LIMIT 10;" > premeasure_exam_highest_duplicates.txt
|
|
||||||
|
|
||||||
echo "=== app_highest_record 중복 ===" && cat premeasure_app_highest_duplicates.txt
|
|
||||||
echo "=== typing_exam_highest_record 중복 ===" && cat premeasure_exam_highest_duplicates.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> 결과가 없으면 `-e` 모드는 열 이름도 출력하지 않아 **빈 파일**이 됩니다. 에러는 파일이 아니라 터미널에 표시되므로, 에러 없이 빈 파일이면 중복 0건입니다.
|
|
||||||
|
|
||||||
**결과 (2026-09-15):** app_highest_record는 상위 10개 조합이 각 17~33행, typing_exam_highest_record는 0건.
|
|
||||||
|
|
||||||
### 1-5-2. 전체 중복 개수
|
|
||||||
|
|
||||||
`LIMIT 10`이라 위 결과만으로는 삭제할 행 수를 알 수 없습니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT COUNT(*) AS dup_groups, SUM(cnt - 1) AS rows_to_delete
|
|
||||||
FROM (SELECT COUNT(*) AS cnt FROM app_highest_record
|
|
||||||
GROUP BY MaestroID, PlayerID, AppID HAVING cnt > 1) t;" > premeasure_app_highest_dup_count.txt
|
|
||||||
|
|
||||||
cat premeasure_app_highest_dup_count.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:**
|
|
||||||
- `dup_groups`: 중복이 있는 조합 수
|
|
||||||
- `rows_to_delete`: 조합마다 1행만 남길 때 지워지는 행 수 → 03단계 3-0에서 실제 삭제 행 수와 비교
|
|
||||||
|
|
||||||
**결과 (2026-09-15):** `dup_groups` 4,823 / `rows_to_delete` 8,795 (app_highest_record 약 23만 행의 약 3.8%)
|
|
||||||
|
|
||||||
**중복이 있으면:**
|
|
||||||
- 03-add-indexes.md 3-0에서 UNIQUE 키 추가 전에 **점수 기준으로** 정리합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1-6. 측정 결과 기록
|
|
||||||
|
|
||||||
모든 측정값을 [result/premeasure_summary.txt](result/premeasure_summary.txt)에 정리했습니다.
|
|
||||||
|
|
||||||
> 이전 버전의 `cat > premeasure_summary.txt << 'EOF'` 명령은 채워 둔 요약을 빈 양식으로 덮어쓰므로 삭제했습니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 다음 단계
|
|
||||||
|
|
||||||
✅ 사전 측정 완료 → **02-baseline.md로 이동**
|
|
||||||
|
|
||||||
(사전 측정 수치는 모두 `result/`의 txt/json 파일에 저장되어 있습니다)
|
|
||||||
@@ -1,377 +0,0 @@
|
|||||||
# 02단계: 개선 전 성능 측정 (베이스라인)
|
|
||||||
|
|
||||||
> 인덱스 추가 전 EXPLAIN과 실행 시간을 측정해 개선 효과의 기준점을 만듭니다.
|
|
||||||
> 04단계에서 **같은 스크립트, 같은 쿼리, 같은 시각**으로 다시 측정해 비교합니다.
|
|
||||||
|
|
||||||
모든 명령은 `result/` 디렉터리에서 실행합니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd doc/plan/db/260915-improve-production/result
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 측정 방식
|
|
||||||
|
|
||||||
| 원칙 | 이유 |
|
|
||||||
|---|---|
|
|
||||||
| 02와 04가 같은 쿼리 파일(`queries/*.sql`)을 실행 | 쿼리가 다르면 실행 시간을 비교할 수 없음 |
|
|
||||||
| `NOW()` 대신 **지난달의 시각을 고정** (`params.sql`) | 새벽 작업 시간에는 현재 시각의 기록이 거의 없음. 지난달 데이터는 02와 04 사이에 바뀌지 않아 결과 행 수까지 비교 가능 |
|
|
||||||
| 같은 조건을 **함수형**과 **범위형** 두 가지로 측정 | 인덱스만의 효과(함수형)와 인덱스 + 쿼리 수정 효과(범위형)를 나눠 확인 |
|
|
||||||
| 쿼리 묶음을 2회 실행해 **2회차** 값 사용 | 1회차에는 디스크에서 페이지를 읽는 시간이 섞임 |
|
|
||||||
| `SQL_NO_CACHE` | 쿼리 캐시 결과로 시간이 왜곡되지 않게 함 |
|
|
||||||
|
|
||||||
| 쿼리 파일 | 조건 | 형태 |
|
|
||||||
|---|---|---|
|
|
||||||
| `q1_hour_func.sql` | 특정 1시간 기록 | `DATE()`, `HOUR()` 함수 (수정 전 코드 형태) |
|
|
||||||
| `q2_hour_range.sql` | 특정 1시간 기록 | 범위 조건 (Stage에서 수정한 코드 형태) |
|
|
||||||
| `q3_day_func.sql` | 일간 랭킹 | `YEAR()`, `MONTH()`, `DAYOFMONTH()` 함수 |
|
|
||||||
| `q4_day_range.sql` | 일간 랭킹 | 범위 조건 |
|
|
||||||
| `q5_month_func.sql` | 월간 랭킹 | `YEAR()`, `MONTH()` 함수 |
|
|
||||||
| `q6_month_range.sql` | 월간 랭킹 | 범위 조건 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-0. 측정 기준 시각 정하기
|
|
||||||
|
|
||||||
MaestroID 181 · AppID 21의 **지난달** 기록 중 가장 많은 시간대를 찾습니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT DATE(RecordDateTime) AS day, HOUR(RecordDateTime) AS hour, COUNT(*) AS cnt
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = 181 AND AppID = 21
|
|
||||||
AND RecordDateTime >= CAST(DATE_FORMAT(NOW() - INTERVAL 1 MONTH, '%Y-%m-01') AS DATETIME)
|
|
||||||
AND RecordDateTime < CAST(DATE_FORMAT(NOW(), '%Y-%m-01') AS DATETIME)
|
|
||||||
GROUP BY day, hour
|
|
||||||
ORDER BY cnt DESC
|
|
||||||
LIMIT 5;" > baseline_pick_time.txt
|
|
||||||
|
|
||||||
cat baseline_pick_time.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
첫 번째 행의 `day`와 `hour`로 `params.sql`을 만듭니다. **아래 값은 예시이니 반드시 바꾸세요.**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat > params.sql << 'EOF'
|
|
||||||
SET @maestro = 181, @app = 21, @day = '2026-08-20', @hour = 14;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat params.sql
|
|
||||||
```
|
|
||||||
|
|
||||||
> 04단계가 끝날 때까지 `params.sql`을 바꾸지 마세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-1. Slow Query Log 켜기 (SUPER 권한)
|
|
||||||
|
|
||||||
> `SET GLOBAL`은 SUPER 권한이 필요합니다. 2026-09-15에 `jisangs` 계정에 임시 부여했으므로 jisangs로 실행하면 됩니다 (`mariadb -h chocomae.jinaju.com -u jisangs -p chocomae`로 접속 후 아래 SQL 실행). 운영의 원래 값은 `slow_query_log=ON`, `long_query_time=3`, `log_output=FILE`이며(01 1-4), 05단계에서 이 값으로 복원합니다.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
SET GLOBAL log_output = 'FILE,TABLE';
|
|
||||||
SET GLOBAL long_query_time = 0.5;
|
|
||||||
SET GLOBAL slow_query_log = 'ON';
|
|
||||||
|
|
||||||
SHOW GLOBAL VARIABLES WHERE Variable_name IN
|
|
||||||
('slow_query_log', 'long_query_time', 'log_output', 'log_queries_not_using_indexes');
|
|
||||||
```
|
|
||||||
|
|
||||||
- `log_output = 'FILE,TABLE'`: 기존 파일 로그(`/var/log/mysql/mariadb-slow.log`)는 유지하면서 04단계에서 `mysql.slow_log` 테이블로 조회할 수 있게 합니다.
|
|
||||||
- `long_query_time`은 **새 연결부터** 적용됩니다. PHP는 요청마다 새로 연결하므로 바로 반영됩니다.
|
|
||||||
- ⚠️ `log_queries_not_using_indexes`는 켜지 마세요. 인덱스를 쓰지 않는 모든 쿼리가 실행 시간과 상관없이 기록되어 `mysql.slow_log`가 빠르게 커집니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-2. 측정 파일 만들기
|
|
||||||
|
|
||||||
### 측정 쿼리 6개
|
|
||||||
|
|
||||||
> 쿼리 파일은 반드시 `SELECT`로 시작해야 합니다. 스크립트가 앞에 `EXPLAIN FORMAT=JSON `을 붙여 실행하므로 주석을 넣지 마세요.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -p queries
|
|
||||||
|
|
||||||
cat > queries/q1_hour_func.sql << 'EOF'
|
|
||||||
SELECT SQL_NO_CACHE PlayerID, BestRecord, RecordDateTime
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND DATE(RecordDateTime) = @day
|
|
||||||
AND HOUR(RecordDateTime) = @hour
|
|
||||||
ORDER BY RecordDateTime, PlayerID;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat > queries/q2_hour_range.sql << 'EOF'
|
|
||||||
SELECT SQL_NO_CACHE PlayerID, BestRecord, RecordDateTime
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND RecordDateTime >= CAST(@day AS DATETIME) + INTERVAL @hour HOUR
|
|
||||||
AND RecordDateTime < CAST(@day AS DATETIME) + INTERVAL (@hour + 1) HOUR
|
|
||||||
ORDER BY RecordDateTime, PlayerID;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat > queries/q3_day_func.sql << 'EOF'
|
|
||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND YEAR(RecordDateTime) = YEAR(@day)
|
|
||||||
AND MONTH(RecordDateTime) = MONTH(@day)
|
|
||||||
AND DAYOFMONTH(RecordDateTime) = DAYOFMONTH(@day)
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat > queries/q4_day_range.sql << 'EOF'
|
|
||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND RecordDateTime >= CAST(@day AS DATETIME)
|
|
||||||
AND RecordDateTime < CAST(@day AS DATETIME) + INTERVAL 1 DAY
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat > queries/q5_month_func.sql << 'EOF'
|
|
||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND YEAR(RecordDateTime) = YEAR(@day)
|
|
||||||
AND MONTH(RecordDateTime) = MONTH(@day)
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat > queries/q6_month_range.sql << 'EOF'
|
|
||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND RecordDateTime >= CAST(DATE_FORMAT(@day, '%Y-%m-01') AS DATETIME)
|
|
||||||
AND RecordDateTime < CAST(DATE_FORMAT(@day, '%Y-%m-01') AS DATETIME) + INTERVAL 1 MONTH
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
ls queries/
|
|
||||||
```
|
|
||||||
|
|
||||||
### 측정 스크립트
|
|
||||||
|
|
||||||
비밀번호를 한 번만 입력받아 EXPLAIN 6개와 실행 시간을 모두 측정합니다. 비밀번호는 파일이나 명령 인자로 남지 않습니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat > run_measure.sh << 'EOF'
|
|
||||||
#!/bin/zsh
|
|
||||||
# 02·04단계 공통 측정 스크립트
|
|
||||||
# 사용법: zsh run_measure.sh baseline (02단계, 인덱스 추가 전)
|
|
||||||
# zsh run_measure.sh after (04단계, 인덱스 추가 후)
|
|
||||||
|
|
||||||
PREFIX=$1
|
|
||||||
if [[ $PREFIX != baseline && $PREFIX != after ]]; then
|
|
||||||
echo "사용법: zsh run_measure.sh baseline|after" >&2; exit 1
|
|
||||||
fi
|
|
||||||
cd "${0:A:h}" || exit 1
|
|
||||||
|
|
||||||
printf "Enter password: "; read -rs DBPW; echo
|
|
||||||
|
|
||||||
db() {
|
|
||||||
mariadb --defaults-extra-file=<(printf '[client]\npassword="%s"\n' "$DBPW") \
|
|
||||||
-h chocomae.jinaju.com -u jisangs chocomae "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 1) EXPLAIN: 쿼리마다 JSON 파일 1개
|
|
||||||
for q in queries/*.sql; do
|
|
||||||
out="${PREFIX}_explain_${q:t:r}.json"
|
|
||||||
{ cat params.sql; printf 'EXPLAIN FORMAT=JSON '; cat "$q"; } | db -N -r > "$out" \
|
|
||||||
|| { echo "EXPLAIN 실패: $q" >&2; exit 1; }
|
|
||||||
echo "저장: $out"
|
|
||||||
done
|
|
||||||
|
|
||||||
# 2) 실행 시간: 같은 쿼리 묶음을 2회 실행 (2회차 값 사용)
|
|
||||||
for round in 1 2; do
|
|
||||||
{ cat params.sql
|
|
||||||
for q in queries/*.sql; do
|
|
||||||
echo "SELECT '=== round ${round}: ${q:t:r} ===' AS msg;"
|
|
||||||
cat "$q"
|
|
||||||
done
|
|
||||||
} | db -vvv || { echo "실행 시간 측정 실패" >&2; exit 1; }
|
|
||||||
done > "${PREFIX}_perf.txt"
|
|
||||||
echo "저장: ${PREFIX}_perf.txt"
|
|
||||||
|
|
||||||
# 3) 요약: 쿼리 이름 / 결과 행 수 / 실행 시간 (2회차)
|
|
||||||
echo
|
|
||||||
grep -E '^\| === |rows? in set|Empty set' "${PREFIX}_perf.txt" | paste - - - | grep 'round 2' \
|
|
||||||
| sed -E 's/\| === round 2: (.*) === \|/\1/; s/\t1 row in set \([0-9.]+ sec\)//'
|
|
||||||
EOF
|
|
||||||
```
|
|
||||||
|
|
||||||
### EXPLAIN 요약 스크립트
|
|
||||||
|
|
||||||
EXPLAIN JSON에서 `access_type`, 사용 인덱스, `rows`만 뽑아 한 줄씩 보여줍니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat > summarize_explain.py << 'EOF'
|
|
||||||
# 사용법: python3 summarize_explain.py baseline [after]
|
|
||||||
import glob
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def find_table(node):
|
|
||||||
if isinstance(node, dict):
|
|
||||||
if isinstance(node.get("table"), dict):
|
|
||||||
return node["table"]
|
|
||||||
children = node.values()
|
|
||||||
elif isinstance(node, list):
|
|
||||||
children = node
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
for child in children:
|
|
||||||
found = find_table(child)
|
|
||||||
if found:
|
|
||||||
return found
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def keys_of(node):
|
|
||||||
if isinstance(node, dict):
|
|
||||||
for k, v in node.items():
|
|
||||||
if k == "key":
|
|
||||||
yield v
|
|
||||||
else:
|
|
||||||
yield from keys_of(v)
|
|
||||||
elif isinstance(node, list):
|
|
||||||
for v in node:
|
|
||||||
yield from keys_of(v)
|
|
||||||
|
|
||||||
|
|
||||||
for prefix in sys.argv[1:]:
|
|
||||||
for path in sorted(glob.glob(f"{prefix}_explain_*.json")):
|
|
||||||
with open(path, encoding="utf-8") as f:
|
|
||||||
table = find_table(json.load(f))
|
|
||||||
key = table.get("key") or " ∩ ".join(keys_of(table.get("index_merge", {}))) or "-"
|
|
||||||
print(f"{path:40} access_type={str(table.get('access_type')):12} key={key:28} rows={table.get('rows')}")
|
|
||||||
EOF
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-3. 베이스라인 측정 실행
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
zsh run_measure.sh baseline
|
|
||||||
```
|
|
||||||
|
|
||||||
**출력 예 (숫자는 예시):**
|
|
||||||
```
|
|
||||||
Enter password:
|
|
||||||
저장: baseline_explain_q1_hour_func.json
|
|
||||||
...
|
|
||||||
저장: baseline_explain_q6_month_range.json
|
|
||||||
저장: baseline_perf.txt
|
|
||||||
|
|
||||||
q1_hour_func 38 rows in set (0.052 sec)
|
|
||||||
q2_hour_range 38 rows in set (0.049 sec)
|
|
||||||
q3_day_func 21 rows in set (0.061 sec)
|
|
||||||
q4_day_range 21 rows in set (0.058 sec)
|
|
||||||
q5_month_func 96 rows in set (0.410 sec)
|
|
||||||
q6_month_range 96 rows in set (0.395 sec)
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:**
|
|
||||||
- 함수형과 범위형 짝(q1↔q2, q3↔q4, q5↔q6)의 **결과 행 수가 같아야** 합니다. 다르면 범위 조건이 잘못된 것이니 03단계로 가지 말고 원인을 확인하세요.
|
|
||||||
- `Empty set`이면 그 시각에 기록이 없는 것이니 2-0에서 다른 시각을 고르세요.
|
|
||||||
- 비밀번호를 틀리면 `Access denied`와 함께 멈춥니다. 다시 실행하세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-4. EXPLAIN 요약
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 summarize_explain.py baseline | tee baseline_explain_summary.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**운영 예상:** 01단계 사전 측정처럼 `index_merge`(MaestroID ∩ AppID)나 단일 인덱스 접근이 나오고, `rows`는 수천~1만 행 수준입니다. 전체 스캔(`ALL`)이 아닐 수 있으니 나온 값을 그대로 기준값으로 기록하세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-4-1. 서버 측 실행 시간 (ANALYZE)
|
|
||||||
|
|
||||||
2-3의 실행 시간은 Mac ↔ AWS 네트워크 왕복이 포함된 클라이언트 시간입니다. 서버가 쿼리를 처리한 시간(`r_total_time_ms`)을 따로 기록해 두면 네트워크 영향 없이 비교할 수 있습니다.
|
|
||||||
|
|
||||||
> 운영 측정 (2026-09-15): 클라이언트 시간 약 90ms 중 서버 처리 시간이 약 75ms였습니다. 6개 쿼리 모두 `index_merge`로 1만여 행을 읽기 때문입니다. `ANALYZE`는 쿼리를 실제로 실행하지만 조회(SELECT)만 하므로 데이터는 바뀌지 않습니다.
|
|
||||||
|
|
||||||
**요약 스크립트 만들기:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat > summarize_analyze.py << 'EOF'
|
|
||||||
# 사용법: python3 summarize_analyze.py baseline [after]
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
|
|
||||||
decoder = json.JSONDecoder()
|
|
||||||
for prefix in sys.argv[1:]:
|
|
||||||
text = open(f"{prefix}_analyze.txt", encoding="utf-8").read()
|
|
||||||
names = [line.split("=== ")[1].split(" ===")[0] for line in text.splitlines() if line.startswith("=== ")]
|
|
||||||
docs, pos = [], 0
|
|
||||||
while True:
|
|
||||||
start = text.find("{", pos)
|
|
||||||
if start < 0:
|
|
||||||
break
|
|
||||||
doc, pos = decoder.raw_decode(text, start)
|
|
||||||
docs.append(doc)
|
|
||||||
for name, doc in zip(names, docs):
|
|
||||||
block = doc["query_block"]
|
|
||||||
print(f"{prefix:8} {name:16} server_time_ms={block.get('r_total_time_ms')}")
|
|
||||||
EOF
|
|
||||||
```
|
|
||||||
|
|
||||||
**측정 (비밀번호 한 번 입력):**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
{ cat params.sql
|
|
||||||
for q in queries/*.sql; do
|
|
||||||
echo "SELECT '=== ${q:t:r} ===';"
|
|
||||||
printf 'ANALYZE FORMAT=JSON '
|
|
||||||
cat "$q"
|
|
||||||
done
|
|
||||||
} | mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -N -r > baseline_analyze.txt
|
|
||||||
|
|
||||||
python3 summarize_analyze.py baseline | tee baseline_analyze_summary.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2-5. 결과 기록
|
|
||||||
|
|
||||||
**파일로 저장된 결과:**
|
|
||||||
```
|
|
||||||
params.sql, queries/*.sql ← 04단계에서 그대로 재사용 (수정 금지)
|
|
||||||
run_measure.sh, summarize_explain.py ← 04단계에서 그대로 재사용
|
|
||||||
baseline_pick_time.txt ← 측정 기준 시각 선정 근거
|
|
||||||
baseline_explain_q*.json (6개) ← EXPLAIN 결과
|
|
||||||
baseline_explain_summary.txt ← EXPLAIN 요약
|
|
||||||
baseline_perf.txt ← 실행 시간 (-vvv 전체 출력, 네트워크 포함)
|
|
||||||
summarize_analyze.py ← 04단계에서 그대로 재사용
|
|
||||||
baseline_analyze.txt ← ANALYZE 결과 (서버 측 실행 통계)
|
|
||||||
baseline_analyze_summary.txt ← 서버 측 실행 시간 요약
|
|
||||||
```
|
|
||||||
|
|
||||||
2-3 요약과 2-4 결과는 04단계 4-4의 `comparison.txt`에 옮겨 적습니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 다음 단계
|
|
||||||
|
|
||||||
✅ 베이스라인 측정 완료 → **03-add-indexes.md로 이동**
|
|
||||||
@@ -1,302 +0,0 @@
|
|||||||
# 03단계: 중복 정리 + 인덱스 추가
|
|
||||||
|
|
||||||
> 온라인 DDL로 서비스 중단 없이 인덱스를 추가합니다. UNIQUE 키를 넣기 전에 최고기록 테이블의 중복을 정리합니다.
|
|
||||||
|
|
||||||
모든 명령은 `result/` 디렉터리에서 실행합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3-0. 중복 데이터 정리 (필수)
|
|
||||||
|
|
||||||
> UNIQUE 키 추가 전에 `app_highest_record`의 중복을 정리합니다. `typing_exam_highest_record`는 01단계에서 중복 0건이라 확인만 합니다.
|
|
||||||
|
|
||||||
### 왜 점수 기준으로 남기나
|
|
||||||
|
|
||||||
- 중복은 같은 학생의 결과 저장 요청이 동시에 들어올 때 생깁니다. `src/web/server/record/update_result_record.php`는 "조회 → 없으면 INSERT"와 "DELETE → INSERT"를 트랜잭션 없이 실행하므로 두 요청이 모두 INSERT할 수 있습니다.
|
|
||||||
- 그래서 **가장 최근 행이 최고 점수라는 보장이 없습니다.** 이전 버전 문서처럼 `MAX(ID)`를 남기면 최고기록이 낮아질 수 있습니다.
|
|
||||||
- 좋은 기록의 기준은 [util_app.php](../../../../src/web/server/lib/util_app.php)의 `is_highest_record_prefer_app()`을 따릅니다. **AppID 105는 낮은 점수**, 나머지 앱은 **높은 점수**가 좋은 기록입니다. 점수가 같으면 최근 행(ID가 큰 행)을 남깁니다.
|
|
||||||
- `typing_exam_highest_record`는 높은 점수가 좋은 기록입니다 (`update_typing_exam_record.php`).
|
|
||||||
|
|
||||||
### UNIQUE 키 추가 후 앱 동작
|
|
||||||
|
|
||||||
- 같은 조합의 INSERT가 또 들어오면 `ERROR 1062 Duplicate entry`로 거부되어 중복이 더 생기지 않습니다.
|
|
||||||
- PHP 7.3 mysqli는 기본 설정에서 예외를 던지지 않고 `execute()`가 false만 반환하므로 **화면이 멈추지 않습니다.** 먼저 저장된 행이 남습니다.
|
|
||||||
- 드물게 동시에 저장한 두 기록 중 덜 좋은 기록이 남을 수 있습니다 (지금은 같은 상황에서 중복 행이 생깁니다).
|
|
||||||
|
|
||||||
### 3-0-1. 중복 규모 확인
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT COUNT(*) AS dup_groups, SUM(cnt - 1) AS rows_to_delete
|
|
||||||
FROM (SELECT COUNT(*) AS cnt FROM app_highest_record
|
|
||||||
GROUP BY MaestroID, PlayerID, AppID HAVING cnt > 1) t;" > dedupe_before_count.txt
|
|
||||||
|
|
||||||
cat dedupe_before_count.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
`rows_to_delete` 값을 메모합니다. 3-0-2 백업 행 수, 3-0-3 삭제 행 수와 같아야 합니다. (01단계 측정: 4,823조합 / 8,795행. 작업 당일에는 조금 늘어날 수 있습니다)
|
|
||||||
|
|
||||||
### 3-0-2. 삭제 대상 행 백업
|
|
||||||
|
|
||||||
삭제할 행만 INSERT 문으로 저장합니다. 되돌릴 때 06단계에서 이 파일을 실행합니다. (SELECT 권한만 필요)
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb-dump -h chocomae.jinaju.com -u jisangs -p \
|
|
||||||
--single-transaction --no-create-info --skip-triggers --no-tablespaces --skip-add-locks \
|
|
||||||
--where="AppHighestRecordID IN (SELECT AppHighestRecordID FROM (SELECT AppHighestRecordID, ROW_NUMBER() OVER (PARTITION BY MaestroID, PlayerID, AppID ORDER BY CASE WHEN AppID = 105 THEN HighestRecord ELSE -HighestRecord END, AppHighestRecordID DESC) AS rn FROM app_highest_record) ranked WHERE rn > 1)" \
|
|
||||||
chocomae app_highest_record > backup_app_highest_dup_rows.sql
|
|
||||||
|
|
||||||
echo "백업한 행 수: $(grep -c '^(' backup_app_highest_dup_rows.sql)"
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:** 백업한 행 수 = 3-0-1의 `rows_to_delete`
|
|
||||||
|
|
||||||
### 3-0-3. 중복 삭제 (DELETE 권한 — jisangs에 임시 부여됨)
|
|
||||||
|
|
||||||
> 3-2 인덱스 추가 **직전**에 실행하세요. 삭제 후 UNIQUE 키가 생기기 전까지 새 중복이 생길 수 있습니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -vvv << 'EOF' | tee dedupe_result.txt
|
|
||||||
DELETE AHR FROM app_highest_record AHR
|
|
||||||
JOIN (
|
|
||||||
SELECT AppHighestRecordID FROM (
|
|
||||||
SELECT AppHighestRecordID,
|
|
||||||
ROW_NUMBER() OVER (
|
|
||||||
PARTITION BY MaestroID, PlayerID, AppID
|
|
||||||
ORDER BY CASE WHEN AppID = 105 THEN HighestRecord ELSE -HighestRecord END,
|
|
||||||
AppHighestRecordID DESC
|
|
||||||
) AS rn
|
|
||||||
FROM app_highest_record
|
|
||||||
) ranked
|
|
||||||
WHERE rn > 1
|
|
||||||
) dup ON dup.AppHighestRecordID = AHR.AppHighestRecordID;
|
|
||||||
|
|
||||||
SELECT 'app_highest_record' AS table_name,
|
|
||||||
COUNT(*) AS total_rows,
|
|
||||||
COUNT(DISTINCT MaestroID, PlayerID, AppID) AS unique_combos
|
|
||||||
FROM app_highest_record;
|
|
||||||
|
|
||||||
SELECT 'typing_exam_highest_record' AS table_name,
|
|
||||||
COUNT(*) AS total_rows,
|
|
||||||
COUNT(DISTINCT MaestroID, PlayerID, WritingID) AS unique_combos
|
|
||||||
FROM typing_exam_highest_record;
|
|
||||||
EOF
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:**
|
|
||||||
- DELETE 결과 `Query OK, N rows affected`의 N = 3-0-1의 `rows_to_delete`
|
|
||||||
- 두 테이블 모두 `total_rows` = `unique_combos` (중복 없음)
|
|
||||||
|
|
||||||
> `typing_exam_highest_record`에서 `total_rows` ≠ `unique_combos`이면, 3-0-2와 같은 방식으로 백업한 뒤 아래 SQL로 정리합니다 (높은 점수, 같으면 최근 행을 남김).
|
|
||||||
>
|
|
||||||
> ```sql
|
|
||||||
> DELETE TEHR FROM typing_exam_highest_record TEHR
|
|
||||||
> JOIN (
|
|
||||||
> SELECT TypingExamHighestRecordID FROM (
|
|
||||||
> SELECT TypingExamHighestRecordID,
|
|
||||||
> ROW_NUMBER() OVER (
|
|
||||||
> PARTITION BY MaestroID, PlayerID, WritingID
|
|
||||||
> ORDER BY HighestRecord DESC, TypingExamHighestRecordID DESC
|
|
||||||
> ) AS rn
|
|
||||||
> FROM typing_exam_highest_record
|
|
||||||
> ) ranked
|
|
||||||
> WHERE rn > 1
|
|
||||||
> ) dup ON dup.TypingExamHighestRecordID = TEHR.TypingExamHighestRecordID;
|
|
||||||
> ```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3-1. 인덱스 추가 SQL 준비
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat > add_indexes.sql << 'EOF'
|
|
||||||
-- best_record: 랭킹용
|
|
||||||
ALTER TABLE best_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_app_dt (MaestroID, AppID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- best_record: 히스토리/저장용
|
|
||||||
ALTER TABLE best_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_app_dt (MaestroID, PlayerID, AppID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- typing_exam_record
|
|
||||||
ALTER TABLE typing_exam_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_writing_dt (MaestroID, WritingID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
ALTER TABLE typing_exam_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_writing_dt (MaestroID, PlayerID, WritingID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- license_score
|
|
||||||
ALTER TABLE license_score
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_dt (MaestroID, PlayerID, ScoreDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- app_highest_record: UNIQUE 키
|
|
||||||
ALTER TABLE app_highest_record
|
|
||||||
ADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_app (MaestroID, PlayerID, AppID),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- typing_exam_highest_record: UNIQUE 키
|
|
||||||
ALTER TABLE typing_exam_highest_record
|
|
||||||
ADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_writing (MaestroID, PlayerID, WritingID),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat add_indexes.sql # 확인
|
|
||||||
```
|
|
||||||
|
|
||||||
> `IF NOT EXISTS`: 중간에 실패해 다시 실행해도 이미 만든 인덱스는 건너뜁니다 (`Note 1061 Duplicate key name`만 표시되고 에러는 아님).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3-2. 인덱스 추가 실행
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -vvv < add_indexes.sql | tee add_indexes_result.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:** ALTER 7개가 모두 `Query OK`로 끝남
|
|
||||||
|
|
||||||
**`Duplicate entry ... for key 'uk_...'` 에러가 나면:**
|
|
||||||
- 3-0 이후 새 중복이 생긴 것입니다. 에러가 난 지점에서 실행이 멈추고, 뒤의 ALTER는 실행되지 않습니다.
|
|
||||||
- 3-0-2(백업 파일 이름을 바꿔서)와 3-0-3을 다시 실행한 뒤 이 명령을 다시 실행하세요. 이미 만든 인덱스는 건너뜁니다.
|
|
||||||
|
|
||||||
### 진행 상황 모니터링 (다른 터미널)
|
|
||||||
|
|
||||||
**다른 터미널을 열어서 아래 명령어를 반복 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "SHOW PROCESSLIST;" | grep -E "ALTER|Query|State"
|
|
||||||
```
|
|
||||||
|
|
||||||
**자동 반복 실행 (선택사항):**
|
|
||||||
|
|
||||||
비밀번호는 처음에 한 번만 입력합니다. 10초마다 다시 묻지 않습니다. 비밀번호는 파일이나 명령 인자로 남기지 않고 메모리에만 두며, `Ctrl+C`로 멈추면 함께 사라집니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
(
|
|
||||||
printf "Enter password: "; read -rs DBPW; echo
|
|
||||||
while true; do
|
|
||||||
clear
|
|
||||||
echo "=== $(date) === (종료: Ctrl+C)"
|
|
||||||
mariadb --defaults-extra-file=<(printf '[client]\npassword="%s"\n' "$DBPW") \
|
|
||||||
-h chocomae.jinaju.com -u jisangs chocomae -e "SHOW PROCESSLIST;" \
|
|
||||||
| grep -E "ALTER|Query|State"
|
|
||||||
sleep 10
|
|
||||||
done
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
> `--defaults-extra-file`은 반드시 첫 번째 옵션이어야 합니다. 비밀번호를 틀리면 매번 `Access denied`가 출력되니 `Ctrl+C`로 멈추고 다시 실행하세요.
|
|
||||||
>
|
|
||||||
> PROCESS 권한이 없으면 `SHOW PROCESSLIST`에는 내 계정의 연결만 보입니다. ALTER는 같은 `jisangs` 계정으로 실행하므로 보입니다.
|
|
||||||
|
|
||||||
**나타날 메시지 (State 문구는 버전에 따라 다름):**
|
|
||||||
```
|
|
||||||
| 123 | jisangs | ... | chocomae | Query | 45 | ... | ALTER TABLE best_record ADD INDEX IF NOT EXISTS idx_maestro_app_dt ... |
|
|
||||||
```
|
|
||||||
|
|
||||||
**완료되면:** ALTER TABLE 줄이 사라짐 ✅
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3-3. 인덱스 생성 확인
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT TABLE_NAME, INDEX_NAME, NON_UNIQUE,
|
|
||||||
GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS cols
|
|
||||||
FROM information_schema.STATISTICS
|
|
||||||
WHERE TABLE_SCHEMA = 'chocomae'
|
|
||||||
AND INDEX_NAME IN ('idx_maestro_app_dt', 'idx_maestro_player_app_dt',
|
|
||||||
'idx_maestro_writing_dt', 'idx_maestro_player_writing_dt',
|
|
||||||
'idx_maestro_player_dt', 'uk_maestro_player_app', 'uk_maestro_player_writing')
|
|
||||||
GROUP BY TABLE_NAME, INDEX_NAME, NON_UNIQUE
|
|
||||||
ORDER BY TABLE_NAME, INDEX_NAME;" > add_indexes_check.txt
|
|
||||||
|
|
||||||
cat add_indexes_check.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**출력 예 (7행이어야 함):**
|
|
||||||
```
|
|
||||||
TABLE_NAME INDEX_NAME NON_UNIQUE cols
|
|
||||||
app_highest_record uk_maestro_player_app 0 MaestroID,PlayerID,AppID
|
|
||||||
best_record idx_maestro_app_dt 1 MaestroID,AppID,RecordDateTime
|
|
||||||
best_record idx_maestro_player_app_dt 1 MaestroID,PlayerID,AppID,RecordDateTime
|
|
||||||
license_score idx_maestro_player_dt 1 MaestroID,PlayerID,ScoreDateTime
|
|
||||||
typing_exam_highest_record uk_maestro_player_writing 0 MaestroID,PlayerID,WritingID
|
|
||||||
typing_exam_record idx_maestro_player_writing_dt 1 MaestroID,PlayerID,WritingID,RecordDateTime
|
|
||||||
typing_exam_record idx_maestro_writing_dt 1 MaestroID,WritingID,RecordDateTime
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3-4. 쿼리 조건 수정 (선택: 인덱스 최대 활용)
|
|
||||||
|
|
||||||
> **중요:** 인덱스만으로도 성능이 개선되지만, 함수 기반 조건을 범위 조건으로 변경하면 **1,770배** 추가 성능 향상 가능 (스테이징 기준)
|
|
||||||
>
|
|
||||||
> 04단계는 함수형(q1·q3·q5)과 범위형(q2·q4·q6)을 모두 측정하므로, 운영에서도 인덱스만 적용했을 때와 쿼리까지 수정했을 때의 차이를 확인할 수 있습니다.
|
|
||||||
|
|
||||||
### 수정 대상 (7개 파일, 8+ 함수)
|
|
||||||
|
|
||||||
**꼭 필요한 파일:**
|
|
||||||
1. `src/web/server/record/app_ranking.php` (3개 함수)
|
|
||||||
2. `src/web/server/record/ranking_record_*.php` (3개 파일)
|
|
||||||
3. `src/web/server/record/history_record.php`
|
|
||||||
4. `src/web/php/db/typing_exam_collection.php` (8개 함수)
|
|
||||||
|
|
||||||
### 변경 예시
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 변경 전 (인덱스 일부만 사용)
|
|
||||||
WHERE DATE(RecordDateTime) = DATE(NOW())
|
|
||||||
AND HOUR(RecordDateTime) = HOUR(NOW())
|
|
||||||
|
|
||||||
-- 변경 후 (인덱스 완전 활용)
|
|
||||||
WHERE RecordDateTime >= CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') AS DATETIME)
|
|
||||||
AND RecordDateTime < CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') AS DATETIME) + INTERVAL 1 HOUR
|
|
||||||
```
|
|
||||||
|
|
||||||
**자세한 변경 규칙:** [02-option1-index-and-query-rewrite.md section 3-3](../02-option1-index-and-query-rewrite.md)
|
|
||||||
|
|
||||||
### 수정 진행 상황 (Stage에서 완료됨)
|
|
||||||
|
|
||||||
- [x] ✅ Stage 서버에서 7개 파일 모두 수정 완료
|
|
||||||
- [x] ✅ 결과 동일성 검증 완료 (EXCEPT로 확인)
|
|
||||||
- [x] ✅ EXPLAIN 성능 개선 확인 (rows: 5,804 → 1, cost: 8.634 → 0.00488)
|
|
||||||
- [x] ⚠️ 후속 수정 (2026-09-15): 히스토리 쿼리 2곳(`history_record.php`, `typing_exam_collection.php` `getHistoryRecord()`)의 하한 조건 `>= DATE(?) - INTERVAL 7 DAY` 삭제 → "기록이 있는 최근 7일" 동작 복원. **운영 배포 코드에 반드시 포함** ([상세](../260915-improve-stage/result/FINAL-REPORT.md))
|
|
||||||
- [ ] Stage에서 히스토리 재검증 (8일보다 전 기록만 있는 학생으로 일반 앱·긴글의 시작·결과 화면 확인)
|
|
||||||
|
|
||||||
### Production 적용 방법
|
|
||||||
|
|
||||||
> **실제 적용 (2026-09-15):** 인덱스 추가(3-2) 직후, 04단계 측정 전에 애플리케이션(PHP, 화면) 코드도 운영에 배포했습니다. 04단계 측정 쿼리는 `queries/*.sql`을 직접 실행하므로 코드 배포의 영향을 받지 않습니다.
|
|
||||||
|
|
||||||
**Option A: 단계적 적용 (권장)**
|
|
||||||
1. 먼저 인덱스만 적용 (이 파일)
|
|
||||||
2. 1~2일 모니터링
|
|
||||||
3. 이후 코드 배포
|
|
||||||
|
|
||||||
**Option B: 한 번에 적용**
|
|
||||||
1. 인덱스 추가 + 코드 배포 동시 진행
|
|
||||||
2. 더 빠른 성능 향상
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 다음 단계
|
|
||||||
|
|
||||||
✅ 인덱스 추가 완료 → **04-verify.md로 이동**
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
# 04단계: 개선 효과 검증
|
|
||||||
|
|
||||||
> 인덱스 추가 후 02단계와 **같은 스크립트, 같은 쿼리, 같은 시각**으로 다시 측정해 비교합니다.
|
|
||||||
|
|
||||||
모든 명령은 `result/` 디렉터리에서 실행합니다. `params.sql`, `queries/`는 02단계 그대로 두세요.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd doc/plan/db/260915-improve-production/result
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4-1. 측정 실행
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
zsh run_measure.sh after
|
|
||||||
```
|
|
||||||
|
|
||||||
`after_explain_q*.json` 6개와 `after_perf.txt`가 저장되고 요약이 출력됩니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4-2. EXPLAIN 비교
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 summarize_explain.py baseline after | tee explain_summary.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인할 점:**
|
|
||||||
|
|
||||||
| 쿼리 | 기대 결과 |
|
|
||||||
|---|---|
|
|
||||||
| q2, q4, q6 (범위형) | `access_type` = `range`, 새 인덱스(`idx_maestro_app_dt` 또는 `idx_maestro_player_app_dt`) 사용, `rows`가 베이스라인보다 크게 감소 |
|
|
||||||
| q1, q3, q5 (함수형) | 새 인덱스를 써도 날짜 조건은 인덱스로 거르지 못해 `rows` 감소 폭이 작음 → 3-4 쿼리 수정이 필요한 이유 |
|
|
||||||
|
|
||||||
> 옵티마이저가 두 새 인덱스 중 어느 쪽을 고를지는 데이터 분포에 따라 다릅니다. 새 인덱스 중 하나를 쓰고 `rows`가 줄었으면 정상입니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4-3. 결과 행 수 비교
|
|
||||||
|
|
||||||
인덱스는 조회 결과를 바꾸지 않아야 합니다.
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
rowcount() {
|
|
||||||
grep -E '^\| === |rows? in set|Empty set' "$1" | paste - - - | grep 'round 2' \
|
|
||||||
| sed -E 's/ \([0-9.]+ sec\)//g'
|
|
||||||
}
|
|
||||||
diff <(rowcount baseline_perf.txt) <(rowcount after_perf.txt) && echo "결과 행 수 동일 ✅"
|
|
||||||
```
|
|
||||||
|
|
||||||
> `@day`가 지난달이라 02와 04 사이에 데이터가 거의 바뀌지 않습니다. 다르게 나오면 그 사이 선생님이 기록을 삭제했는지 확인하세요. (3-0 중복 정리는 `best_record`를 건드리지 않습니다)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4-4. 실행 시간 비교
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
timing() {
|
|
||||||
grep -E '^\| === |rows? in set|Empty set' "$1" | paste - - - | grep 'round 2' \
|
|
||||||
| sed -E 's/\| === round 2: (.*) === \|/\1/; s/\t1 row in set \([0-9.]+ sec\)//'
|
|
||||||
}
|
|
||||||
paste <(timing baseline_perf.txt) <(timing after_perf.txt | cut -f2) | tee timing_summary.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**출력 형식:** `쿼리 이름` · `베이스라인 행 수 (시간)` · `개선 후 행 수 (시간)`
|
|
||||||
|
|
||||||
4-2와 4-4-1 결과를 비교표에 옮깁니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat > comparison.txt << 'EOF'
|
|
||||||
=== 성능 개선 효과 (운영 DB) ===
|
|
||||||
측정 기준: params.sql (MaestroID 181, AppID 21, @day ____, @hour ____)
|
|
||||||
|
|
||||||
| 쿼리 | access_type (전→후) | rows (전→후) | 서버 시간 ms (전→후, 4-4-1) |
|
|
||||||
|--------------------|---------------------|----------------|-------------------|
|
|
||||||
| q1 시간별 · 함수 | ____ → ____ | ____ → ____ | ____ → ____ |
|
|
||||||
| q2 시간별 · 범위 | ____ → ____ | ____ → ____ | ____ → ____ |
|
|
||||||
| q3 일간 · 함수 | ____ → ____ | ____ → ____ | ____ → ____ |
|
|
||||||
| q4 일간 · 범위 | ____ → ____ | ____ → ____ | ____ → ____ |
|
|
||||||
| q5 월간 · 함수 | ____ → ____ | ____ → ____ | ____ → ____ |
|
|
||||||
| q6 월간 · 범위 | ____ → ____ | ____ → ____ | ____ → ____ |
|
|
||||||
|
|
||||||
참고 (스테이징): rows 5,804 → 1, cost 8.63 → 0.004
|
|
||||||
참고 (운영 01 사전 측정): 일간 랭킹 index_merge, rows 10,100
|
|
||||||
|
|
||||||
결과 행 수 동일 (4-3): [ ] 예 [ ] 아니오
|
|
||||||
|
|
||||||
결론:
|
|
||||||
- 인덱스만의 효과 (q1·q3·q5): ____
|
|
||||||
- 인덱스 + 쿼리 수정 효과 (q2·q4·q6): ____
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat comparison.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4-4-1. 서버 측 실행 시간 비교 (ANALYZE)
|
|
||||||
|
|
||||||
4-4의 시간에는 네트워크 왕복(운영 측정 기준 약 15ms)이 포함됩니다. 02단계 2-4-1과 같은 방법으로 서버 처리 시간을 측정해 비교합니다. (베이스라인: 6개 모두 약 75~80ms)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
{ cat params.sql
|
|
||||||
for q in queries/*.sql; do
|
|
||||||
echo "SELECT '=== ${q:t:r} ===';"
|
|
||||||
printf 'ANALYZE FORMAT=JSON '
|
|
||||||
cat "$q"
|
|
||||||
done
|
|
||||||
} | mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -N -r > after_analyze.txt
|
|
||||||
|
|
||||||
python3 summarize_analyze.py after | tee after_analyze_summary.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python3 summarize_analyze.py baseline after | tee analyze_summary.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4-5. Slow Query Log 확인 (`mysql.slow_log` SELECT 권한 필요)
|
|
||||||
|
|
||||||
**아래 명령어를 터미널에 복사-붙여넣기해서 실행하세요:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT start_time, query_time, rows_examined, LEFT(sql_text, 120) AS sql_text
|
|
||||||
FROM mysql.slow_log
|
|
||||||
WHERE start_time >= NOW() - INTERVAL 1 HOUR
|
|
||||||
ORDER BY query_time DESC
|
|
||||||
LIMIT 10;" > after_slow_log.txt
|
|
||||||
|
|
||||||
cat after_slow_log.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
- 측정 스크립트의 쿼리도 0.5초를 넘으면 기록됩니다. 운영 앱 쿼리 중 느린 것이 남아 있는지 확인하세요.
|
|
||||||
- `log_output`에 `TABLE`이 없으면 이 테이블은 비어 있습니다 (02단계 2-1 참고).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 다음 단계
|
|
||||||
|
|
||||||
✅ 개선 효과 검증 완료 → **05-checklist.md로 이동**
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
# 05단계: 최종 체크리스트
|
|
||||||
|
|
||||||
> 운영 서버 인덱스 적용 전후 모든 단계를 최종 확인합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 준비 단계
|
|
||||||
|
|
||||||
- [x] DB 백업 (전체 `mariadb-dump` → `backup_chocomae_full_20260915.sql.gz`, 로컬 복원 테스트 통과)
|
|
||||||
- [x] 운영 DB 현황 측정 (01-premeasure.md, 2026-09-15)
|
|
||||||
- [x] 계정 권한 확인 (01 1-0: `SELECT, ALTER`만 있음)
|
|
||||||
- [x] 작업 권한 임시 부여 (SUPER, 최고기록 테이블 2개 INSERT·DELETE, `mysql.slow_log` SELECT — `premeasure_grants_after.txt`)
|
|
||||||
- [x] Slow query log 원래 설정 저장 (01 1-4: ON, long_query_time=3, log_output=FILE)
|
|
||||||
- [x] app_highest_record 전체 중복 개수 확인 (01 1-5-2: 4,823조합, 삭제 대상 8,795행)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 베이스라인 측정 (02-baseline.md)
|
|
||||||
|
|
||||||
- [x] 지난달 측정 기준 시각 선정, `params.sql` 작성
|
|
||||||
- [x] Slow query log 켜기 (jisangs 계정, `log_queries_not_using_indexes`는 켜지 않음)
|
|
||||||
- [x] `queries/` 6개, `run_measure.sh`, `summarize_explain.py` 작성
|
|
||||||
- [x] `zsh run_measure.sh baseline` 실행
|
|
||||||
- `baseline_explain_q*.json` 6개
|
|
||||||
- `baseline_perf.txt`
|
|
||||||
- [x] 확인: 함수형·범위형 짝(q1↔q2, q3↔q4, q5↔q6)의 결과 행 수가 같음
|
|
||||||
- [x] 기준값 기록: `baseline_explain_summary.txt` (운영은 ALL이 아니라 index_merge일 수 있음)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 중복 정리·인덱스 추가 (03-add-indexes.md)
|
|
||||||
|
|
||||||
- [x] 3-0-1 중복 규모 확인 (`rows_to_delete` 메모)
|
|
||||||
- [x] 3-0-2 삭제 대상 행 백업 `backup_app_highest_dup_rows.sql` (백업 행 수 = `rows_to_delete`)
|
|
||||||
- [x] 3-0-3 중복 삭제 (`rows affected` = `rows_to_delete`)
|
|
||||||
- [x] 확인: 두 테이블 모두 `total_rows` = `unique_combos`
|
|
||||||
- [x] `add_indexes.sql` 준비
|
|
||||||
- [x] 인덱스 추가 실행 (`add_indexes_result.txt`, ALTER 7개 모두 `Query OK`)
|
|
||||||
- [x] ~~SHOW PROCESSLIST로 진행 상황 모니터링~~ 생략 (ALTER 7개 합계 약 12초)
|
|
||||||
- [x] 새 인덱스 7개 확인 (`add_indexes_check.txt`)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 개선 효과 검증 (04-verify.md)
|
|
||||||
|
|
||||||
- [x] `zsh run_measure.sh after` 실행
|
|
||||||
- [x] 확인: 범위형 쿼리(q2, q4, q6)에서 `access_type` = `range`, 새 인덱스 사용
|
|
||||||
- [x] 확인: `rows`가 베이스라인보다 크게 감소
|
|
||||||
- [x] 확인: 결과 행 수가 베이스라인과 같음 (4-3)
|
|
||||||
- [x] 실행 시간 비교, `comparison.txt` 작성
|
|
||||||
- [x] Slow query log에서 느린 쿼리 확인 (`after_slow_log.txt`)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 성공 기준
|
|
||||||
|
|
||||||
모두 체크되면 **운영 서버 적용 완료:**
|
|
||||||
|
|
||||||
- [x] 인덱스 7개 추가 성공
|
|
||||||
- [x] 범위형 쿼리가 새 인덱스를 사용 (`access_type` = `range`)
|
|
||||||
- [x] 쿼리 실행 시간 개선 확인
|
|
||||||
- [x] 스캔 행 수 대폭 감소
|
|
||||||
- [x] 결과 행 수 변화 없음
|
|
||||||
- [x] 서비스 정상 운영 (게임 결과 저장, 최고기록·랭킹·기록 화면) — 2026-09-15 운영에서 확인: 게임 결과 저장·최고기록, 시간·일·월 랭킹, 최근 7번 기록 화면, 타자 시험 순위와 기록
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 사후 작업
|
|
||||||
|
|
||||||
- [x] Slow query log 설정을 원래 값으로 복원 (jisangs 계정 — **SUPER 회수 전에** 실행, 2026-09-15 완료: ON / 3 / FILE / OFF)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 01 1-4에서 저장한 원래 값 (premeasure_slow_log_settings.txt)
|
|
||||||
SET GLOBAL slow_query_log = 'ON';
|
|
||||||
SET GLOBAL long_query_time = 3;
|
|
||||||
SET GLOBAL log_output = 'FILE';
|
|
||||||
```
|
|
||||||
|
|
||||||
- [x] 임시로 부여한 권한 회수 (관리자 계정, slow log 복원 후) — 2026-09-15 완료, `result/grants_after_revoke.txt`: `USAGE` + `SELECT, ALTER ON chocomae.*`만 남음
|
|
||||||
|
|
||||||
```sql
|
|
||||||
REVOKE DELETE, INSERT ON chocomae.app_highest_record FROM 'jisangs'@'182.217.174.221';
|
|
||||||
REVOKE DELETE, INSERT ON chocomae.typing_exam_highest_record FROM 'jisangs'@'182.217.174.221';
|
|
||||||
REVOKE SELECT ON mysql.slow_log FROM 'jisangs'@'182.217.174.221';
|
|
||||||
REVOKE SUPER ON *.* FROM 'jisangs'@'182.217.174.221';
|
|
||||||
|
|
||||||
-- 기대 결과: GRANT USAGE ... 와 GRANT SELECT, ALTER ON `chocomae`.* 두 줄만 남음
|
|
||||||
SHOW GRANTS FOR 'jisangs'@'182.217.174.221';
|
|
||||||
```
|
|
||||||
|
|
||||||
- [x] 임시 계정 `jisangs`@`182.217.174.221` 삭제 (2026-09-15, root 계정으로 `DROP USER`)
|
|
||||||
- ~~[ ] 같은 비밀번호를 쓰는 다른 계정 교체 (Gmail SMTP, Python 배치의 DB root 설정)~~ — 취소 (2026-09-15)
|
|
||||||
- ~~[ ] 팀원 통보 (작업 완료)~~ — 취소 (2026-09-15)
|
|
||||||
- [ ] 모니터링 (24시간)
|
|
||||||
- [ ] 문제 발생 시 롤백 준비 완료 (06-rollback.md)
|
|
||||||
- [ ] 사후 분석 (07-post-analysis.md)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**운영 서버 적용 완료!** ✅
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
# 06단계: 롤백 계획
|
|
||||||
|
|
||||||
> 문제 발생 시 인덱스를 삭제하고, 필요하면 중복 정리 전 상태로 되돌립니다.
|
|
||||||
>
|
|
||||||
> ⚠️ 작업용 `jisangs` 계정은 2026-09-15에 삭제했습니다. 이 문서의 `-u jisangs` 명령은 관리자 계정으로 바꿔 실행하세요.
|
|
||||||
|
|
||||||
모든 명령은 `result/` 디렉터리에서 실행합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚨 긴급 상황 대응
|
|
||||||
|
|
||||||
### 1. 진행 중인 ALTER 중단
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "SHOW PROCESSLIST;" | grep ALTER
|
|
||||||
|
|
||||||
# 첫 번째 열(Id)의 값을 넣어 실행
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "KILL QUERY <Id>;"
|
|
||||||
```
|
|
||||||
|
|
||||||
> 온라인 DDL을 중단하면 그 인덱스만 만들어지지 않고 테이블 데이터는 그대로입니다. 내 계정이 실행한 쿼리는 별도 권한 없이 중단할 수 있습니다.
|
|
||||||
|
|
||||||
### 2. 인덱스 삭제
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae << 'EOF'
|
|
||||||
-- 모든 인덱스 삭제
|
|
||||||
ALTER TABLE best_record DROP INDEX IF EXISTS idx_maestro_app_dt;
|
|
||||||
ALTER TABLE best_record DROP INDEX IF EXISTS idx_maestro_player_app_dt;
|
|
||||||
ALTER TABLE typing_exam_record DROP INDEX IF EXISTS idx_maestro_writing_dt;
|
|
||||||
ALTER TABLE typing_exam_record DROP INDEX IF EXISTS idx_maestro_player_writing_dt;
|
|
||||||
ALTER TABLE license_score DROP INDEX IF EXISTS idx_maestro_player_dt;
|
|
||||||
ALTER TABLE app_highest_record DROP INDEX IF EXISTS uk_maestro_player_app;
|
|
||||||
ALTER TABLE typing_exam_highest_record DROP INDEX IF EXISTS uk_maestro_player_writing;
|
|
||||||
EOF
|
|
||||||
```
|
|
||||||
|
|
||||||
> UNIQUE 키 2개는 성능과 무관하므로, 성능 문제로 롤백할 때는 남겨 두어도 됩니다. 남겨 두면 중복이 다시 생기지 않습니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 중복 정리 되돌리기 (필요할 때만)
|
|
||||||
|
|
||||||
삭제한 행은 같은 조합의 **덜 좋은 기록**이라 보통 되돌릴 필요가 없습니다. 되돌려야 하면 UNIQUE 키를 먼저 삭제한 뒤 03단계 3-0-2의 백업 파일을 실행합니다. (INSERT 권한 — jisangs에 임시 부여됨)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
ALTER TABLE app_highest_record DROP INDEX IF EXISTS uk_maestro_player_app;"
|
|
||||||
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae < backup_app_highest_dup_rows.sql
|
|
||||||
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SELECT COUNT(*) AS total_rows FROM app_highest_record;"
|
|
||||||
```
|
|
||||||
|
|
||||||
> 백업 파일은 원래 ID 그대로 INSERT하므로 기존 행과 충돌하지 않습니다. 복원 후 `total_rows`는 3-0-3 삭제 전 행 수(그 사이 새로 저장된 기록 제외)와 같아야 합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 전체 백업에서 복원 (최후의 수단)
|
|
||||||
|
|
||||||
운영 DB는 AWS RDS가 아니라 **EC2의 Docker MariaDB**입니다. 인덱스 문제는 DROP INDEX로 충분하므로 데이터 손상이 있을 때만 사용하세요. **백업 이후 저장된 게임 기록은 모두 사라집니다.**
|
|
||||||
|
|
||||||
### 방법 1: 덤프 파일 복원
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# EC2 서버의 MariaDB 컨테이너 안에서 관리자 계정으로 실행
|
|
||||||
mariadb -u <관리자> -p chocomae < backup_2026-09-15.sql
|
|
||||||
```
|
|
||||||
|
|
||||||
### 방법 2: EBS 스냅샷 복원
|
|
||||||
|
|
||||||
1. AWS 콘솔 → EC2 → 스냅샷에서 작업 전 스냅샷 선택
|
|
||||||
2. 스냅샷으로 볼륨 생성 (EC2 인스턴스와 같은 가용 영역)
|
|
||||||
3. MariaDB 컨테이너 중지 → 기존 데이터 볼륨 분리 → 새 볼륨 연결·마운트
|
|
||||||
4. 컨테이너 시작 후 접속 확인
|
|
||||||
|
|
||||||
### 복제 상태 확인 (복제를 사용 중인 경우, 관리자 계정)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
SHOW MASTER STATUS;
|
|
||||||
SHOW REPLICA STATUS\G
|
|
||||||
```
|
|
||||||
|
|
||||||
### 서비스 정상 확인
|
|
||||||
- 웹 서비스 접속 테스트
|
|
||||||
- 타이핑 게임 플레이 테스트 (결과 저장, 최고기록 표시)
|
|
||||||
- 랭킹 조회 테스트
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 문제 원인 분석
|
|
||||||
|
|
||||||
| 증상 | 원인 | 대응 |
|
|
||||||
|---|---|---|
|
|
||||||
| 인덱스 생성 실패 | 디스크 부족 | DROP INDEX + 디스크 정리 |
|
|
||||||
| `Duplicate entry ... for key 'uk_...'` | 3-0 이후 새 중복 발생 | 3-0-2·3-0-3 다시 실행 후 `add_indexes.sql` 재실행 (이미 만든 인덱스는 건너뜀) |
|
|
||||||
| 서비스 느려짐 | 옵티마이저가 새 인덱스를 잘못 선택, 통계 부정확 | `ANALYZE TABLE best_record;` (관리자) → 그래도 느리면 해당 인덱스 DROP |
|
|
||||||
| 최고기록 화면 값 이상 | 중복 정리 결과 | 백업 파일에서 해당 조합 확인, 필요하면 "중복 정리 되돌리기" |
|
|
||||||
| 복제 지연·오류 | 복제 서버에서 DDL 적용 중 또는 실패 | `SHOW REPLICA STATUS`로 확인 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 복구 후 확인
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 테이블 상태 확인
|
|
||||||
mariadb -h chocomae.jinaju.com -u jisangs -p chocomae -e "
|
|
||||||
SHOW INDEXES FROM best_record;
|
|
||||||
SELECT COUNT(*) FROM best_record;
|
|
||||||
"
|
|
||||||
```
|
|
||||||
|
|
||||||
성능 확인은 `zsh run_measure.sh after`로 다시 측정해 `baseline_perf.txt`와 비교합니다. 기존 `after_*` 파일을 덮어쓰므로 먼저 다른 폴더로 옮기세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 문제 발생 시 연락
|
|
||||||
|
|
||||||
- **팀 리더**: [연락처]
|
|
||||||
- **DBA**: [연락처]
|
|
||||||
- **운영팀**: [연락처]
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**롤백은 최후의 수단입니다. 충분한 검토 후 신중하게 진행하세요.** ⚠️
|
|
||||||
@@ -1,278 +0,0 @@
|
|||||||
# 07단계: 사후 분석 및 최적화
|
|
||||||
|
|
||||||
> 운영 서버 적용 후 실제 성능을 분석하고 추가 최적화를 검토합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 실제 성능 측정 결과
|
|
||||||
|
|
||||||
### 운영 DB에서 측정한 개선율
|
|
||||||
|
|
||||||
`comparison.txt`(04단계)의 값을 옮겨 적었습니다 (2026-09-15). 6개 쿼리 전체 값은 [result/comparison.txt](result/comparison.txt)를 참고하세요.
|
|
||||||
|
|
||||||
| 항목 | 베이스라인 (02) | 개선 후 (04) | 개선율 | 상태 |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| **EXPLAIN rows (q2 시간별·범위)** | 10,103 | 22 | 459배 ⬇️ | [x] 확인 |
|
|
||||||
| **EXPLAIN rows (q4 일간·범위)** | 10,103 | 99 | 102배 ⬇️ | [x] 확인 |
|
|
||||||
| **EXPLAIN rows (q3 일간·함수)** | 10,103 | 5,851 | 1.7배 ⬇️ | [x] 확인 |
|
|
||||||
| **서버 처리 시간 (q4, ANALYZE)** | 75.2ms | 0.47ms | 161배 ⬇️ | [x] 확인 |
|
|
||||||
| **서버 처리 시간 (q3 일간·함수, ANALYZE)** | 75.3ms | 2.44ms | 31배 ⬇️ | [x] 확인 |
|
|
||||||
| **애플리케이션 느린 쿼리 (3초 이상)** | 0건 (slow log 전체 기간) | 0건 (9/16 하루) | - | [x] 확인 (04:00 백업 1건 외 기록 없음) |
|
|
||||||
|
|
||||||
> **slow log에 기록된 것은 모두 백업·작업 SQL이고, 애플리케이션 쿼리는 한 건도 없었습니다.**
|
|
||||||
> - 매일 04:00 약 5초: `best_record` 전체 SELECT (mysqldump 백업)
|
|
||||||
> - 9/7 17:44~18:07: 같은 백업 SELECT 반복 (백업 스크립트 작업일)
|
|
||||||
> - 9/15 23:04~23:09: 이번 작업의 전체 백업 덤프, 중복 DELETE, ALTER
|
|
||||||
>
|
|
||||||
> 앱 쿼리는 작업 전에도 3초를 넘지 않았으므로(측정 쿼리 서버 처리 시간 약 75ms), 이번 개선 효과는 이 지표가 아니라 04단계의 서버 처리 시간·검사 행 수로 판단합니다. 9/16 이후에도 04:00 백업 SELECT(약 5초, 전체 행을 읽으므로 인덱스와 무관)는 계속 기록되니 성능 저하로 오해하지 마세요.
|
|
||||||
>
|
|
||||||
> 원본: [result/slow_log_daily_before.txt](result/slow_log_daily_before.txt), [result/slow_log_entries_before.txt](result/slow_log_entries_before.txt)
|
|
||||||
|
|
||||||
> 참고: 01단계 사전 측정의 일간 랭킹(함수형)은 `index_merge`, rows 10,100이었습니다.
|
|
||||||
>
|
|
||||||
> MariaDB 10.11의 `EXPLAIN FORMAT=JSON`에는 cost 필드가 없어 스테이징의 cost 수치와 직접 비교할 수 없습니다. rows와 실행 시간으로 비교하고, 실제 실행 통계가 필요하면 `ANALYZE FORMAT=JSON <쿼리>`의 `r_rows`, `r_total_time_ms`를 사용하세요 (쿼리를 실제로 실행함).
|
|
||||||
|
|
||||||
### 저장된 파일
|
|
||||||
```
|
|
||||||
result/
|
|
||||||
├── premeasure_*.txt, premeasure_*.json ← 01 사전 측정
|
|
||||||
├── params.sql, queries/*.sql ← 02·04 공통 측정 쿼리
|
|
||||||
├── run_measure.sh, summarize_*.py ← 02·04 공통 측정 도구
|
|
||||||
├── baseline_explain_q*.json, baseline_perf.txt ← 02 EXPLAIN, 실행 시간
|
|
||||||
├── baseline_analyze.txt, baseline_*_summary.txt ← 02 서버 처리 시간
|
|
||||||
├── dedupe_before_count.txt, dedupe_result.txt ← 03 중복 정리
|
|
||||||
├── add_indexes.sql, add_indexes_*.txt ← 03 인덱스 추가
|
|
||||||
├── after_explain_q*.json, after_perf.txt ← 04 EXPLAIN, 실행 시간
|
|
||||||
├── after_analyze.txt, after_slow_log.txt ← 04 서버 처리 시간, slow log
|
|
||||||
├── explain_summary.txt, analyze_summary.txt ← 04 비교 요약
|
|
||||||
├── comparison.txt ← 04 비교표·결론
|
|
||||||
├── slow_log_daily_before.txt, slow_log_entries_*.txt ← 07 slow log 분석
|
|
||||||
├── peaktime/ ← 07 vmstat 원본 로그·스크립트
|
|
||||||
└── peaktime_vmstat_summary.txt ← 07 피크 시간대 비교
|
|
||||||
|
|
||||||
커밋 제외 (로컬에만 보관, 개인정보·비밀번호 해시 포함):
|
|
||||||
backup_chocomae_full_20260915.sql.gz, backup_app_highest_dup_rows.sql, *grants*.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔍 성능 분석
|
|
||||||
|
|
||||||
### 피크 시간대 서버 상태 (vmstat, 12:50~15:00)
|
|
||||||
|
|
||||||
운영 서버 cron이 매일 12:50부터 `vmstat 10 780`을 기록합니다 (`chocomae-peaktime-monitoring.sh`). 9/14·9/15는 개선 전, 9/16은 개선 후입니다.
|
|
||||||
|
|
||||||
| 지표 (779샘플 평균) | 9/14 | 9/15 | 9/16 (개선 후) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| CPU 사용 us+sy | 13.51% | 9.49% | **2.80%** |
|
|
||||||
| CPU 사용 p95 | 29% | 23% | **6%** |
|
|
||||||
| 누적 CPU 시간 (130분) | 1,052.8초 | 739.5초 | **217.9초** |
|
|
||||||
| us > 5 인 샘플 수 | 701 | 468 | **5** |
|
|
||||||
| 실행 대기 r ≥ 2 샘플 수 | 86 | 62 | **16** |
|
|
||||||
| 디스크 읽기 bi 평균 | 71.8 | 60.5 | **17.4** |
|
|
||||||
| 문맥 전환 cs 평균 (부하 지표) | 879 | 658 | 645 |
|
|
||||||
| 여유 메모리 free 평균 | 564MB | 433MB | 471MB |
|
|
||||||
| 피크 기록 수 (best_record) | 2,705건 | 1,947건 | 2,173건 |
|
|
||||||
| **기록 1,000건당 CPU** | 389.2초 | 379.8초 | **100.3초** |
|
|
||||||
|
|
||||||
- **부하는 비슷한데 CPU 사용량이 3.4배 줄었습니다.** 문맥 전환 수(cs)는 9/15 658 → 9/16 645로 거의 같은데, CPU 사용률은 9.49% → 2.80%입니다.
|
|
||||||
- 디스크 읽기(bi)도 3.5배 줄어, 인덱스로 읽는 페이지가 줄어든 것과 일치합니다.
|
|
||||||
- 메모리는 큰 변화가 없습니다.
|
|
||||||
|
|
||||||
원본과 계산 결과: [result/peaktime/](result/peaktime/), [result/peaktime_vmstat_summary.txt](result/peaktime_vmstat_summary.txt)
|
|
||||||
|
|
||||||
**사용자 수로 보정한 결과 (2026-09-16 확인):** 9/16은 9/15보다 기록이 약 12% 많았는데도 CPU는 3.4배 적게 썼습니다. 기록 1,000건당 CPU로 환산하면 **380초 → 100초로 약 3.8배 감소**했습니다. 개선 전 두 날(389.2초, 379.8초)의 값이 서로 비슷해 기준값으로 믿을 만합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 디스크 사용량 변화 (인덱스 추가 비용)
|
|
||||||
|
|
||||||
2026-09-16에 운영 DB에서 다시 측정했습니다. 01단계 측정값과 비교한 결과입니다.
|
|
||||||
|
|
||||||
| 테이블 | data_mb (전 → 후) | index_mb (전 → 후) | 인덱스 증가 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| best_record | 72.5 → 73.5 | 72.1 → **143.2** | +71.1MB |
|
|
||||||
| app_highest_record | 16.5 → 16.5 | 15.8 → 21.3 | +5.5MB |
|
|
||||||
| typing_exam_record | 10.3 → 10.3 | 10.9 → 17.9 | +7.0MB |
|
|
||||||
| typing_exam_highest_record | 1.4 → 1.4 | 1.2 → 1.7 | +0.5MB |
|
|
||||||
|
|
||||||
**best_record 인덱스별 크기** (`mysql.innodb_index_stats`)
|
|
||||||
|
|
||||||
| 인덱스 | 크기 | 비고 |
|
|
||||||
|---|---|---|
|
|
||||||
| PRIMARY | 73.5MB | 데이터 본체 |
|
|
||||||
| `idx_maestro_player_app_dt` | 35.6MB | 이번에 추가 |
|
|
||||||
| `idx_maestro_app_dt` | 30.6MB | 이번에 추가 |
|
|
||||||
| PlayerID | 29.3MB | 기존, 외래키용 |
|
|
||||||
| AppID | 25.4MB | 기존, 외래키용 |
|
|
||||||
| MaestroID | 22.3MB | 기존, 외래키용 (새 인덱스로 대체 가능) |
|
|
||||||
|
|
||||||
- **인덱스로 늘어난 디스크는 약 79MB**입니다. best_record의 증가분 71.1MB 중 약 4.9MB는 같은 기간 기록이 7% 늘어난 몫이고, 나머지 66.2MB가 새 복합 인덱스 2개입니다.
|
|
||||||
- DB 전체 크기는 약 207MB → 292MB로 **약 41% 늘었습니다.** 성능과 맞바꾼 디스크 비용입니다.
|
|
||||||
- `app_highest_record`는 8,795행을 지웠는데도 `data_mb`가 그대로입니다. InnoDB가 삭제한 공간을 파일에서 반환하지 않고 새 행에 재사용하기 때문이며 정상입니다.
|
|
||||||
- **메모리 사용량은 줄지 않았습니다.** InnoDB 버퍼 풀은 시작할 때 정해진 크기를 확보하므로 쿼리가 빨라져도 사용량이 달라지지 않습니다. 대신 같은 캐시로 더 적은 데이터만 다루게 되어 디스크 읽기가 줄었습니다(위 vmstat `bi` 참고).
|
|
||||||
|
|
||||||
원본: [result/index_size_after.txt](result/index_size_after.txt)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📈 비즈니스 영향
|
|
||||||
|
|
||||||
| 지표 | 개선 전 | 개선 후 | 변화 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 피크 시간 기록 수 (부하) | 1,947건 (9/15) | 2,173건 (9/16) | 12% 증가 |
|
|
||||||
| 평균 응답 시간 | 측정 안 함 (웹 서버 응답 시간 미기록) | - | - |
|
|
||||||
| 실패율 | 측정 안 함 | - | - |
|
|
||||||
| CPU 사용률 (피크 12:50~15:00) | 9.49% (9/15) | **2.80%** (9/16) | **3.4배 ⬇️** |
|
|
||||||
| 기록 1,000건당 CPU (부하 보정) | 379.8초 (9/15) | **100.3초** (9/16) | **3.8배 ⬇️** |
|
|
||||||
| 여유 메모리 (피크 평균) | 433MB (9/15) | 471MB (9/16) | 큰 변화 없음 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✅ 성공 여부 판단
|
|
||||||
|
|
||||||
### 성공 기준
|
|
||||||
|
|
||||||
- [x] 범위형 쿼리(q2·q4·q6)의 rows가 베이스라인 대비 대폭 감소 (목표: 조회 기간의 실제 기록 수 수준) — 10,103 → 22 / 99 / 709
|
|
||||||
- [x] 애플리케이션 느린 쿼리(3초 이상) 없음 — 9/16 하루 동안 0건 (기록된 것은 04:00 백업 SELECT 1건뿐, [result/slow_log_entries_after.txt](result/slow_log_entries_after.txt))
|
|
||||||
- [x] 결과 행 수 변화 없음, 최고기록 화면 정상 — 04-3 diff 통과, 2026-09-15 운영 화면 확인
|
|
||||||
- [x] 서비스 가용성 100% 유지 — 온라인 DDL로 중단 없음, 9/15 작업 직후 운영 화면 확인, 9/16 피크 시간에 기록 2,173건 정상 저장
|
|
||||||
- [ ] 사용자 불만 없음 — 2026-09-16까지 접수된 문의 없음 (기간을 더 두고 확인)
|
|
||||||
|
|
||||||
### 결론
|
|
||||||
|
|
||||||
```
|
|
||||||
[x] 성공: 모든 기준 달성, 운영 정상화 (2026-09-16 판단)
|
|
||||||
[ ] 부분 성공: 대부분 달성, 모니터링 계속
|
|
||||||
[ ] 실패: 목표 미달, 추가 최적화 필요
|
|
||||||
```
|
|
||||||
|
|
||||||
**근거 요약**
|
|
||||||
- 서버 처리 시간: 범위형 쿼리 75~80ms → 0.26~2.50ms (32~292배), 함수형도 18~36배 단축
|
|
||||||
- 검사 행 수: 10,103 → 22 / 99 / 709
|
|
||||||
- 피크 시간 CPU: 기록 1,000건당 379.8초 → 100.3초 (3.8배 감소, 부하 12% 증가 상태에서)
|
|
||||||
- 조회 결과 행 수는 개선 전과 동일, 운영 화면 정상, 앱 느린 쿼리 0건
|
|
||||||
- 남은 확인: 사용자 문의 여부는 기간을 더 두고 관찰
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔧 추가 최적화 제안
|
|
||||||
|
|
||||||
### 단계별 추가 개선
|
|
||||||
|
|
||||||
#### **1단계: 쿼리 최적화 (안 1)**
|
|
||||||
- [x] 함수 제거 쿼리 적용 (03단계 3-4, Stage에서 수정 완료한 코드를 2026-09-15 운영 배포)
|
|
||||||
- [x] 효과: 같은 조건에서 함수형 대비 서버 처리 시간 q1→q2 8배, q3→q4 5배, q5→q6 1.7배 추가 단축 (04단계)
|
|
||||||
|
|
||||||
#### **2단계: 집계 테이블 도입 (안 2)**
|
|
||||||
- [ ] daily_best_record, daily_typing_exam_record 생성
|
|
||||||
- [ ] 예상 효과: 히스토리/랭킹 조회 극적 개선
|
|
||||||
|
|
||||||
#### **3단계: 아카이빙 (안 3)**
|
|
||||||
- [ ] 13개월 이전 기록 아카이빙
|
|
||||||
- [ ] 예상 효과: 테이블 크기 감소, 백업 시간 단축
|
|
||||||
- [ ] 참고: 월 적재량이 전년 대비 약 2.1배로 늘고 있음 (01 사전 측정)
|
|
||||||
|
|
||||||
#### **4단계: 애플리케이션 최적화 (안 5)**
|
|
||||||
- [ ] N+1 쿼리 제거
|
|
||||||
- [ ] SQL Injection 보안 강화
|
|
||||||
- [ ] 최고기록 저장을 `INSERT ... ON DUPLICATE KEY UPDATE`로 변경 (UNIQUE 키 활용, 동시 저장 시 더 좋은 기록 유지)
|
|
||||||
- [ ] 예상 효과: 동시 사용자 처리량 2~3배 향상
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
#### **5단계: 중복 인덱스 정리 (선택)**
|
|
||||||
- [ ] `best_record`의 `MaestroID` 단일 인덱스 삭제 검토 (22.3MB 회수)
|
|
||||||
- 새로 만든 `idx_maestro_app_dt`가 `MaestroID`로 시작하므로 외래키 제약도 충족하고 조회도 대체됩니다.
|
|
||||||
- `ALTER TABLE best_record DROP INDEX MaestroID, ALGORITHM=INPLACE, LOCK=NONE;`
|
|
||||||
- `AppID`, `PlayerID` 단일 인덱스는 각각 그 컬럼으로 시작하는 외래키가 있어 **삭제하면 안 됩니다.**
|
|
||||||
- [ ] `typing_exam_record` 등 다른 테이블에도 같은 정리 여지가 있는지 인덱스 목록 확인
|
|
||||||
- [ ] 스테이징에서 외래키 제약과 쿼리 계획을 먼저 확인한 뒤 운영 적용
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 모니터링 계획
|
|
||||||
|
|
||||||
### 지속적 모니터링 (24시간 이후)
|
|
||||||
|
|
||||||
작업 후 slow query log는 원래 설정(`slow_query_log=ON`, `long_query_time=3`, `log_output=FILE`)으로 돌아갔고, 작업용 `jisangs` 계정은 삭제했습니다. 그래서 `mysql.slow_log` 테이블이 아니라 **MariaDB가 실행되는 서버(또는 컨테이너)의 slow log 파일**로 확인합니다.
|
|
||||||
|
|
||||||
작업 전후 모두 같은 기준(3초 이상)으로 기록되므로, 날짜별 건수를 그대로 비교할 수 있습니다.
|
|
||||||
|
|
||||||
> 2026-09-15 23:05~23:20에는 기준이 0.5초였고 작업 SQL(ALTER·DELETE)이 기록됐습니다. 9/15 건수에서 이 시간대는 제외하고 보세요.
|
|
||||||
|
|
||||||
**1. 날짜별 느린 쿼리 건수** (서버에서 root/sudo로 실행)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo awk '/^# Time:/ {d = substr($3, 1, 10)} /^# Query_time:/ {c[d]++} END {for (k in c) print k, c[k]}' \
|
|
||||||
/var/log/mysql/mariadb-slow.log | sort | tail -14
|
|
||||||
```
|
|
||||||
|
|
||||||
첫 열은 `# Time:` 줄의 날짜입니다 (형식에 따라 `260916` 또는 `2026-09-16`). 9/15 이전 며칠과 9/16 이후를 비교해 위 표의 "느린 쿼리 수"에 적습니다.
|
|
||||||
|
|
||||||
**2. 느린 쿼리 종류 상위 10개** (`mariadb-dumpslow`가 설치된 경우)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo mariadb-dumpslow -s c -t 10 /var/log/mysql/mariadb-slow.log
|
|
||||||
```
|
|
||||||
|
|
||||||
`best_record`, `typing_exam_record`의 날짜 조건 쿼리가 9/16 이후에도 나오는지 확인합니다. 나오면 03-4에서 수정하지 못한 쿼리가 남아 있는 것입니다. 백업 덤프의 `SELECT /*!40001 SQL_NO_CACHE */ ... FROM best_record`는 정상입니다.
|
|
||||||
|
|
||||||
> 운영 서버의 `mariadb-dumpslow`는 이 로그 중간에서 `Died at /usr/bin/mariadb-dumpslow line 182` 에러로 멈췄습니다 (2026-09-15). 멈추기 전까지의 요약은 출력되므로 참고용으로 쓰고, 건수는 1번 awk 명령으로 확인하세요.
|
|
||||||
|
|
||||||
**3. 느린 쿼리 항목별 목록** (시각, 실행 시간, 검사 행 수 — SQL 본문은 출력하지 않음)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo awk '/^# Time:/ {t = $3 " " $4} /^# Query_time:/ {print t, "query_time=" $3, "rows_examined=" $NF}' \
|
|
||||||
/var/log/mysql/mariadb-slow.log | tail -30
|
|
||||||
```
|
|
||||||
|
|
||||||
9/16 이후 항목이 04:00 백업 1건(검사 행 약 121만)뿐이면 정상입니다.
|
|
||||||
|
|
||||||
**4. 피크 시간대 기록 저장 건수** (vmstat 비교를 사용자 수로 보정할 때, 서버에서 관리자 계정으로 실행)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
SELECT DATE(RecordDateTime) AS day, COUNT(*) AS best_record_cnt
|
|
||||||
FROM best_record
|
|
||||||
WHERE RecordDateTime >= '2026-09-14' AND RecordDateTime < '2026-09-17'
|
|
||||||
AND TIME(RecordDateTime) >= '12:50:00' AND TIME(RecordDateTime) < '15:00:00'
|
|
||||||
GROUP BY day ORDER BY day;
|
|
||||||
```
|
|
||||||
|
|
||||||
날짜별 건수가 비슷하면 vmstat의 CPU 감소는 개선 효과로 볼 수 있고, 9/16 건수가 크게 적으면 사용자가 적었던 영향도 섞인 것입니다.
|
|
||||||
|
|
||||||
**결과 (2026-09-16):** 9/14 2,705건 / 9/15 1,947건 / 9/16 2,173건 → 9/16이 9/15보다 많으므로, CPU 감소는 사용자가 줄어서가 아닙니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📝 최종 보고서 항목
|
|
||||||
|
|
||||||
1. **실행 요약**
|
|
||||||
- 작업 목표 및 결과
|
|
||||||
- 성과 지표
|
|
||||||
|
|
||||||
2. **기술 분석**
|
|
||||||
- EXPLAIN 개선 결과
|
|
||||||
- 실행 시간 비교
|
|
||||||
- 중복 정리 결과 (삭제 행 수, 백업 파일)
|
|
||||||
|
|
||||||
3. **비즈니스 임팩트**
|
|
||||||
- 사용자 경험 개선
|
|
||||||
- 서버 비용 절감 효과
|
|
||||||
|
|
||||||
4. **추가 제안**
|
|
||||||
- 다음 단계 최적화 계획
|
|
||||||
- 예상 추가 효과
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 다음 단계
|
|
||||||
|
|
||||||
- [ ] 스테이징에서 안 2 (집계 테이블) 테스트
|
|
||||||
- [ ] 운영 DB 추가 최적화 검토
|
|
||||||
- [ ] 팀 회의에서 결과 공유
|
|
||||||
- [ ] 성능 모니터링 대시보드 구축
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**운영 서버 성능 개선 프로젝트 완료!** 🎉
|
|
||||||
@@ -1,166 +0,0 @@
|
|||||||
# 260915-improve-production: 운영 서버 DB 성능 개선
|
|
||||||
|
|
||||||
> 스테이징에서 성공한 인덱스 추가를 운영 서버(chocomae.jinaju.com)에 적용합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 파일 가이드
|
|
||||||
|
|
||||||
### 🎯 먼저 읽기
|
|
||||||
- **[00-overview.md](00-overview.md)** — 전체 개요 및 작업 일정
|
|
||||||
- 운영 사전 측정 결과
|
|
||||||
- 단계별 필요 권한
|
|
||||||
- 예상 효과 및 주의사항
|
|
||||||
|
|
||||||
### 📋 단계별 작업
|
|
||||||
|
|
||||||
#### **Step 1: 운영 DB 현황 측정** (2026-09-15 측정 완료)
|
|
||||||
- **[01-premeasure.md](01-premeasure.md)** — 권한, 테이블 크기, 월별 적재량, 기준값, 중복 확인
|
|
||||||
- 결과 요약: [result/premeasure_summary.txt](result/premeasure_summary.txt)
|
|
||||||
- 주요 결과: 계정 권한은 `SELECT, ALTER`만, app_highest_record 중복 삭제 대상 8,795행
|
|
||||||
|
|
||||||
#### **Step 2: 성능 기준선 측정**
|
|
||||||
- **[02-baseline.md](02-baseline.md)** — 인덱스 추가 전 성능 측정
|
|
||||||
- 지난달 측정 기준 시각 선정 (`params.sql`)
|
|
||||||
- Slow query log 켜기
|
|
||||||
- 공통 측정 스크립트로 EXPLAIN 6개 + 실행 시간 측정
|
|
||||||
|
|
||||||
#### **Step 3: 중복 정리 + 인덱스 추가**
|
|
||||||
- **[03-add-indexes.md](03-add-indexes.md)** — 온라인 DDL로 인덱스 추가
|
|
||||||
- app_highest_record 삭제 대상 백업 후 점수 기준으로 중복 정리
|
|
||||||
- 인덱스 5개 + UNIQUE 키 2개 추가
|
|
||||||
- 진행 상황 모니터링
|
|
||||||
- **옵션:** 쿼리 조건 수정 (DATE()/HOUR() → 범위 조건) - 추가 1,770배 성능 향상 (스테이징 기준)
|
|
||||||
|
|
||||||
#### **Step 4: 개선 효과 검증**
|
|
||||||
- **[04-verify.md](04-verify.md)** — 인덱스 추가 후 성능 검증
|
|
||||||
- 02와 같은 스크립트로 재측정
|
|
||||||
- EXPLAIN·결과 행 수·실행 시간 비교
|
|
||||||
- 성능 개선율 확인
|
|
||||||
|
|
||||||
#### **Step 5: 최종 체크리스트**
|
|
||||||
- **[05-checklist.md](05-checklist.md)** — 모든 단계 최종 확인
|
|
||||||
- 성공 기준 검증
|
|
||||||
- slow query log 복원, 임시 권한 회수
|
|
||||||
|
|
||||||
### 🔧 추가 문서
|
|
||||||
|
|
||||||
- **[06-rollback.md](06-rollback.md)** — 문제 발생 시 롤백 계획
|
|
||||||
- ALTER 중단, DROP INDEX 명령어
|
|
||||||
- 중복 정리 되돌리기
|
|
||||||
- 백업 복원 절차 (EC2)
|
|
||||||
|
|
||||||
- **[07-post-analysis.md](07-post-analysis.md)** — 사후 분석 및 최적화
|
|
||||||
- 실제 성능 측정 결과
|
|
||||||
- 추가 개선 사항 검토
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 빠른 시작
|
|
||||||
|
|
||||||
모든 명령은 `result/` 디렉터리에서 실행합니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd doc/plan/db/260915-improve-production/result
|
|
||||||
```
|
|
||||||
|
|
||||||
1. 01 사전 측정·작업 권한 준비 완료 (2026-09-15)
|
|
||||||
2. `../02-baseline.md` 실행 → `zsh run_measure.sh baseline`
|
|
||||||
3. `../03-add-indexes.md` 실행 → 중복 백업·정리 후 `add_indexes.sql`
|
|
||||||
4. `../04-verify.md` 실행 → `zsh run_measure.sh after`
|
|
||||||
5. `../05-checklist.md` 체크리스트 완료
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 👤 운영 DB 접속 정보
|
|
||||||
|
|
||||||
```
|
|
||||||
# 임시 계정
|
|
||||||
Host: chocomae.jinaju.com
|
|
||||||
Port: 3306
|
|
||||||
User: jisangs (2026-09-15 작업 후 삭제)
|
|
||||||
Password: 문서에 적지 않음 (별도로 전달받은 값 사용)
|
|
||||||
Database: chocomae
|
|
||||||
|
|
||||||
# 권한 (2026-09-15 SHOW GRANTS로 확인)
|
|
||||||
GRANT SELECT, ALTER ON chocomae.* TO jisangs@'182.217.174.221'
|
|
||||||
# 작업 기간 임시 권한 (05단계에서 회수): SUPER, 최고기록 테이블 2개 INSERT·DELETE, mysql.slow_log SELECT
|
|
||||||
```
|
|
||||||
|
|
||||||
> 중복 삭제(DELETE), slow query log 설정(SUPER), `mysql.slow_log` 조회 권한은 작업 기간 동안 임시로 부여했고 05단계에서 회수합니다. [00-overview.md의 단계별 필요 권한](00-overview.md#단계별-필요-권한)을 참고하세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📁 디렉토리 구조
|
|
||||||
|
|
||||||
```
|
|
||||||
260915-improve-production/
|
|
||||||
├── README.md ← 이 파일
|
|
||||||
├── 00-overview.md ← 전체 개요
|
|
||||||
├── 01-premeasure.md ← 운영 DB 현황 측정
|
|
||||||
├── 02-baseline.md ← 성능 기준선 측정
|
|
||||||
├── 03-add-indexes.md ← 중복 정리 + 인덱스 추가
|
|
||||||
├── 04-verify.md ← 개선 효과 검증
|
|
||||||
├── 05-checklist.md ← 최종 체크리스트
|
|
||||||
├── 06-rollback.md ← 롤백 계획
|
|
||||||
├── 07-post-analysis.md ← 사후 분석
|
|
||||||
└── result/ ← 결과 파일 저장 폴더
|
|
||||||
├── premeasure_* ← 01
|
|
||||||
├── params.sql, queries/ ← 02·04 공통 측정 쿼리
|
|
||||||
├── run_measure.sh, summarize_explain.py
|
|
||||||
├── baseline_explain_q*.json, baseline_perf.txt
|
|
||||||
├── backup_app_highest_dup_rows.sql
|
|
||||||
├── add_indexes.sql, add_indexes_result.txt
|
|
||||||
├── after_explain_q*.json, after_perf.txt
|
|
||||||
└── comparison.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✅ 체크리스트
|
|
||||||
|
|
||||||
운영 서버 적용 전 확인:
|
|
||||||
|
|
||||||
- [ ] **스테이징 결과 검토** (260915-improve-stage 참고)
|
|
||||||
- [ ] **백업 계획 수립** (EC2 EBS 스냅샷 또는 전체 `mariadb-dump`)
|
|
||||||
- [x] **01-premeasure.md 실행** (운영 DB 현황 파악, 2026-09-15)
|
|
||||||
- [x] **계정 권한 확인** (`SELECT, ALTER`만 있음)
|
|
||||||
- [x] **작업 권한 임시 부여** (SUPER, 최고기록 테이블 2개 INSERT·DELETE, `mysql.slow_log` SELECT)
|
|
||||||
- [x] **작업 후 임시 권한 회수** (05-checklist.md)
|
|
||||||
- [ ] **02-baseline.md 실행** (기준선 측정)
|
|
||||||
- [ ] **새벽 시간 예약** (02:00~03:00 권장)
|
|
||||||
- [ ] **모니터링 준비** (CPU, 메모리, 프로세스)
|
|
||||||
- [ ] **롤백 계획 검토** (06-rollback.md)
|
|
||||||
- [ ] **팀원 통보** (예정된 작업 공지)
|
|
||||||
- [x] **작업 후 임시 계정 삭제** (2026-09-15)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📞 도움말
|
|
||||||
|
|
||||||
| 상황 | 참고 |
|
|
||||||
|---|---|
|
|
||||||
| 인덱스 추가 방법 | 03-add-indexes.md |
|
|
||||||
| 성능 검증 방법 | 04-verify.md |
|
|
||||||
| 문제 발생 시 | 06-rollback.md |
|
|
||||||
| 최적화 제안 | 07-post-analysis.md |
|
|
||||||
| 전체 계획 | 00-overview.md |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📅 작업 일정
|
|
||||||
|
|
||||||
**권장: 새벽 2시~3시 (트래픽 최소 시간)**
|
|
||||||
|
|
||||||
| 시간 | 작업 | 소요 |
|
|
||||||
|---|---|---|
|
|
||||||
| 02:00 | DB 백업 | 5분 |
|
|
||||||
| 02:05 | 기준선 측정 (02-baseline) | 10분 |
|
|
||||||
| 02:15 | 중복 정리 + 인덱스 추가 (03-add-indexes) | 30분 |
|
|
||||||
| 02:45 | 인덱스 생성 확인 | 5분 |
|
|
||||||
| 02:50 | 검증 (04-verify) | 10분 |
|
|
||||||
| 03:00 | 체크리스트, slow log 복원, 권한 회수 (05-checklist) | 10분 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**준비 완료! 시작하려면 [00-overview.md](00-overview.md)부터 읽으세요.** 🚀
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
-- best_record: 랭킹용
|
|
||||||
ALTER TABLE best_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_app_dt (MaestroID, AppID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- best_record: 히스토리/저장용
|
|
||||||
ALTER TABLE best_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_app_dt (MaestroID, PlayerID, AppID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- typing_exam_record
|
|
||||||
ALTER TABLE typing_exam_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_writing_dt (MaestroID, WritingID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
ALTER TABLE typing_exam_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_writing_dt (MaestroID, PlayerID, WritingID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- license_score
|
|
||||||
ALTER TABLE license_score
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_dt (MaestroID, PlayerID, ScoreDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- app_highest_record: UNIQUE 키
|
|
||||||
ALTER TABLE app_highest_record
|
|
||||||
ADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_app (MaestroID, PlayerID, AppID),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
|
|
||||||
-- typing_exam_highest_record: UNIQUE 키
|
|
||||||
ALTER TABLE typing_exam_highest_record
|
|
||||||
ADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_writing (MaestroID, PlayerID, WritingID),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE;
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
TABLE_NAME INDEX_NAME NON_UNIQUE cols
|
|
||||||
app_highest_record uk_maestro_player_app 0 MaestroID,PlayerID,AppID
|
|
||||||
best_record idx_maestro_app_dt 1 MaestroID,AppID,RecordDateTime
|
|
||||||
best_record idx_maestro_player_app_dt 1 MaestroID,PlayerID,AppID,RecordDateTime
|
|
||||||
license_score idx_maestro_player_dt 1 MaestroID,PlayerID,ScoreDateTime
|
|
||||||
typing_exam_highest_record uk_maestro_player_writing 0 MaestroID,PlayerID,WritingID
|
|
||||||
typing_exam_record idx_maestro_player_writing_dt 1 MaestroID,PlayerID,WritingID,RecordDateTime
|
|
||||||
typing_exam_record idx_maestro_writing_dt 1 MaestroID,WritingID,RecordDateTime
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
--------------
|
|
||||||
ALTER TABLE best_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_app_dt (MaestroID, AppID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (4.803 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
--------------
|
|
||||||
ALTER TABLE best_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_app_dt (MaestroID, PlayerID, AppID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (4.832 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
--------------
|
|
||||||
ALTER TABLE typing_exam_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_writing_dt (MaestroID, WritingID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (0.735 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
--------------
|
|
||||||
ALTER TABLE typing_exam_record
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_writing_dt (MaestroID, PlayerID, WritingID, RecordDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (0.370 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
--------------
|
|
||||||
ALTER TABLE license_score
|
|
||||||
ADD INDEX IF NOT EXISTS idx_maestro_player_dt (MaestroID, PlayerID, ScoreDateTime),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (0.042 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
--------------
|
|
||||||
ALTER TABLE app_highest_record
|
|
||||||
ADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_app (MaestroID, PlayerID, AppID),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (1.076 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
--------------
|
|
||||||
ALTER TABLE typing_exam_highest_record
|
|
||||||
ADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_writing (MaestroID, PlayerID, WritingID),
|
|
||||||
ALGORITHM=INPLACE, LOCK=NONE
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 0 rows affected (0.156 sec)
|
|
||||||
Records: 0 Duplicates: 0 Warnings: 0
|
|
||||||
|
|
||||||
Bye
|
|
||||||
@@ -1,308 +0,0 @@
|
|||||||
=== q1_hour_func ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.303570412
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 2.069071756,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"r_rows": 22,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 2.050037968,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 22,
|
|
||||||
"r_buffer_size": "2047Kb",
|
|
||||||
"r_sort_mode": "sort_key,addon_fields",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "8",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID"],
|
|
||||||
"ref": ["const", "const"],
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 5851,
|
|
||||||
"r_rows": 22,
|
|
||||||
"r_table_time_ms": 2.024712928,
|
|
||||||
"r_other_time_ms": 0.015343053,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 77
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 100,
|
|
||||||
"index_condition": "cast(best_record.RecordDateTime as date) = @`day` and hour(best_record.RecordDateTime) = 9",
|
|
||||||
"attached_condition": "best_record.MaestroID <=> @maestro and best_record.AppID <=> @app"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q2_hour_range ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.23481673
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.259231588,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"r_rows": 22,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.241578075,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 22,
|
|
||||||
"r_buffer_size": "2047Kb",
|
|
||||||
"r_sort_mode": "sort_key,addon_fields",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "range",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "13",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID", "RecordDateTime"],
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 22,
|
|
||||||
"r_rows": 22,
|
|
||||||
"r_table_time_ms": 0.143388535,
|
|
||||||
"r_other_time_ms": 0.086477209,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 69
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 100,
|
|
||||||
"index_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= '2026-08-26 09:00:00' and best_record.RecordDateTime < '2026-08-26 10:00:00'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q3_day_func ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.260151772
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 2.440415655,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.019813943,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 61,
|
|
||||||
"r_buffer_size": "1Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "8",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID"],
|
|
||||||
"ref": ["const", "const"],
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 5851,
|
|
||||||
"r_rows": 99,
|
|
||||||
"r_table_time_ms": 2.331223925,
|
|
||||||
"r_other_time_ms": 0.071694268,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 308
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 100,
|
|
||||||
"index_condition": "year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8 and dayofmonth(best_record.RecordDateTime) = 26",
|
|
||||||
"attached_condition": "best_record.MaestroID <=> @maestro and best_record.AppID <=> @app"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q4_day_range ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.335646795
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.467062948,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.017993581,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 61,
|
|
||||||
"r_buffer_size": "1Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "range",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "13",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID", "RecordDateTime"],
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 99,
|
|
||||||
"r_rows": 99,
|
|
||||||
"r_table_time_ms": 0.318203324,
|
|
||||||
"r_other_time_ms": 0.112702428,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 300
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 100,
|
|
||||||
"index_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= '2026-08-26 00:00:00' and best_record.RecordDateTime < '2026-08-27 00:00:00'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q5_month_func ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.248649482
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 4.299725667,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.068003533,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 262,
|
|
||||||
"r_buffer_size": "6Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "8",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID"],
|
|
||||||
"ref": ["const", "const"],
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 5851,
|
|
||||||
"r_rows": 709,
|
|
||||||
"r_table_time_ms": 3.78789381,
|
|
||||||
"r_other_time_ms": 0.408851363,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 2138
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 100,
|
|
||||||
"index_condition": "year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8",
|
|
||||||
"attached_condition": "best_record.MaestroID <=> @maestro and best_record.AppID <=> @app"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q6_month_range ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.306621019
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 2.496056728,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.065773089,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 262,
|
|
||||||
"r_buffer_size": "6Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "range",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "13",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID", "RecordDateTime"],
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 709,
|
|
||||||
"r_rows": 709,
|
|
||||||
"r_table_time_ms": 2.033224622,
|
|
||||||
"r_other_time_ms": 0.360211684,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 2131
|
|
||||||
},
|
|
||||||
"filtered": 0.057728633,
|
|
||||||
"r_filtered": 100,
|
|
||||||
"index_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= '2026-08-01 00:00:00' and best_record.RecordDateTime < '2026-09-01 00:00:00'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "8",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID"],
|
|
||||||
"ref": ["const", "const"],
|
|
||||||
"rows": 5851,
|
|
||||||
"filtered": 100,
|
|
||||||
"index_condition": "cast(best_record.RecordDateTime as date) = @`day` and hour(best_record.RecordDateTime) = 9",
|
|
||||||
"attached_condition": "best_record.MaestroID <=> @maestro and best_record.AppID <=> @app"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "range",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "13",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID", "RecordDateTime"],
|
|
||||||
"rows": 22,
|
|
||||||
"filtered": 100,
|
|
||||||
"index_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= <cache>(cast(@`day` as datetime) + interval @`hour` hour) and best_record.RecordDateTime < <cache>(cast(@`day` as datetime) + interval @`hour` + 1 hour)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "8",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID"],
|
|
||||||
"ref": ["const", "const"],
|
|
||||||
"rows": 5851,
|
|
||||||
"filtered": 100,
|
|
||||||
"index_condition": "year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8 and dayofmonth(best_record.RecordDateTime) = 26",
|
|
||||||
"attached_condition": "best_record.MaestroID <=> @maestro and best_record.AppID <=> @app"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "range",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "13",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID", "RecordDateTime"],
|
|
||||||
"rows": 99,
|
|
||||||
"filtered": 100,
|
|
||||||
"index_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= <cache>(cast(@`day` as datetime)) and best_record.RecordDateTime < <cache>(cast(@`day` as datetime) + interval 1 day)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "8",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID"],
|
|
||||||
"ref": ["const", "const"],
|
|
||||||
"rows": 5851,
|
|
||||||
"filtered": 100,
|
|
||||||
"index_condition": "year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8",
|
|
||||||
"attached_condition": "best_record.MaestroID <=> @maestro and best_record.AppID <=> @app"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "range",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"idx_maestro_app_dt",
|
|
||||||
"idx_maestro_player_app_dt"
|
|
||||||
],
|
|
||||||
"key": "idx_maestro_app_dt",
|
|
||||||
"key_length": "13",
|
|
||||||
"used_key_parts": ["MaestroID", "AppID", "RecordDateTime"],
|
|
||||||
"rows": 709,
|
|
||||||
"filtered": 0.057728633,
|
|
||||||
"index_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= <cache>(cast(date_format(@`day`,'%Y-%m-01') as datetime)) and best_record.RecordDateTime < <cache>(cast(date_format(@`day`,'%Y-%m-01') as datetime) + interval 1 month)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
|||||||
start_time query_time rows_examined sql_text
|
|
||||||
2026-09-15 23:09:13.487911 00:00:04.819872 0 ALTER TABLE best_record \nADD INDEX IF NOT EXISTS idx_maestro_player_app_dt (MaestroID, PlayerID, AppID, RecordDateTime),
|
|
||||||
2026-09-15 23:09:08.684811 00:00:04.790929 0 ALTER TABLE best_record \nADD INDEX IF NOT EXISTS idx_maestro_app_dt (MaestroID, AppID, RecordDateTime),\nALGORITHM=INPLAC
|
|
||||||
2026-09-15 23:09:19.466802 00:00:01.063310 0 ALTER TABLE app_highest_record \nADD UNIQUE KEY IF NOT EXISTS uk_maestro_player_app (MaestroID, PlayerID, AppID),\nALGORIT
|
|
||||||
2026-09-15 23:08:21.126639 00:00:00.929698 935362 DELETE AHR FROM app_highest_record AHR\nJOIN (\n SELECT AppHighestRecordID FROM (\n SELECT AppHighestRecordID,\n
|
|
||||||
2026-09-15 23:09:18.319470 00:00:00.723314 0 ALTER TABLE typing_exam_record \nADD INDEX IF NOT EXISTS idx_maestro_writing_dt (MaestroID, WritingID, RecordDateTime),\nA
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
baseline q1_hour_func server_time_ms=74.61373851
|
|
||||||
baseline q2_hour_range server_time_ms=75.58458171
|
|
||||||
baseline q3_day_func server_time_ms=75.28739257
|
|
||||||
baseline q4_day_range server_time_ms=75.24298373
|
|
||||||
baseline q5_month_func server_time_ms=76.26824776
|
|
||||||
baseline q6_month_range server_time_ms=79.70009072
|
|
||||||
after q1_hour_func server_time_ms=2.069071756
|
|
||||||
after q2_hour_range server_time_ms=0.259231588
|
|
||||||
after q3_day_func server_time_ms=2.440415655
|
|
||||||
after q4_day_range server_time_ms=0.467062948
|
|
||||||
after q5_month_func server_time_ms=4.299725667
|
|
||||||
after q6_month_range server_time_ms=2.496056728
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,356 +0,0 @@
|
|||||||
=== q1_hour_func ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.175154857
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 74.61373851,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"r_rows": 22,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 74.59065391,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 22,
|
|
||||||
"r_buffer_size": "2047Kb",
|
|
||||||
"r_sort_mode": "sort_key,addon_fields",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 10103,
|
|
||||||
"r_rows": 5851,
|
|
||||||
"r_table_time_ms": 15.56706792,
|
|
||||||
"r_other_time_ms": 52.50187814,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 17780
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 0.376004102,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and cast(best_record.RecordDateTime as date) = @`day` and hour(best_record.RecordDateTime) = 9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q2_hour_range ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.183126443
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 75.58458171,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"r_rows": 22,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 75.56186719,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 22,
|
|
||||||
"r_buffer_size": "2047Kb",
|
|
||||||
"r_sort_mode": "sort_key,addon_fields",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 10103,
|
|
||||||
"r_rows": 5851,
|
|
||||||
"r_table_time_ms": 15.67992038,
|
|
||||||
"r_other_time_ms": 53.82031051,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 17780
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 0.376004102,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= '2026-08-26 09:00:00' and best_record.RecordDateTime < '2026-08-26 10:00:00'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q3_day_func ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.205960987
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 75.28739257,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.028745721,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 61,
|
|
||||||
"r_buffer_size": "1Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 10103,
|
|
||||||
"r_rows": 5851,
|
|
||||||
"r_table_time_ms": 15.68132066,
|
|
||||||
"r_other_time_ms": 53.54159505,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 17780
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 1.692018458,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8 and dayofmonth(best_record.RecordDateTime) = 26"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q4_day_range ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.200909982
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 75.24298373,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.023154608,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 61,
|
|
||||||
"r_buffer_size": "1Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 10103,
|
|
||||||
"r_rows": 5851,
|
|
||||||
"r_table_time_ms": 15.79226274,
|
|
||||||
"r_other_time_ms": 52.7619799,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 17780
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 1.692018458,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= '2026-08-26 00:00:00' and best_record.RecordDateTime < '2026-08-27 00:00:00'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q5_month_func ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.213092406
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 76.26824776,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.069783887,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 262,
|
|
||||||
"r_buffer_size": "6Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 10103,
|
|
||||||
"r_rows": 5851,
|
|
||||||
"r_table_time_ms": 16.3543846,
|
|
||||||
"r_other_time_ms": 53.27444188,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 17780
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 12.11758674,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
=== q6_month_range ===
|
|
||||||
{
|
|
||||||
"query_optimization": {
|
|
||||||
"r_total_time_ms": 0.215072801
|
|
||||||
},
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 79.70009072,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"r_loops": 1,
|
|
||||||
"r_total_time_ms": 0.072174363,
|
|
||||||
"r_used_priority_queue": false,
|
|
||||||
"r_output_rows": 262,
|
|
||||||
"r_buffer_size": "6Kb",
|
|
||||||
"r_sort_mode": "sort_key,rowid",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"r_loops": 1,
|
|
||||||
"rows": 10103,
|
|
||||||
"r_rows": 5851,
|
|
||||||
"r_table_time_ms": 19.07379578,
|
|
||||||
"r_other_time_ms": 54.36322855,
|
|
||||||
"r_engine_stats": {
|
|
||||||
"pages_accessed": 17780
|
|
||||||
},
|
|
||||||
"filtered": 100,
|
|
||||||
"r_filtered": 12.11758674,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= '2026-08-01 00:00:00' and best_record.RecordDateTime < '2026-09-01 00:00:00'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
baseline q1_hour_func server_time_ms=74.61373851
|
|
||||||
baseline q2_hour_range server_time_ms=75.58458171
|
|
||||||
baseline q3_day_func server_time_ms=75.28739257
|
|
||||||
baseline q4_day_range server_time_ms=75.24298373
|
|
||||||
baseline q5_month_func server_time_ms=76.26824776
|
|
||||||
baseline q6_month_range server_time_ms=79.70009072
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10103,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and cast(best_record.RecordDateTime as date) = @`day` and hour(best_record.RecordDateTime) = 9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"read_sorted_file": {
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "best_record.RecordDateTime, best_record.PlayerID",
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10103,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= <cache>(cast(@`day` as datetime) + interval @`hour` hour) and best_record.RecordDateTime < <cache>(cast(@`day` as datetime) + interval @`hour` + 1 hour)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10103,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8 and dayofmonth(best_record.RecordDateTime) = 26"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10103,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= <cache>(cast(@`day` as datetime)) and best_record.RecordDateTime < <cache>(cast(@`day` as datetime) + interval 1 day)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10103,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and year(best_record.RecordDateTime) = 2026 and month(best_record.RecordDateTime) = 8"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(best_record.BestRecord) desc, best_record.PlayerID",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "best_record",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": ["MaestroID", "AppID"],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": ["MaestroID"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": ["AppID"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10103,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "best_record.MaestroID = @maestro and best_record.AppID = @app and best_record.RecordDateTime >= <cache>(cast(date_format(@`day`,'%Y-%m-01') as datetime)) and best_record.RecordDateTime < <cache>(cast(date_format(@`day`,'%Y-%m-01') as datetime) + interval 1 month)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
baseline_explain_q1_hour_func.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q2_hour_range.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q3_day_func.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q4_day_range.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q5_month_func.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q6_month_range.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
|||||||
day hour cnt
|
|
||||||
2026-08-26 9 22
|
|
||||||
2026-08-28 9 22
|
|
||||||
2026-08-26 10 21
|
|
||||||
2026-08-31 10 20
|
|
||||||
2026-08-25 10 19
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
=== 성능 개선 효과 (운영 DB, 2026-09-15) ===
|
|
||||||
측정 기준: params.sql (MaestroID 181, AppID 21, @day 2026-08-26, @hour 9)
|
|
||||||
측정 시점: 베이스라인 22:5x (인덱스 추가 전) / 개선 후 23:1x (인덱스 7개 추가 후)
|
|
||||||
|
|
||||||
| 쿼리 | access_type (전→후) | rows (전→후) | 서버 시간 ms (전→후, ANALYZE) | 결과 행 수 |
|
|
||||||
|--------------------|-----------------------|-----------------------|-------------------------------|-----------|
|
|
||||||
| q1 시간별 · 함수 | index_merge → ref | 10,103 → 5,851 (1.7배) | 74.61 → 2.07 (36배) | 22 = 22 |
|
|
||||||
| q2 시간별 · 범위 | index_merge → range | 10,103 → 22 (459배) | 75.58 → 0.26 (292배) | 22 = 22 |
|
|
||||||
| q3 일간 · 함수 | index_merge → ref | 10,103 → 5,851 (1.7배) | 75.29 → 2.44 (31배) | 61 = 61 |
|
|
||||||
| q4 일간 · 범위 | index_merge → range | 10,103 → 99 (102배) | 75.24 → 0.47 (161배) | 61 = 61 |
|
|
||||||
| q5 월간 · 함수 | index_merge → ref | 10,103 → 5,851 (1.7배) | 76.27 → 4.30 (18배) | 262 = 262 |
|
|
||||||
| q6 월간 · 범위 | index_merge → range | 10,103 → 709 (14배) | 79.70 → 2.50 (32배) | 262 = 262 |
|
|
||||||
|
|
||||||
사용 인덱스: 개선 후 6개 모두 idx_maestro_app_dt (MaestroID, AppID, RecordDateTime)
|
|
||||||
클라이언트 시간 (네트워크 포함, 2회차): 약 88~92ms → 13~18ms
|
|
||||||
|
|
||||||
참고 (스테이징): rows 5,804 → 1, cost 8.63 → 0.004
|
|
||||||
참고 (운영 01 사전 측정): 일간 랭킹 index_merge, rows 10,100
|
|
||||||
|
|
||||||
결과 행 수 동일 (4-3): [x] 예 [ ] 아니오
|
|
||||||
|
|
||||||
결론:
|
|
||||||
- 인덱스만의 효과 (q1·q3·q5, 함수형 조건):
|
|
||||||
rows 추정은 1.7배만 줄었지만 서버 처리 시간은 18~36배 단축.
|
|
||||||
기존에는 MaestroID·AppID 단일 인덱스 두 개의 교집합(index_merge)을 구하느라 느렸고,
|
|
||||||
복합 인덱스의 (MaestroID, AppID) 앞부분으로 바로 찾게(ref) 되었기 때문.
|
|
||||||
날짜 조건은 여전히 인덱스로 거르지 못해 해당 선생님·앱의 기록 약 5,851행을 확인함.
|
|
||||||
- 인덱스 + 쿼리 수정 효과 (q2·q4·q6, 범위 조건):
|
|
||||||
날짜까지 인덱스로 걸러(range) 조회 기간의 실제 기록만 읽음.
|
|
||||||
서버 처리 시간 32~292배 단축, 검사 행 수 14~459배 감소.
|
|
||||||
같은 조건에서 함수형 대비 추가로 1.7~9배 빠름 (q1→q2 8배, q3→q4 5배, q5→q6 1.7배).
|
|
||||||
|
|
||||||
중복 정리 (03-0):
|
|
||||||
- app_highest_record 8,795행 삭제 (4,823조합), 220,648행 = 220,648조합
|
|
||||||
- UNIQUE 키 2개 추가 완료 → 이후 중복 저장은 DB가 거부
|
|
||||||
|
|
||||||
Slow query log (04-5, 23:08 이후 1시간):
|
|
||||||
- 0.5초 이상은 작업 SQL 5건(ALTER 4건, 중복 DELETE 1건)뿐, 애플리케이션 쿼리 0건
|
|
||||||
- 새벽이 아닌 밤 시간이고 기간이 짧으므로 24시간 뒤 다시 확인 필요 (07단계)
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
dup_groups rows_to_delete
|
|
||||||
4823 8795
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
--------------
|
|
||||||
DELETE AHR FROM app_highest_record AHR
|
|
||||||
JOIN (
|
|
||||||
SELECT AppHighestRecordID FROM (
|
|
||||||
SELECT AppHighestRecordID,
|
|
||||||
ROW_NUMBER() OVER (
|
|
||||||
PARTITION BY MaestroID, PlayerID, AppID
|
|
||||||
ORDER BY CASE WHEN AppID = 105 THEN HighestRecord ELSE -HighestRecord END,
|
|
||||||
AppHighestRecordID DESC
|
|
||||||
) AS rn
|
|
||||||
FROM app_highest_record
|
|
||||||
) ranked
|
|
||||||
WHERE rn > 1
|
|
||||||
) dup ON dup.AppHighestRecordID = AHR.AppHighestRecordID
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Query OK, 8795 rows affected (0.942 sec)
|
|
||||||
|
|
||||||
--------------
|
|
||||||
SELECT 'app_highest_record' AS table_name,
|
|
||||||
COUNT(*) AS total_rows,
|
|
||||||
COUNT(DISTINCT MaestroID, PlayerID, AppID) AS unique_combos
|
|
||||||
FROM app_highest_record
|
|
||||||
--------------
|
|
||||||
|
|
||||||
+--------------------+------------+---------------+
|
|
||||||
| table_name | total_rows | unique_combos |
|
|
||||||
+--------------------+------------+---------------+
|
|
||||||
| app_highest_record | 220648 | 220648 |
|
|
||||||
+--------------------+------------+---------------+
|
|
||||||
1 row in set (0.190 sec)
|
|
||||||
|
|
||||||
--------------
|
|
||||||
SELECT 'typing_exam_highest_record' AS table_name,
|
|
||||||
COUNT(*) AS total_rows,
|
|
||||||
COUNT(DISTINCT MaestroID, PlayerID, WritingID) AS unique_combos
|
|
||||||
FROM typing_exam_highest_record
|
|
||||||
--------------
|
|
||||||
|
|
||||||
+----------------------------+------------+---------------+
|
|
||||||
| table_name | total_rows | unique_combos |
|
|
||||||
+----------------------------+------------+---------------+
|
|
||||||
| typing_exam_highest_record | 20413 | 20413 |
|
|
||||||
+----------------------------+------------+---------------+
|
|
||||||
1 row in set (0.024 sec)
|
|
||||||
|
|
||||||
Bye
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
baseline_explain_q1_hour_func.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q2_hour_range.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q3_day_func.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q4_day_range.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q5_month_func.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
baseline_explain_q6_month_range.json access_type=index_merge key=MaestroID ∩ AppID rows=10103
|
|
||||||
after_explain_q1_hour_func.json access_type=ref key=idx_maestro_app_dt rows=5851
|
|
||||||
after_explain_q2_hour_range.json access_type=range key=idx_maestro_app_dt rows=22
|
|
||||||
after_explain_q3_day_func.json access_type=ref key=idx_maestro_app_dt rows=5851
|
|
||||||
after_explain_q4_day_range.json access_type=range key=idx_maestro_app_dt rows=99
|
|
||||||
after_explain_q5_month_func.json access_type=ref key=idx_maestro_app_dt rows=5851
|
|
||||||
after_explain_q6_month_range.json access_type=range key=idx_maestro_app_dt rows=709
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
=== 인덱스 추가 후 테이블·인덱스 크기 (2026-09-16, 운영 DB root 조회) ===
|
|
||||||
비교 기준: premeasure_table_sizes.txt (2026-09-15 개선 전)
|
|
||||||
|
|
||||||
테이블 approx_rows data_mb(전→후) index_mb(전→후) 인덱스 증가
|
|
||||||
best_record 1,231,144 72.5 → 73.5 72.1 → 143.2 +71.1
|
|
||||||
app_highest_record 232,771 16.5 → 16.5 15.8 → 21.3 +5.5
|
|
||||||
typing_exam_record 128,506 10.3 → 10.3 10.9 → 17.9 +7.0
|
|
||||||
typing_exam_highest_record 21,194 1.4 → 1.4 1.2 → 1.7 +0.5
|
|
||||||
|
|
||||||
best_record 인덱스별 크기 (mysql.innodb_index_stats, stat_name='size')
|
|
||||||
PRIMARY 73.5MB 데이터 본체
|
|
||||||
idx_maestro_player_app_dt 35.6MB 이번에 추가
|
|
||||||
idx_maestro_app_dt 30.6MB 이번에 추가
|
|
||||||
PlayerID 29.3MB 기존, 외래키용
|
|
||||||
AppID 25.4MB 기존, 외래키용
|
|
||||||
MaestroID 22.3MB 기존, 외래키용 (idx_maestro_app_dt가 대체 가능)
|
|
||||||
|
|
||||||
해석
|
|
||||||
- 새 인덱스로 늘어난 디스크는 약 79MB (best_record 66.2MB + 나머지 테이블 13MB).
|
|
||||||
best_record 인덱스 증가분 71.1MB 중 약 4.9MB는 같은 기간 기록이 7% 늘어난 몫.
|
|
||||||
- DB 전체 크기는 약 207MB → 292MB (약 41% 증가). 성능과 맞바꾼 디스크 비용.
|
|
||||||
- app_highest_record는 8,795행을 지웠지만 data_mb가 그대로. InnoDB가 삭제 공간을 파일에서
|
|
||||||
반환하지 않고 재사용하기 때문이며 정상 동작임.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
SET @maestro = 181, @app = 21, @day = '2026-08-26', @hour = 9;
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
LOGFILE="/home/ubuntu/temp/vmstat_$(date +%Y%m%d-%H%M).log"
|
|
||||||
echo "=== 모니터링 시작: $(date) ===" > $LOGFILE
|
|
||||||
vmstat 10 780 >> $LOGFILE 2>&1
|
|
||||||
echo "=== 모니터링 종료: $(date) ===" >> $LOGFILE
|
|
||||||
@@ -1,858 +0,0 @@
|
|||||||
=== 모니터링 시작: Mon Sep 14 12:50:01 KST 2026 ===
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 752268 99672 2459744 0 0 4 29 139 0 1 0 99 0 0 0
|
|
||||||
0 0 0 767276 99672 2459928 0 0 0 0 507 395 5 1 94 0 0 0
|
|
||||||
0 0 0 759176 99672 2460092 0 0 2 512 702 540 10 1 89 0 0 0
|
|
||||||
0 0 0 758536 99672 2460164 0 0 94 36 471 429 4 1 95 0 0 0
|
|
||||||
0 0 0 753552 99672 2460292 0 0 46 616 642 533 6 1 92 0 0 0
|
|
||||||
2 0 0 751536 99672 2460368 0 0 32 9 594 522 7 1 92 0 0 0
|
|
||||||
0 0 0 751796 99672 2460524 0 0 59 37 661 466 8 1 91 0 0 0
|
|
||||||
0 0 0 751796 99672 2460604 0 0 16 1 469 360 8 0 92 0 0 0
|
|
||||||
3 0 0 751796 99672 2460664 0 0 10 19 488 394 7 1 92 0 0 0
|
|
||||||
0 0 0 747512 99672 2460844 0 0 11 33 804 747 7 1 92 0 0 0
|
|
||||||
0 0 0 748760 99672 2460952 0 0 5 1 561 519 6 1 93 0 0 0
|
|
||||||
0 0 0 729916 99672 2461180 0 0 66 5 909 693 9 2 89 0 0 0
|
|
||||||
0 0 0 729916 99672 2461300 0 0 0 48 575 442 5 1 94 0 0 0
|
|
||||||
0 0 0 750344 99672 2461404 0 0 107 1 749 566 14 1 85 0 1 0
|
|
||||||
0 0 0 748580 99672 2461548 0 0 93 9 843 642 15 1 84 0 0 0
|
|
||||||
0 0 0 736288 99672 2461736 0 0 29 17 930 672 14 1 84 0 0 0
|
|
||||||
0 0 0 731696 99672 2461944 0 0 6 28 781 640 7 1 92 0 0 0
|
|
||||||
0 0 0 734260 99672 2462068 0 0 3 5 718 543 12 1 87 0 0 0
|
|
||||||
0 0 0 743004 99672 2462184 0 0 22 25 654 493 8 1 91 0 0 0
|
|
||||||
0 0 0 690448 99672 2462488 0 0 50 22 1079 912 18 2 80 0 0 0
|
|
||||||
0 0 0 688180 99672 2462708 0 0 32 9 964 789 9 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 687732 99672 2462880 0 0 10 37 734 642 7 1 92 0 0 0
|
|
||||||
0 0 0 691700 99672 2462996 0 0 115 34 767 597 12 1 86 0 0 0
|
|
||||||
0 0 0 702908 99672 2463224 0 0 14 6 968 717 10 2 89 0 0 0
|
|
||||||
0 0 0 702404 99672 2463408 0 0 22 32 883 743 11 1 88 0 0 0
|
|
||||||
0 0 0 708616 99672 2463528 0 0 22 30 777 668 12 1 88 0 0 0
|
|
||||||
0 0 0 710156 99672 2463668 0 0 3 336 716 677 8 1 91 0 0 0
|
|
||||||
0 0 0 694084 99672 2463876 0 0 6 21 932 772 14 1 84 0 0 0
|
|
||||||
0 0 0 691696 99672 2464048 0 0 3 33 936 725 12 1 87 0 0 0
|
|
||||||
0 0 0 700148 99676 2464196 0 0 2 7 748 643 8 1 91 0 0 0
|
|
||||||
1 0 0 703200 99676 2464444 0 0 6 38 1040 790 10 1 89 0 0 0
|
|
||||||
0 0 0 708208 99676 2464668 0 0 275 29 827 708 8 1 91 0 0 0
|
|
||||||
0 0 0 709576 99676 2464860 0 0 0 249 814 609 12 1 87 0 0 0
|
|
||||||
0 0 0 713532 99676 2464996 0 0 38 33 733 668 7 1 91 0 0 0
|
|
||||||
0 0 0 704824 99676 2465212 0 0 562 239 1045 950 12 1 85 1 0 0
|
|
||||||
0 0 0 699980 99676 2465404 0 0 5 1 867 630 11 1 88 0 0 0
|
|
||||||
1 0 0 700564 99676 2465588 0 0 10 1 764 638 5 1 94 0 0 0
|
|
||||||
0 0 0 698548 99676 2465800 0 0 6 48 982 717 15 1 84 0 0 0
|
|
||||||
4 0 0 698548 99676 2466004 0 0 22 30 825 719 7 1 91 0 0 0
|
|
||||||
0 0 0 644256 99676 2466372 0 0 38 1 1269 1055 17 3 81 0 0 0
|
|
||||||
0 0 0 640064 99676 2466564 0 0 22 55 870 710 11 1 88 0 0 0
|
|
||||||
1 0 0 638832 99676 2466732 0 0 26 33 758 643 5 1 94 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
6 0 0 648952 99676 2466944 0 0 16 1 1055 759 20 1 79 0 0 0
|
|
||||||
1 0 0 659852 99676 2467108 0 0 5 33 915 719 15 1 84 0 0 0
|
|
||||||
1 0 0 665912 99676 2467308 0 0 317 32 1157 768 24 1 74 1 0 0
|
|
||||||
1 0 0 670976 99676 2467556 0 0 14 1 1090 904 11 1 88 0 0 0
|
|
||||||
1 0 0 662660 99676 2467752 0 0 66 42 991 831 16 2 82 0 0 0
|
|
||||||
1 0 0 659352 99676 2468064 0 0 40 34 1248 1009 15 1 84 0 0 0
|
|
||||||
0 0 0 659352 99676 2468312 0 0 3 1 1181 919 16 1 83 0 0 0
|
|
||||||
1 0 0 609344 99676 2468692 0 0 107 56 1511 1100 31 3 66 0 0 0
|
|
||||||
1 0 0 607364 99676 2468980 0 0 110 237 1417 1058 24 2 74 0 0 0
|
|
||||||
0 0 0 607112 99676 2469236 0 0 56 0 1145 883 17 1 81 0 0 0
|
|
||||||
0 0 0 612124 99676 2469488 0 0 485 58 1112 854 13 1 85 1 0 0
|
|
||||||
0 0 0 622088 99676 2469800 0 0 26 35 1230 975 15 1 83 0 0 0
|
|
||||||
0 0 0 633696 99676 2469936 0 0 13 0 760 626 9 1 90 0 0 0
|
|
||||||
4 0 0 645340 99676 2470104 0 0 10 50 809 668 10 1 89 0 0 0
|
|
||||||
0 0 0 650000 99676 2470268 0 0 5 1 803 668 9 1 90 0 0 0
|
|
||||||
1 0 0 645456 99676 2470580 0 0 74 27 1298 973 20 2 78 0 0 0
|
|
||||||
0 0 0 641928 99676 2470824 0 0 6 40 920 639 10 1 89 0 0 0
|
|
||||||
0 0 0 652364 99676 2471020 0 0 90 1 910 702 13 1 86 0 0 0
|
|
||||||
1 1 0 663548 99676 2471172 0 0 74 321 806 656 7 1 92 0 0 0
|
|
||||||
0 0 0 669520 99676 2471352 0 0 16 53 976 733 14 1 84 0 0 0
|
|
||||||
0 0 0 657172 99676 2471576 0 0 50 2 1051 880 15 2 83 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 657172 99676 2471732 0 0 6 34 789 639 9 1 89 0 0 0
|
|
||||||
0 0 0 665904 99676 2471996 0 0 10 40 1072 907 12 1 87 0 0 0
|
|
||||||
1 0 0 666476 99676 2472260 0 0 35 1 1114 890 15 1 83 0 0 0
|
|
||||||
0 0 0 648888 99676 2472516 0 0 13 33 1060 921 13 2 85 0 0 0
|
|
||||||
2 0 0 648396 99676 2472676 0 0 29 54 810 641 9 1 90 0 0 0
|
|
||||||
0 0 0 654040 99676 2472944 0 0 24 1 1132 953 11 1 87 0 0 0
|
|
||||||
0 0 0 660952 99676 2473132 0 0 37 31 1022 846 16 1 82 0 0 0
|
|
||||||
0 0 0 665128 99676 2473356 0 0 3 42 1017 829 16 1 83 0 0 0
|
|
||||||
1 0 0 621616 99676 2473752 0 0 18 1 1246 933 13 2 85 0 0 0
|
|
||||||
0 0 0 618568 99676 2473960 0 0 42 34 1038 879 12 1 87 0 0 0
|
|
||||||
1 0 0 621012 99676 2474204 0 0 54 57 1047 916 12 1 87 0 0 0
|
|
||||||
0 0 0 626820 99676 2474412 0 0 6 2 1110 911 17 1 82 0 0 0
|
|
||||||
0 0 0 635120 99676 2474664 0 0 58 251 1215 1047 16 1 83 0 0 0
|
|
||||||
0 0 0 639812 99676 2474880 0 0 74 42 1217 998 21 1 78 0 0 0
|
|
||||||
0 0 0 639588 99676 2475124 0 0 106 1 1089 826 13 2 85 0 0 0
|
|
||||||
1 0 0 644380 99676 2475408 0 0 29 1 1256 1070 17 2 81 0 0 0
|
|
||||||
0 0 0 654028 99676 2475600 0 0 173 52 935 777 9 1 89 0 0 0
|
|
||||||
1 0 0 662508 99676 2475832 0 0 30 39 947 707 12 1 87 0 0 0
|
|
||||||
2 0 0 661896 99676 2476048 0 0 126 1 990 788 12 1 87 0 0 0
|
|
||||||
0 0 0 661140 99676 2476252 0 0 14 34 945 825 10 1 89 0 0 0
|
|
||||||
2 0 0 659664 99676 2476488 0 0 3 39 1016 760 11 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 601064 99676 2476888 0 0 109 1 1281 1000 16 3 81 0 0 0
|
|
||||||
0 0 0 597284 99680 2477144 0 0 5 39 1294 1092 20 2 78 0 0 0
|
|
||||||
0 0 0 599248 99680 2477388 0 0 59 51 1165 987 15 1 83 0 0 0
|
|
||||||
0 0 0 608160 99680 2477608 0 0 45 2 1038 930 8 1 90 0 0 0
|
|
||||||
0 0 0 620628 99680 2477864 0 0 5 48 1048 837 11 1 88 0 0 0
|
|
||||||
0 0 0 624672 99680 2478076 0 0 85 38 1142 905 17 1 82 0 0 0
|
|
||||||
0 0 0 628652 99680 2478260 0 0 0 8 1012 771 15 1 84 0 0 0
|
|
||||||
2 0 0 636052 99680 2478448 0 0 0 36 995 756 15 1 84 0 0 0
|
|
||||||
1 0 0 645912 99680 2478628 0 0 3 36 961 713 14 1 85 0 0 0
|
|
||||||
0 0 0 638352 99680 2478856 0 0 29 3 1078 911 15 2 82 0 0 0
|
|
||||||
0 0 0 631296 99680 2479088 0 0 6 291 1221 939 25 1 73 0 0 0
|
|
||||||
2 0 0 630296 99680 2479252 0 0 27 31 991 827 12 1 87 0 0 0
|
|
||||||
0 0 0 630296 99680 2479564 0 0 16 3 1305 1025 14 2 84 0 0 0
|
|
||||||
0 0 0 644020 99680 2479820 0 0 2 49 1128 896 15 1 84 0 0 0
|
|
||||||
0 0 0 651404 99680 2480036 0 0 10 44 1034 779 12 1 86 0 0 0
|
|
||||||
0 0 0 633036 99680 2480380 0 0 5 1 1414 1094 22 2 76 0 0 0
|
|
||||||
0 0 0 622704 99680 2480748 0 0 29 39 1512 1138 23 2 75 0 0 0
|
|
||||||
0 0 0 602320 99680 2481060 0 0 14 61 1324 969 16 2 82 0 0 0
|
|
||||||
0 0 0 600556 99680 2481508 0 0 2 2 1484 1042 13 2 85 0 0 0
|
|
||||||
2 0 0 602216 99680 2481812 0 0 2 43 1241 1025 11 2 88 0 0 0
|
|
||||||
1 0 0 607388 99680 2482116 0 0 14 83 1300 1032 17 2 82 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 611788 99680 2482428 0 0 125 1 1314 1013 16 2 82 0 0 0
|
|
||||||
0 0 0 594400 99684 2482704 0 0 37 45 1297 1153 18 2 80 0 0 0
|
|
||||||
4 0 0 597032 99684 2482944 0 0 86 303 1135 1039 12 1 86 0 0 0
|
|
||||||
0 0 0 606380 99684 2483236 0 0 48 1 1251 949 13 1 86 0 0 0
|
|
||||||
1 0 0 614668 99688 2483520 0 0 29 48 1323 960 23 2 75 0 0 0
|
|
||||||
8 0 0 615576 99688 2483732 0 0 123 49 1137 965 14 1 84 0 0 0
|
|
||||||
0 0 0 622504 99688 2483984 0 0 98 2 1171 873 19 1 79 0 0 0
|
|
||||||
0 0 0 639832 99688 2484172 0 0 18 44 1090 842 19 1 80 0 0 0
|
|
||||||
0 0 0 632396 99688 2484516 0 0 149 40 1366 1068 20 2 78 0 0 0
|
|
||||||
1 0 0 629120 99688 2484752 0 0 5 1 1294 930 23 1 75 0 0 0
|
|
||||||
1 0 0 617200 99688 2486084 0 0 14 66 1264 1229 14 4 82 0 0 0
|
|
||||||
2 0 0 617200 99688 2486312 0 0 42 38 1270 1076 21 1 77 0 0 0
|
|
||||||
4 0 0 617216 99688 2486504 0 0 14 0 910 781 11 1 88 0 0 0
|
|
||||||
1 0 0 622668 99688 2486732 0 0 27 512 1177 947 19 1 80 0 0 0
|
|
||||||
0 0 0 630240 99688 2487036 0 0 6 39 1523 1128 28 2 70 0 0 0
|
|
||||||
1 0 0 633436 99692 2487264 0 0 251 299 1193 993 20 1 79 0 0 0
|
|
||||||
0 0 0 640676 99692 2487472 0 0 77 9 1158 960 17 1 81 0 0 0
|
|
||||||
0 0 0 606768 99692 2487820 0 0 210 44 1472 1285 26 3 71 0 0 0
|
|
||||||
0 0 0 605256 99692 2488024 0 0 5 41 1097 841 15 1 84 0 0 0
|
|
||||||
0 0 0 602484 99692 2488216 0 0 27 8 1137 975 16 2 82 0 0 0
|
|
||||||
0 0 0 610324 99692 2488320 0 0 0 41 649 516 6 1 93 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 619520 99692 2488488 0 0 2 28 1092 845 21 1 77 0 0 0
|
|
||||||
0 0 0 631908 99692 2488500 0 0 0 10 812 698 12 1 87 0 0 0
|
|
||||||
0 0 0 646148 99692 2488552 0 0 0 25 785 679 9 1 90 0 0 0
|
|
||||||
0 0 0 652600 99692 2488820 0 0 8 21 1048 825 9 1 90 0 0 0
|
|
||||||
2 0 0 606148 99692 2489168 0 0 19 181 1293 951 17 2 81 0 0 0
|
|
||||||
0 0 0 602648 99692 2489260 0 0 0 31 731 586 8 1 91 0 0 0
|
|
||||||
0 0 0 599976 99692 2489536 0 0 19 54 1062 752 7 1 92 0 0 0
|
|
||||||
1 0 0 599752 99692 2489824 0 0 86 11 1222 931 13 1 85 0 0 0
|
|
||||||
2 0 0 603460 99692 2489984 0 0 26 21 909 690 11 1 88 0 0 0
|
|
||||||
0 0 0 612608 99692 2490228 0 0 352 65 1161 994 12 1 86 1 0 0
|
|
||||||
3 0 0 613876 99692 2490424 0 0 19 9 1114 849 12 1 86 0 0 0
|
|
||||||
0 0 0 608080 99692 2490628 0 0 56 31 1107 919 16 2 82 0 0 0
|
|
||||||
0 0 0 608080 99692 2490732 0 0 8 41 862 644 13 1 86 0 0 0
|
|
||||||
0 0 0 609328 99692 2490896 0 0 16 9 1047 687 19 1 80 0 0 0
|
|
||||||
0 0 0 622008 99692 2491064 0 0 26 30 936 791 15 1 84 0 0 0
|
|
||||||
0 0 0 625384 99692 2491180 0 0 0 34 928 657 16 1 83 0 0 0
|
|
||||||
0 0 0 625636 99692 2491340 0 0 2 2 928 722 14 1 85 0 0 0
|
|
||||||
0 0 0 634236 99692 2491480 0 0 8 180 929 677 13 1 86 0 0 0
|
|
||||||
0 0 0 646252 99692 2491600 0 0 3 49 973 753 13 1 86 0 0 0
|
|
||||||
0 0 0 609260 99692 2491980 0 0 123 1 1286 964 16 3 81 0 0 0
|
|
||||||
0 0 0 600892 99692 2492316 0 0 27 5 1266 834 12 2 86 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 601752 99692 2492552 0 0 5 88 1120 850 12 1 87 0 0 0
|
|
||||||
0 0 0 607964 99692 2492732 0 0 6 1 1027 798 15 1 84 0 0 0
|
|
||||||
0 0 0 609252 99692 2492936 0 0 40 11 1125 942 15 1 83 0 0 0
|
|
||||||
0 0 0 608112 99692 2493084 0 0 3 64 956 829 11 1 87 0 0 0
|
|
||||||
0 0 0 619396 99692 2493308 0 0 3 1 1046 781 9 1 89 0 1 0
|
|
||||||
0 0 0 625184 99692 2493588 0 0 5 9 1147 864 16 1 83 0 0 0
|
|
||||||
2 0 0 629116 99692 2493780 0 0 10 83 1008 768 6 2 92 0 0 0
|
|
||||||
1 0 0 608480 99692 2494128 0 0 43 249 1327 1061 15 2 83 0 0 0
|
|
||||||
0 0 0 608100 99692 2494276 0 0 16 12 1064 881 12 1 87 0 0 0
|
|
||||||
0 0 0 616060 99692 2494416 0 0 11 67 911 794 6 1 93 0 0 0
|
|
||||||
0 0 0 628264 99692 2494628 0 0 0 1 1039 764 13 1 86 0 0 0
|
|
||||||
0 0 0 616224 99692 2494884 0 0 24 8 1144 971 11 2 87 0 0 0
|
|
||||||
1 0 0 611228 99692 2495204 0 0 6 211 1543 1413 18 2 80 0 0 0
|
|
||||||
0 0 0 607668 99692 2495596 0 0 6 1 1637 1186 17 2 81 0 0 0
|
|
||||||
0 0 0 618272 99692 2495840 0 0 22 14 1139 885 14 1 85 0 0 0
|
|
||||||
6 0 0 603004 99692 2496112 0 0 10 102 1118 928 15 2 83 0 0 0
|
|
||||||
1 0 0 600968 99692 2496360 0 0 2 0 1038 718 12 1 87 0 0 0
|
|
||||||
1 0 0 600292 99696 2496560 0 0 2 9 1038 798 9 1 89 0 0 0
|
|
||||||
0 0 0 604720 99696 2496724 0 0 3 30 980 744 15 1 84 0 0 0
|
|
||||||
0 0 0 612044 99696 2496868 0 0 21 256 1075 842 16 1 83 0 0 0
|
|
||||||
1 0 0 612044 99696 2497048 0 0 59 11 992 889 11 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 617488 99696 2497228 0 0 2 28 1075 1100 9 1 90 0 0 0
|
|
||||||
0 0 0 619564 99696 2497368 0 0 69 30 849 697 5 1 94 0 0 0
|
|
||||||
4 0 0 629816 99696 2497504 0 0 0 6 854 680 12 1 87 0 0 0
|
|
||||||
0 0 0 632084 99696 2497632 0 0 6 25 866 685 15 1 84 0 0 0
|
|
||||||
0 0 0 639372 99696 2497816 0 0 2 23 946 758 10 1 89 0 0 0
|
|
||||||
0 0 0 639372 99696 2498004 0 0 24 9 826 653 8 1 91 0 0 0
|
|
||||||
0 0 0 631560 99696 2498148 0 0 6 25 900 752 13 2 85 0 0 0
|
|
||||||
0 0 0 636456 99696 2498280 0 0 77 210 832 708 10 1 89 0 0 0
|
|
||||||
0 0 0 643884 99696 2498460 0 0 18 8 1063 851 14 1 84 0 0 0
|
|
||||||
0 0 0 641476 99696 2498636 0 0 26 27 891 745 12 1 87 0 0 0
|
|
||||||
0 0 0 641476 99696 2498812 0 0 0 29 955 789 15 1 84 0 0 0
|
|
||||||
0 0 0 641476 99696 2498956 0 0 2 10 925 693 11 1 88 0 0 0
|
|
||||||
0 0 0 649420 99696 2499076 0 0 5 29 799 639 11 1 88 0 0 0
|
|
||||||
0 0 0 656476 99696 2499192 0 0 0 28 730 621 6 1 93 0 0 0
|
|
||||||
0 0 0 666032 99696 2499316 0 0 3 2 738 576 10 1 89 0 0 0
|
|
||||||
0 0 0 665456 99696 2499472 0 0 72 7 769 627 13 1 86 0 0 0
|
|
||||||
0 0 0 662012 99696 2499612 0 0 18 335 815 769 7 1 92 0 0 0
|
|
||||||
0 0 0 659436 99696 2499764 0 0 8 1 872 742 9 1 89 0 0 0
|
|
||||||
0 0 0 663436 99696 2499896 0 0 26 5 816 758 8 1 90 0 0 0
|
|
||||||
0 0 0 645156 99696 2500056 0 0 6 50 1050 951 17 2 81 0 0 0
|
|
||||||
1 0 0 645948 99696 2500188 0 0 0 1 873 785 11 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 646236 99696 2500436 0 0 5 1 1151 1047 12 1 87 0 0 0
|
|
||||||
0 0 0 633384 99696 2500604 0 0 11 64 971 765 12 2 86 0 0 0
|
|
||||||
0 0 0 632628 99696 2500796 0 0 51 2 1169 940 19 1 79 0 0 0
|
|
||||||
0 0 0 632628 99696 2500988 0 0 14 1 1023 794 14 1 84 0 0 0
|
|
||||||
0 0 0 636484 99696 2501152 0 0 2 64 997 739 17 1 82 0 0 0
|
|
||||||
0 0 0 645880 99696 2501280 0 0 34 1 801 625 14 1 85 0 0 0
|
|
||||||
0 0 0 635712 99696 2501504 0 0 0 1 1024 823 13 2 86 0 0 0
|
|
||||||
0 0 0 631932 99696 2501708 0 0 0 65 890 713 10 1 88 0 0 0
|
|
||||||
0 0 0 634368 99696 2501824 0 0 19 1 624 550 4 1 95 0 0 0
|
|
||||||
0 0 0 637896 99696 2501944 0 0 2 2 747 636 11 1 88 0 0 0
|
|
||||||
0 0 0 637564 99696 2502124 0 0 2 52 973 721 15 1 83 0 0 0
|
|
||||||
0 0 0 637600 99696 2502188 0 0 0 1 442 373 4 1 96 0 0 0
|
|
||||||
0 0 0 644060 99696 2502292 0 0 0 2 671 559 9 1 90 0 0 0
|
|
||||||
0 0 0 647020 99696 2502412 0 0 2 38 667 522 7 1 91 0 0 0
|
|
||||||
0 0 0 650204 99696 2502508 0 0 0 1 649 540 8 1 91 0 0 0
|
|
||||||
0 0 0 659684 99696 2502604 0 0 0 1 629 493 8 1 92 0 0 0
|
|
||||||
0 0 0 662064 99696 2502704 0 0 0 5 595 488 6 1 93 0 0 0
|
|
||||||
0 0 0 673776 99696 2502772 0 0 37 34 606 531 6 1 93 0 0 0
|
|
||||||
0 0 0 677716 99696 2502828 0 0 13 1 492 435 5 1 94 0 0 0
|
|
||||||
0 0 0 679700 99696 2502892 0 0 0 7 569 502 5 1 94 0 0 0
|
|
||||||
2 0 0 681464 99696 2502992 0 0 0 27 527 441 4 1 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 683196 99696 2503104 0 0 0 10 547 401 7 1 92 0 0 0
|
|
||||||
0 0 0 685688 99696 2503196 0 0 2 1 571 453 6 1 93 0 0 0
|
|
||||||
1 0 0 681656 99696 2503376 0 0 3 35 792 612 10 1 89 0 0 0
|
|
||||||
0 0 0 679892 99696 2503500 0 0 72 1 900 631 19 1 80 0 0 0
|
|
||||||
0 0 0 679892 99700 2503628 0 0 0 227 866 530 19 1 80 0 0 0
|
|
||||||
0 0 0 683612 99700 2503728 0 0 0 45 849 509 20 1 79 0 0 0
|
|
||||||
0 0 0 687116 99700 2503840 0 0 0 1 742 497 15 1 84 0 0 0
|
|
||||||
1 0 0 687116 99700 2503896 0 0 0 5 434 316 5 1 94 0 0 0
|
|
||||||
0 0 0 691148 99700 2504000 0 0 0 28 716 496 12 1 87 0 0 0
|
|
||||||
1 0 0 683588 99700 2504100 0 0 2 2 643 464 11 1 88 0 0 0
|
|
||||||
0 0 0 684188 99700 2504180 0 0 0 15 610 447 10 1 89 0 0 0
|
|
||||||
0 0 0 691804 99700 2504252 0 0 0 193 510 386 8 1 91 0 0 0
|
|
||||||
1 0 0 694256 99700 2504416 0 0 0 2 920 566 14 1 85 0 0 0
|
|
||||||
0 0 0 694256 99700 2504528 0 0 0 5 654 501 8 1 91 0 0 0
|
|
||||||
2 0 0 691484 99700 2504636 0 0 0 41 711 514 10 1 90 0 0 0
|
|
||||||
0 0 0 691484 99700 2504720 0 0 0 0 536 356 7 1 92 0 0 0
|
|
||||||
3 0 0 696776 99700 2504796 0 0 43 7 579 447 7 1 92 0 0 0
|
|
||||||
1 0 0 705340 99700 2504888 0 0 0 27 535 389 8 1 92 0 0 0
|
|
||||||
0 0 0 707516 99700 2504956 0 0 2 1 670 538 8 1 91 0 0 0
|
|
||||||
1 0 0 707264 99700 2505048 0 0 19 394 542 410 9 1 90 0 0 0
|
|
||||||
1 0 0 705500 99700 2505116 0 0 26 28 527 375 9 0 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 701468 99700 2505208 0 0 0 2 659 528 9 1 90 0 0 0
|
|
||||||
4 0 0 699956 99700 2505348 0 0 5 11 698 520 11 1 88 0 0 0
|
|
||||||
0 0 0 697436 99700 2505456 0 0 0 35 691 476 12 1 87 0 0 0
|
|
||||||
1 0 0 697436 99700 2505516 0 0 0 0 463 353 7 1 92 0 0 0
|
|
||||||
1 0 0 697436 99700 2505612 0 0 0 6 594 395 7 1 92 0 0 0
|
|
||||||
1 0 0 697436 99700 2505676 0 0 0 11 490 370 9 0 91 0 0 0
|
|
||||||
1 0 0 693656 99700 2505796 0 0 2 16 706 480 14 1 85 0 0 0
|
|
||||||
1 0 0 693456 99700 2505924 0 0 126 8 668 547 7 1 92 0 0 0
|
|
||||||
1 0 0 686852 99700 2506032 0 0 3 1 645 507 8 1 91 0 0 0
|
|
||||||
1 0 0 689348 99700 2506108 0 0 6 38 534 408 8 1 91 0 0 0
|
|
||||||
1 0 0 681284 99700 2506252 0 0 2 283 749 561 13 1 86 0 0 0
|
|
||||||
1 0 0 679016 99700 2506440 0 0 5 1 901 680 12 1 87 0 0 0
|
|
||||||
0 0 0 669440 99700 2506612 0 0 3 49 884 602 13 1 86 0 0 0
|
|
||||||
1 0 0 680724 99704 2506660 0 0 0 11 485 362 6 1 93 0 0 0
|
|
||||||
1 0 0 693108 99704 2506704 0 0 0 1 423 291 7 0 92 0 0 0
|
|
||||||
1 0 0 703108 99704 2506768 0 0 48 28 542 381 10 1 89 0 0 0
|
|
||||||
0 0 0 668080 99704 2506968 0 0 3 2 829 641 19 2 80 0 0 0
|
|
||||||
0 0 0 655256 99704 2507024 0 0 16 0 515 401 5 1 94 0 0 0
|
|
||||||
0 0 0 655256 99704 2507116 0 0 0 217 645 428 15 1 85 0 0 0
|
|
||||||
0 0 0 656264 99704 2507196 0 0 5 1 642 409 15 1 84 0 0 0
|
|
||||||
0 0 0 662924 99704 2507288 0 0 0 2 667 436 13 1 87 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 675564 99704 2507364 0 0 0 33 616 386 12 1 87 0 0 0
|
|
||||||
0 0 0 687268 99704 2507416 0 0 21 0 426 303 6 1 93 0 0 0
|
|
||||||
0 0 0 690208 99704 2507500 0 0 14 1 653 495 13 1 86 0 0 0
|
|
||||||
1 0 0 696024 99708 2507576 0 0 0 31 527 424 8 1 91 0 0 0
|
|
||||||
0 0 0 695800 99708 2507728 0 0 2 0 685 504 11 1 88 0 0 0
|
|
||||||
3 0 0 704160 99708 2507800 0 0 0 0 595 434 11 1 88 0 0 0
|
|
||||||
0 0 0 702576 99708 2507912 0 0 0 5 688 513 10 1 89 0 0 0
|
|
||||||
0 0 0 693940 99708 2508080 0 0 0 34 819 683 7 1 91 0 0 0
|
|
||||||
0 0 0 678660 99708 2508296 0 0 45 1 842 611 8 1 91 0 0 0
|
|
||||||
0 0 0 675824 99708 2508400 0 0 0 5 687 682 6 1 93 0 0 0
|
|
||||||
0 0 0 684916 99708 2508452 0 0 0 52 364 307 2 1 97 0 0 0
|
|
||||||
0 0 0 698468 99708 2508496 0 0 0 1 408 325 3 1 96 0 0 0
|
|
||||||
0 0 0 707120 99708 2508576 0 0 6 0 440 349 4 1 95 0 0 0
|
|
||||||
0 0 0 717912 99708 2508648 0 0 14 27 367 291 3 1 97 0 0 0
|
|
||||||
0 0 0 725736 99708 2508684 0 0 0 0 251 255 0 0 99 0 0 0
|
|
||||||
0 0 0 726156 99708 2508724 0 0 96 1 347 318 4 0 95 0 0 0
|
|
||||||
0 0 0 729220 99708 2508756 0 0 0 25 243 231 2 0 98 0 0 0
|
|
||||||
0 0 0 728464 99708 2508804 0 0 80 0 308 281 3 0 97 0 0 0
|
|
||||||
0 0 0 733104 99708 2508852 0 0 0 0 275 201 2 0 98 0 0 0
|
|
||||||
0 0 0 731860 99708 2508908 0 0 0 17 355 274 4 0 96 0 0 0
|
|
||||||
0 0 0 724580 99708 2509060 0 0 0 6 589 411 5 1 94 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 721808 99708 2509148 0 0 11 1 439 382 3 1 96 0 0 0
|
|
||||||
0 0 0 698532 99708 2509376 0 0 109 225 769 643 3 2 95 0 0 0
|
|
||||||
0 0 0 687592 99708 2509608 0 0 6 276 898 671 7 1 92 0 0 0
|
|
||||||
0 0 0 673256 99712 2509852 0 0 43 8 857 679 9 1 90 0 0 0
|
|
||||||
1 0 0 671520 99712 2509968 0 0 122 1 670 545 6 1 93 0 0 0
|
|
||||||
0 0 0 660964 99712 2510196 0 0 333 63 1006 882 12 1 86 0 0 0
|
|
||||||
0 0 0 660964 99712 2510288 0 0 27 10 585 532 6 1 93 0 0 0
|
|
||||||
0 0 0 664724 99712 2510428 0 0 2 2 732 602 10 1 89 0 0 0
|
|
||||||
0 0 0 666472 99712 2510552 0 0 8 47 593 485 5 1 94 0 0 0
|
|
||||||
1 0 0 669488 99712 2510728 0 0 5 6 816 651 7 1 91 0 0 0
|
|
||||||
0 0 0 642636 99712 2510988 0 0 86 2 906 705 9 2 89 0 0 0
|
|
||||||
0 0 0 642636 99712 2511236 0 0 13 58 953 673 10 1 89 0 0 0
|
|
||||||
1 0 0 647368 99712 2511384 0 0 54 6 787 684 6 1 93 0 0 0
|
|
||||||
1 0 0 649292 99712 2511484 0 0 40 4 571 458 6 1 93 0 0 0
|
|
||||||
0 0 0 662560 99712 2511560 0 0 35 52 494 440 4 1 96 0 0 0
|
|
||||||
4 0 0 671280 99712 2511728 0 0 5 6 711 571 6 1 93 0 0 0
|
|
||||||
1 0 0 642156 99712 2511952 0 0 53 2 959 785 12 2 85 0 0 0
|
|
||||||
0 0 0 635096 99712 2512152 0 0 5 37 823 622 8 1 91 0 0 0
|
|
||||||
0 0 0 635616 99712 2512328 0 0 0 28 817 631 5 1 94 0 0 0
|
|
||||||
0 0 0 638592 99712 2512524 0 0 5 3 881 655 8 1 90 0 0 0
|
|
||||||
0 0 0 638592 99712 2512792 0 0 26 41 1030 789 13 1 85 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 638592 99712 2513016 0 0 19 33 889 696 9 1 90 0 0 0
|
|
||||||
0 0 0 642884 99712 2513708 0 0 30 1 721 656 7 3 91 0 0 0
|
|
||||||
4 0 0 657172 99712 2513760 0 0 35 25 576 449 9 1 90 0 0 0
|
|
||||||
0 0 0 662328 99712 2513892 0 0 24 22 701 540 11 1 89 0 0 0
|
|
||||||
0 0 0 672788 99712 2514020 0 0 21 450 632 491 6 1 93 0 0 0
|
|
||||||
0 0 0 674396 99712 2514124 0 0 6 24 550 409 10 1 89 0 0 0
|
|
||||||
0 0 0 681784 99712 2514284 0 0 11 16 723 612 5 1 94 0 0 0
|
|
||||||
0 0 0 682792 99712 2514396 0 0 34 8 720 690 7 1 92 0 0 0
|
|
||||||
0 0 0 689780 99712 2514456 0 0 2 0 459 403 2 1 97 0 0 0
|
|
||||||
0 0 0 684516 99712 2514608 0 0 0 323 668 574 5 1 93 0 0 0
|
|
||||||
0 0 0 684516 99712 2514684 0 0 0 11 619 452 5 1 94 0 0 0
|
|
||||||
0 0 0 690436 99712 2514768 0 0 18 0 590 498 7 1 91 0 0 0
|
|
||||||
1 0 0 688728 99712 2514848 0 0 59 38 480 431 3 1 96 0 0 0
|
|
||||||
0 0 0 688504 99712 2514932 0 0 19 7 658 485 10 1 89 0 0 0
|
|
||||||
0 0 0 677220 99712 2515080 0 0 0 1 678 573 10 1 88 0 0 0
|
|
||||||
4 0 0 676464 99712 2515124 0 0 0 37 463 392 5 1 94 0 0 0
|
|
||||||
0 0 0 675584 99712 2515240 0 0 13 9 620 525 7 1 93 0 0 0
|
|
||||||
0 0 0 675584 99712 2515328 0 0 64 1 732 645 10 1 88 0 0 0
|
|
||||||
2 0 0 681732 99712 2515360 0 0 0 36 555 437 4 1 95 0 0 0
|
|
||||||
0 0 0 681732 99712 2515380 0 0 2 5 464 420 4 1 95 0 0 0
|
|
||||||
0 0 0 686428 99712 2515480 0 0 0 1 485 381 5 1 94 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 686428 99712 2515640 0 0 3 34 669 526 5 1 94 0 0 0
|
|
||||||
0 0 0 686428 99712 2515844 0 0 46 441 795 688 9 1 90 0 0 0
|
|
||||||
0 0 0 686428 99712 2515964 0 0 8 0 571 475 3 1 96 0 0 0
|
|
||||||
0 0 0 676932 99712 2516264 0 0 5 68 946 779 13 2 86 0 0 0
|
|
||||||
0 0 0 672372 99712 2516408 0 0 27 7 707 594 6 1 93 0 0 0
|
|
||||||
0 0 0 672624 99712 2516528 0 0 8 1 584 485 5 1 94 0 0 0
|
|
||||||
0 0 0 676152 99712 2516712 0 0 82 1 783 626 7 1 92 0 0 0
|
|
||||||
2 0 0 663880 99712 2516972 0 0 58 61 1050 930 12 2 85 0 0 0
|
|
||||||
0 0 0 644760 99712 2517224 0 0 38 1 1036 899 10 2 88 0 0 0
|
|
||||||
0 0 0 644508 99712 2517304 0 0 6 1 686 587 7 1 92 0 0 0
|
|
||||||
1 0 0 646848 99712 2517484 0 0 45 73 843 692 8 1 90 0 0 0
|
|
||||||
1 0 0 639036 99712 2517720 0 0 35 1 1062 865 12 1 86 0 0 0
|
|
||||||
1 0 0 636516 99712 2517948 0 0 38 1 963 800 10 1 89 0 0 0
|
|
||||||
0 0 0 640436 99712 2518164 0 0 0 81 1020 813 14 1 85 0 0 0
|
|
||||||
0 0 0 644740 99712 2518376 0 0 34 1 1116 838 19 1 80 0 0 0
|
|
||||||
0 0 0 637320 99716 2518744 0 0 14 11 1133 867 11 1 88 0 0 0
|
|
||||||
0 0 0 631484 99716 2519108 0 0 13 76 1253 1064 13 2 85 0 0 0
|
|
||||||
1 0 0 629972 99716 2519384 0 0 5 1 954 819 5 1 94 0 0 0
|
|
||||||
1 0 0 609812 99716 2519704 0 0 54 10 1235 1188 14 2 83 0 0 0
|
|
||||||
1 0 0 595000 99716 2520120 0 0 32 392 1514 1415 13 2 84 0 0 0
|
|
||||||
0 0 0 575652 99716 2520448 0 0 18 1 1149 946 12 2 87 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 572880 99716 2520724 0 0 38 1 1107 1024 7 2 91 0 0 0
|
|
||||||
0 0 0 572656 99716 2520972 0 0 16 105 1221 1074 18 1 81 0 0 0
|
|
||||||
0 0 0 581164 99716 2521220 0 0 107 1 1092 1016 7 1 91 0 0 0
|
|
||||||
0 0 0 583648 99716 2521516 0 0 35 2 1208 1008 15 1 83 0 0 0
|
|
||||||
0 0 0 594556 99716 2521748 0 0 43 95 1024 818 9 1 90 0 0 0
|
|
||||||
0 0 0 599596 99716 2521984 0 0 51 2 1081 994 12 1 86 0 0 0
|
|
||||||
1 0 0 597832 99716 2522220 0 0 58 2 1090 892 14 1 84 0 0 0
|
|
||||||
2 0 0 594240 99716 2522468 0 0 37 83 1120 900 15 1 84 0 0 0
|
|
||||||
0 0 0 601400 99716 2522768 0 0 214 1 1199 977 10 1 88 0 0 0
|
|
||||||
0 0 0 597116 99716 2523136 0 0 10 2 1375 1091 18 2 80 0 0 0
|
|
||||||
0 0 0 583876 99716 2523484 0 0 3 115 1421 1148 16 2 81 0 0 0
|
|
||||||
0 0 0 578024 99716 2523776 0 0 40 1 1166 1012 13 1 86 0 0 0
|
|
||||||
0 0 0 576008 99716 2524036 0 0 110 463 1182 1000 14 1 85 0 0 0
|
|
||||||
0 0 0 565200 99716 2524356 0 0 69 92 1275 1095 16 2 82 0 0 0
|
|
||||||
0 0 0 561952 99716 2524720 0 0 138 2 1515 1244 23 2 75 0 0 0
|
|
||||||
0 0 0 558928 99720 2524988 0 0 26 12 1189 971 16 1 83 0 0 0
|
|
||||||
0 0 0 558704 99720 2525356 0 0 13 103 1454 1174 20 2 78 0 0 0
|
|
||||||
0 0 0 555960 99720 2525680 0 0 347 1 1374 1185 16 2 82 0 0 0
|
|
||||||
0 0 0 555960 99720 2525968 0 0 410 7 1412 1231 19 2 78 1 0 0
|
|
||||||
1 0 0 511804 99720 2526432 0 0 6 2 1829 1438 32 3 65 0 0 0
|
|
||||||
0 0 0 502256 99720 2526720 0 0 6 108 1270 1100 15 1 84 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 496724 99720 2526948 0 0 32 11 1161 957 14 1 84 0 0 0
|
|
||||||
0 0 0 489924 99720 2527340 0 0 16 1 1554 1365 17 2 80 0 0 0
|
|
||||||
3 0 0 490744 99720 2527684 0 0 26 95 1451 1341 19 2 79 0 0 0
|
|
||||||
3 0 0 496032 99720 2527956 0 0 8 7 1263 1081 16 1 82 0 0 0
|
|
||||||
3 0 0 505804 99720 2528296 0 0 26 447 1323 1103 12 2 86 0 0 0
|
|
||||||
0 0 0 519976 99720 2528536 0 0 6 95 1217 1063 20 1 78 0 0 0
|
|
||||||
0 0 0 533108 99720 2528724 0 0 69 6 1128 955 16 1 83 0 0 0
|
|
||||||
0 0 0 546912 99720 2528920 0 0 144 8 1212 1037 18 1 80 0 0 0
|
|
||||||
0 0 0 559456 99720 2529160 0 0 11 71 1080 931 13 1 85 0 0 0
|
|
||||||
0 0 0 562096 99720 2529476 0 0 24 1 1478 1334 15 2 82 0 0 0
|
|
||||||
0 0 0 557604 99720 2529884 0 0 227 13 1609 1294 21 2 76 0 0 0
|
|
||||||
0 0 0 549124 99720 2530348 0 0 29 111 1687 1384 18 2 79 0 0 0
|
|
||||||
0 0 0 503092 99720 2530920 0 0 422 2 1901 1567 22 3 73 1 0 0
|
|
||||||
1 0 0 492816 99720 2531384 0 0 149 9 1823 1399 27 2 70 0 0 0
|
|
||||||
0 0 0 491060 99720 2531836 0 0 56 151 1791 1529 22 2 76 0 0 0
|
|
||||||
0 0 0 460588 99720 2532424 0 0 562 321 2139 1950 29 3 67 1 0 0
|
|
||||||
5 0 0 459888 99720 2532892 0 0 282 14 1810 1489 17 2 80 0 0 0
|
|
||||||
0 0 0 464768 99720 2533216 0 0 147 155 1505 1329 21 2 77 0 0 0
|
|
||||||
0 0 0 463124 99720 2533764 0 0 138 2 2102 1683 33 3 64 0 0 0
|
|
||||||
0 0 0 459848 99720 2534164 0 0 120 6 1718 1500 18 2 80 0 0 0
|
|
||||||
3 0 0 466676 99720 2534492 0 0 629 197 1422 1361 14 2 83 1 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 453824 99720 2534940 0 0 424 1 1827 1538 21 3 76 1 0 0
|
|
||||||
0 0 0 453824 99720 2535384 0 0 64 11 1732 1572 15 2 83 0 0 0
|
|
||||||
1 0 0 453824 99720 2535848 0 0 254 152 1877 1671 20 2 77 0 0 0
|
|
||||||
0 0 0 455052 99720 2536256 0 0 742 4 1843 1708 25 2 71 1 0 0
|
|
||||||
0 0 0 455052 99724 2536728 0 0 1026 144 2027 1788 30 2 66 1 0 0
|
|
||||||
0 0 0 428620 99724 2537376 0 0 238 153 2076 1758 27 3 70 0 0 0
|
|
||||||
5 0 0 410644 99724 2538056 0 0 312 2 2443 1902 36 3 61 0 0 0
|
|
||||||
1 0 0 396140 99724 2538984 0 0 234 132 2911 2265 36 4 59 0 0 0
|
|
||||||
0 0 0 395384 99724 2539748 0 0 406 246 2508 1792 21 3 75 1 0 0
|
|
||||||
0 0 0 395384 99724 2540244 0 0 379 2 1819 1570 23 2 74 1 0 0
|
|
||||||
0 0 0 397528 99728 2540800 0 0 128 8 2051 1687 28 2 69 0 0 0
|
|
||||||
0 0 0 405228 99728 2541204 0 0 130 229 1824 1730 16 2 81 0 0 0
|
|
||||||
1 0 0 416308 99728 2541604 0 0 371 9 1844 1441 30 2 67 0 0 0
|
|
||||||
13 0 0 417696 99728 2542124 0 0 253 5 2041 1790 23 3 73 0 0 0
|
|
||||||
0 0 0 387916 99728 2542768 0 0 107 158 2345 1978 31 3 66 0 0 0
|
|
||||||
3 0 0 384336 99728 2543204 0 0 192 9 1897 1581 27 2 70 0 0 0
|
|
||||||
1 0 0 385496 99728 2543688 0 0 256 238 2070 1731 31 2 66 0 0 0
|
|
||||||
0 0 0 392496 99728 2544308 0 0 418 79 2361 1839 41 3 56 0 0 0
|
|
||||||
0 0 0 402048 99728 2544796 0 0 552 168 2108 1768 40 2 57 1 0 0
|
|
||||||
0 0 0 414072 99728 2545196 0 0 142 10 1764 1483 23 2 74 0 0 0
|
|
||||||
0 0 0 426700 99728 2545636 0 0 53 1 1938 1679 30 2 68 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 394752 99728 2546180 0 0 278 231 2079 1840 27 3 69 0 0 0
|
|
||||||
0 0 0 391980 99728 2546580 0 0 450 7 1727 1479 21 2 76 1 0 0
|
|
||||||
0 0 0 391980 99728 2547092 0 0 382 2 2021 1715 26 3 70 0 0 0
|
|
||||||
0 0 0 391280 99728 2547564 0 0 227 241 2190 1877 38 2 59 0 0 0
|
|
||||||
0 0 0 374340 99728 2548072 0 0 432 13 2114 1961 31 3 66 0 0 0
|
|
||||||
3 0 0 375796 99728 2548540 0 0 459 2 2055 1780 30 2 67 0 0 0
|
|
||||||
4 0 0 383788 99728 2548912 0 0 106 151 1808 1621 26 2 72 0 0 0
|
|
||||||
2 0 0 378464 99728 2549376 0 0 74 7 1967 1721 32 2 66 0 0 0
|
|
||||||
7 1 0 378468 99728 2549816 0 0 230 121 1904 1785 22 2 75 0 0 0
|
|
||||||
0 0 0 378468 99728 2550212 0 0 1051 134 1978 1801 33 2 64 1 0 0
|
|
||||||
0 0 0 387944 99728 2550520 0 0 229 103 1712 1552 25 2 73 0 0 0
|
|
||||||
0 0 0 394372 99728 2550948 0 0 547 2 2011 1726 35 2 62 1 0 0
|
|
||||||
1 0 0 401376 99728 2551332 0 0 381 118 1840 1780 26 2 71 0 0 0
|
|
||||||
0 0 0 404888 99728 2551796 0 0 347 70 1953 1762 34 2 64 0 0 0
|
|
||||||
0 0 0 404636 99728 2552244 0 0 294 3 2033 1738 36 2 61 0 0 0
|
|
||||||
0 0 0 399344 99728 2552724 0 0 133 145 2118 1936 38 3 59 0 0 0
|
|
||||||
0 0 0 398588 99728 2553172 0 0 416 11 1881 1831 21 2 76 1 0 0
|
|
||||||
1 0 0 398588 99728 2553620 0 0 744 251 2068 1913 29 2 68 1 0 0
|
|
||||||
0 0 0 406068 99728 2553996 0 0 104 136 1818 1585 21 2 77 0 0 0
|
|
||||||
0 0 0 417408 99728 2554388 0 0 234 8 1867 1770 31 2 67 0 0 0
|
|
||||||
0 0 0 417664 99728 2554788 0 0 173 2 1784 1564 27 2 70 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 417212 99728 2555140 0 0 771 158 1804 1731 25 2 72 1 0 0
|
|
||||||
0 0 0 422708 99728 2555552 0 0 70 293 1890 1962 24 2 73 0 0 0
|
|
||||||
1 0 0 415652 99728 2556012 0 0 482 3 1987 2014 21 3 75 1 0 0
|
|
||||||
1 0 0 401820 99728 2556636 0 0 640 170 2146 1883 25 3 71 1 0 0
|
|
||||||
2 0 0 371608 99728 2557128 0 0 110 8 1983 1671 28 3 69 0 0 0
|
|
||||||
0 0 0 371608 99728 2557544 0 0 75 3 1838 1736 25 2 72 0 0 0
|
|
||||||
0 0 0 374644 99728 2557976 0 0 242 155 2048 1804 35 2 62 0 0 0
|
|
||||||
4 0 0 375876 99728 2558504 0 0 40 9 2052 1932 18 3 79 0 0 0
|
|
||||||
4 0 0 385344 99728 2558956 0 0 381 150 1921 1842 21 2 76 1 0 0
|
|
||||||
0 0 0 391212 99728 2559424 0 0 224 149 2001 1810 25 3 71 0 0 0
|
|
||||||
0 0 0 391212 99728 2559840 0 0 573 10 1756 1563 22 2 75 1 0 0
|
|
||||||
0 0 0 387936 99728 2560348 0 0 88 2 2045 1872 28 3 69 0 0 0
|
|
||||||
0 0 0 387936 99728 2560860 0 0 434 211 2036 1910 25 3 72 0 0 0
|
|
||||||
0 0 0 382672 99728 2561348 0 0 730 10 2089 1896 31 3 65 1 0 0
|
|
||||||
0 0 0 382672 99728 2561712 0 0 624 150 1871 1775 23 2 74 1 0 0
|
|
||||||
0 0 0 384984 99728 2562168 0 0 341 135 2010 1923 28 2 69 0 0 0
|
|
||||||
0 0 0 393320 99728 2562596 0 0 117 7 1851 1656 27 2 71 0 0 0
|
|
||||||
0 0 0 400728 99728 2562912 0 0 205 3 1597 1456 19 2 79 0 0 0
|
|
||||||
0 0 0 408936 99728 2563224 0 0 34 2 1448 1230 19 1 79 0 0 0
|
|
||||||
4 0 0 419440 99728 2563552 0 0 333 152 1615 1398 25 2 72 0 0 0
|
|
||||||
0 0 0 422860 99728 2563936 0 0 470 4 1764 1604 24 2 73 1 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 428688 99728 2564324 0 0 933 94 1883 1809 30 3 66 1 0 0
|
|
||||||
0 0 0 424844 99728 2564656 0 0 304 123 1625 1483 20 2 78 0 0 0
|
|
||||||
1 0 0 424844 99728 2564964 0 0 178 3 1510 1438 21 2 77 0 0 0
|
|
||||||
1 0 0 430832 99728 2565280 0 0 270 2 1675 1388 29 1 69 0 0 0
|
|
||||||
0 0 0 421028 99728 2565736 0 0 392 218 1803 1591 28 2 69 1 0 0
|
|
||||||
0 0 0 417248 99728 2566044 0 0 203 1 1459 1333 18 2 80 0 0 0
|
|
||||||
7 0 0 423368 99728 2566396 0 0 426 3 1745 1548 29 2 68 0 0 0
|
|
||||||
3 0 0 432024 99728 2566752 0 0 86 122 1579 1419 22 2 75 0 0 0
|
|
||||||
0 0 0 433396 99728 2567092 0 0 11 1 1493 1337 21 1 77 0 0 0
|
|
||||||
0 0 0 439668 99728 2567316 0 0 82 9 1235 1151 12 2 86 0 0 0
|
|
||||||
5 0 0 445964 99728 2567516 0 0 14 94 1130 976 13 1 85 0 0 0
|
|
||||||
3 0 0 452000 99728 2567820 0 0 382 58 1500 1409 22 2 75 1 0 0
|
|
||||||
4 0 0 447464 99728 2568044 0 0 144 9 1282 1248 13 2 85 0 0 0
|
|
||||||
0 0 0 450200 99728 2568308 0 0 165 300 1464 1312 21 2 77 0 0 0
|
|
||||||
0 0 0 450996 99728 2568596 0 0 230 2 1373 1297 15 2 83 0 0 0
|
|
||||||
0 0 0 458448 99728 2568828 0 0 181 2 1261 1167 16 1 82 0 0 0
|
|
||||||
0 0 0 467088 99732 2569104 0 0 112 95 1404 1311 21 2 77 0 0 0
|
|
||||||
0 0 0 474492 99732 2569384 0 0 50 100 1371 1216 19 2 79 0 0 0
|
|
||||||
0 0 0 471972 99732 2569656 0 0 19 2 1402 1276 19 2 79 0 0 0
|
|
||||||
0 0 0 480856 99732 2569884 0 0 85 90 1156 1052 14 1 85 0 0 0
|
|
||||||
0 0 0 485160 99732 2570160 0 0 40 1 1254 1131 15 1 83 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 479868 99732 2570384 0 0 67 2 1218 1051 18 1 80 0 0 0
|
|
||||||
0 0 0 481152 99732 2570628 0 0 381 87 1282 1167 20 1 79 0 0 0
|
|
||||||
0 0 0 492424 99732 2570860 0 0 38 2 1280 1271 13 1 86 0 0 0
|
|
||||||
1 0 0 492424 99732 2571144 0 0 35 2 1286 1235 13 2 85 0 0 0
|
|
||||||
0 0 0 496196 99732 2571348 0 0 19 85 1055 916 15 1 83 0 0 0
|
|
||||||
0 0 0 510668 99732 2571564 0 0 48 2 1219 1088 16 1 82 0 0 0
|
|
||||||
0 0 0 517400 99732 2571812 0 0 3 1 1154 1065 14 1 85 0 0 0
|
|
||||||
0 0 0 515888 99732 2572072 0 0 5 79 1200 1086 12 1 86 0 0 0
|
|
||||||
0 0 0 510092 99732 2572292 0 0 6 1 1142 1032 13 1 85 0 0 0
|
|
||||||
0 0 0 510092 99732 2572548 0 0 14 2 1258 1150 16 1 82 0 0 0
|
|
||||||
0 0 0 510092 99732 2572776 0 0 8 83 1147 1016 14 1 84 0 0 0
|
|
||||||
0 0 0 512132 99732 2573048 0 0 24 1 1148 1046 11 1 88 0 0 0
|
|
||||||
4 0 0 513404 99732 2574316 0 0 5 1 1332 1321 13 4 83 0 0 0
|
|
||||||
0 0 0 515360 99732 2574484 0 0 6 91 990 912 10 1 88 0 0 0
|
|
||||||
0 0 0 525440 99732 2574668 0 0 0 1 1185 1219 13 1 85 0 0 0
|
|
||||||
0 0 0 538116 99732 2574852 0 0 5 543 1069 1049 10 1 88 0 0 0
|
|
||||||
0 0 0 509224 99732 2575212 0 0 18 83 1539 1580 19 3 79 0 0 0
|
|
||||||
2 0 0 504232 99732 2575440 0 0 35 2 1187 1124 13 1 85 0 0 0
|
|
||||||
0 0 0 502164 99732 2575700 0 0 6 2 1169 1064 12 1 86 0 0 0
|
|
||||||
3 0 0 505232 99732 2575920 0 0 0 289 1263 1113 19 1 79 0 0 0
|
|
||||||
5 0 0 519196 99732 2576136 0 0 2 82 1064 909 13 1 85 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 520196 99732 2576368 0 0 5 2 1190 1193 11 2 87 0 0 0
|
|
||||||
0 0 0 528484 99732 2576564 0 0 14 8 1192 1075 14 2 84 0 0 0
|
|
||||||
0 0 0 518504 99732 2576836 0 0 2 81 1273 1247 12 2 86 0 0 0
|
|
||||||
0 0 0 514924 99732 2577052 0 0 11 1 1227 1104 17 1 82 0 0 0
|
|
||||||
0 0 0 519328 99732 2577288 0 0 2 6 1134 1122 13 1 85 0 0 0
|
|
||||||
0 0 0 524596 99732 2577500 0 0 3 245 1069 952 11 1 87 0 0 0
|
|
||||||
0 0 0 534992 99732 2577588 0 0 11 2 918 924 7 1 91 0 0 0
|
|
||||||
0 0 0 544340 99732 2577700 0 0 42 1 848 741 10 1 88 0 0 0
|
|
||||||
0 0 0 552244 99732 2577836 0 0 8 62 806 838 7 1 92 0 0 0
|
|
||||||
0 0 0 547204 99732 2578008 0 0 3 1 1033 968 14 2 85 0 0 0
|
|
||||||
0 0 0 552692 99732 2578092 0 0 0 2 822 795 8 1 90 0 0 0
|
|
||||||
0 0 0 557732 99732 2578256 0 0 70 60 885 837 9 1 90 0 0 0
|
|
||||||
0 0 0 553952 99732 2578432 0 0 106 3 907 791 11 1 88 0 0 0
|
|
||||||
0 0 0 553952 99732 2578548 0 0 16 1 813 750 8 1 90 0 0 0
|
|
||||||
0 0 0 552348 99732 2578760 0 0 2 63 1049 998 11 2 87 0 0 0
|
|
||||||
0 0 0 548568 99732 2578916 0 0 2 1 987 948 8 1 91 0 0 0
|
|
||||||
0 0 0 551744 99732 2579060 0 0 0 1 883 762 9 1 89 0 0 0
|
|
||||||
1 0 0 551744 99732 2579236 0 0 21 67 899 820 11 1 88 0 0 0
|
|
||||||
2 0 0 559056 99732 2579312 0 0 2 1 848 700 13 1 86 0 0 0
|
|
||||||
0 0 0 561984 99732 2579416 0 0 0 1 768 659 7 1 91 0 0 0
|
|
||||||
1 0 0 567344 99732 2579476 0 0 16 105 809 739 11 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 580088 99732 2579576 0 0 0 1 695 627 7 1 92 0 0 0
|
|
||||||
0 0 0 586944 99732 2579688 0 0 0 1 687 560 9 1 90 0 0 0
|
|
||||||
0 0 0 589256 99732 2579796 0 0 0 40 642 529 8 1 91 0 0 0
|
|
||||||
0 0 0 583964 99732 2579972 0 0 205 2 831 772 11 1 87 1 0 0
|
|
||||||
0 0 0 581948 99732 2580128 0 0 3 1 787 647 7 1 92 0 0 0
|
|
||||||
1 0 0 579428 99732 2580296 0 0 6 61 885 762 10 1 89 0 0 0
|
|
||||||
0 0 0 579428 99732 2580448 0 0 38 1 868 758 10 1 88 0 0 0
|
|
||||||
1 0 0 577716 99732 2580632 0 0 18 1 1084 983 13 1 85 0 0 0
|
|
||||||
0 0 0 573380 99732 2580824 0 0 70 38 935 884 9 1 90 0 0 0
|
|
||||||
0 0 0 573128 99732 2580920 0 0 120 49 796 717 9 1 90 0 0 0
|
|
||||||
0 0 0 578964 99732 2581052 0 0 5 223 783 784 6 1 93 0 0 0
|
|
||||||
0 0 0 577200 99732 2581196 0 0 2 32 781 692 7 1 92 0 0 0
|
|
||||||
0 0 0 580628 99732 2581380 0 0 8 28 883 784 9 1 90 0 0 0
|
|
||||||
0 0 0 579116 99732 2581556 0 0 6 1 856 763 8 1 91 0 0 0
|
|
||||||
3 0 0 579116 99732 2581708 0 0 30 7 741 719 5 1 94 0 0 0
|
|
||||||
0 0 0 575652 99732 2581844 0 0 24 60 1042 894 10 2 88 0 0 0
|
|
||||||
0 0 0 570044 99732 2582024 0 0 48 13 871 735 8 1 91 0 0 0
|
|
||||||
0 0 0 570044 99732 2582200 0 0 99 14 822 688 5 1 94 0 0 0
|
|
||||||
0 0 0 570044 99732 2582296 0 0 32 91 716 656 5 1 94 0 0 0
|
|
||||||
0 0 0 570044 99732 2582468 0 0 14 12 893 705 11 1 88 0 0 0
|
|
||||||
0 0 0 571180 99732 2582684 0 0 0 1 874 658 6 1 92 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 568660 99736 2582864 0 0 0 54 838 626 5 1 93 0 0 0
|
|
||||||
0 0 0 573828 99736 2582992 0 0 3 249 675 576 7 1 92 0 0 0
|
|
||||||
0 0 0 580424 99736 2583108 0 0 0 1 619 557 6 1 93 0 0 0
|
|
||||||
0 0 0 585588 99736 2583252 0 0 2 47 712 595 8 1 91 0 0 0
|
|
||||||
0 0 0 585588 99736 2583400 0 0 2 7 682 601 7 1 93 0 0 0
|
|
||||||
1 0 0 584076 99736 2583504 0 0 0 1 876 755 10 2 88 0 0 0
|
|
||||||
0 0 0 582060 99736 2583656 0 0 0 47 807 687 9 1 90 0 0 0
|
|
||||||
0 0 0 582324 99736 2583832 0 0 13 10 791 745 6 1 92 0 0 0
|
|
||||||
0 0 0 571992 99736 2583992 0 0 2 1 860 734 6 1 93 0 0 0
|
|
||||||
0 0 0 568968 99736 2584136 0 0 0 49 809 707 9 1 90 0 0 0
|
|
||||||
0 0 0 575256 99736 2584312 0 0 0 6 804 738 7 1 91 0 0 0
|
|
||||||
0 0 0 583024 99736 2584508 0 0 32 4 924 893 8 1 90 0 0 0
|
|
||||||
0 0 0 580756 99736 2584612 0 0 0 56 679 584 7 1 92 0 0 0
|
|
||||||
1 0 0 580756 99736 2584752 0 0 0 13 806 639 11 1 88 0 0 0
|
|
||||||
0 0 0 573700 99736 2584944 0 0 0 2 902 770 11 2 88 0 0 0
|
|
||||||
0 0 0 573448 99736 2585140 0 0 0 23 1010 747 19 1 79 0 0 0
|
|
||||||
0 1 0 573448 99736 2585344 0 0 0 35 1136 925 18 1 80 0 0 0
|
|
||||||
0 0 0 572440 99736 2585536 0 0 0 2 941 769 12 1 87 0 0 0
|
|
||||||
0 0 0 553288 99736 2585716 0 0 0 28 872 710 11 2 87 0 0 0
|
|
||||||
0 0 0 553288 99736 2585820 0 0 0 339 623 532 5 1 94 0 0 0
|
|
||||||
0 0 0 563816 99736 2585920 0 0 0 1 639 525 8 1 91 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 569460 99736 2586092 0 0 0 19 816 747 9 1 90 0 0 0
|
|
||||||
0 0 0 563916 99736 2586224 0 0 42 32 768 727 8 1 91 0 0 0
|
|
||||||
0 0 0 563916 99736 2586324 0 0 19 0 567 555 4 1 95 0 0 0
|
|
||||||
0 0 0 574484 99736 2586428 0 0 0 15 636 565 8 1 91 0 0 0
|
|
||||||
0 0 0 578480 99736 2586560 0 0 0 32 662 646 5 1 94 0 0 0
|
|
||||||
0 0 0 579776 99736 2586664 0 0 0 2 668 640 7 1 92 0 0 0
|
|
||||||
0 0 0 585076 99736 2586780 0 0 0 16 668 567 9 1 90 0 0 0
|
|
||||||
0 0 0 586164 99736 2586876 0 0 0 31 499 448 6 1 93 0 0 0
|
|
||||||
3 0 0 596788 99736 2586944 0 0 0 1 457 428 4 1 95 0 0 0
|
|
||||||
0 0 0 598104 99736 2587064 0 0 0 13 604 562 6 1 92 0 0 0
|
|
||||||
0 0 0 597096 99736 2587152 0 0 0 26 594 500 7 1 93 0 0 0
|
|
||||||
0 0 0 595080 99736 2587236 0 0 0 1 541 467 6 1 93 0 0 0
|
|
||||||
0 0 0 595000 99736 2587356 0 0 0 16 663 544 7 1 92 0 0 0
|
|
||||||
1 0 0 591472 99736 2587508 0 0 0 25 751 573 11 1 88 0 0 0
|
|
||||||
0 0 0 601824 99736 2587584 0 0 0 1 482 426 6 1 93 0 0 0
|
|
||||||
1 0 0 592456 99736 2587692 0 0 2 2 670 528 12 1 87 0 0 0
|
|
||||||
0 0 0 590188 99736 2587764 0 0 0 42 616 503 9 1 90 0 0 0
|
|
||||||
0 0 0 592048 99736 2587864 0 0 0 2 579 476 8 1 91 0 0 0
|
|
||||||
0 0 0 598124 99736 2587940 0 0 0 1 491 379 6 1 94 0 0 0
|
|
||||||
0 0 0 600248 99736 2588040 0 0 11 33 572 465 7 1 92 0 0 0
|
|
||||||
0 0 0 599744 99736 2588148 0 0 0 1 679 535 9 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 599744 99736 2588240 0 0 0 3 600 488 11 1 89 0 0 0
|
|
||||||
0 0 0 600524 99736 2588352 0 0 0 43 651 559 8 1 91 0 0 0
|
|
||||||
0 0 0 603204 99736 2588476 0 0 0 1 637 544 9 1 90 0 0 0
|
|
||||||
1 0 0 603204 99736 2588556 0 0 0 6 545 441 8 1 91 0 0 0
|
|
||||||
0 0 0 605744 99736 2588680 0 0 0 33 604 482 9 1 90 0 0 0
|
|
||||||
0 0 0 603784 99736 2588808 0 0 2 1 704 504 12 1 87 0 0 0
|
|
||||||
0 0 0 603784 99736 2588908 0 0 10 1 564 452 6 1 94 0 0 0
|
|
||||||
0 0 0 609604 99744 2588984 0 0 3 315 497 404 6 1 93 0 0 0
|
|
||||||
0 0 0 607348 99744 2589096 0 0 10 2 657 585 9 1 90 0 0 0
|
|
||||||
1 0 0 602316 99744 2589224 0 0 3 1 795 787 7 1 92 0 0 0
|
|
||||||
0 0 0 549044 99744 2589420 0 0 11 22 815 760 10 2 88 0 0 0
|
|
||||||
0 0 0 545264 99744 2589548 0 0 56 27 717 612 8 1 90 0 0 0
|
|
||||||
0 0 0 543756 99744 2589672 0 0 2 2 678 607 6 1 93 0 0 0
|
|
||||||
0 0 0 549796 99744 2589792 0 0 0 29 621 531 5 1 94 0 0 0
|
|
||||||
0 0 0 564044 99744 2589924 0 0 30 20 738 666 8 1 91 0 0 0
|
|
||||||
0 0 0 574312 99744 2590048 0 0 118 1 708 620 6 1 93 0 0 0
|
|
||||||
0 0 0 577988 99748 2590168 0 0 10 24 666 610 6 1 93 0 0 0
|
|
||||||
0 0 0 580684 99748 2590280 0 0 3 23 736 694 8 1 91 0 0 0
|
|
||||||
0 0 0 571140 99748 2590428 0 0 0 3 869 789 10 1 88 0 0 0
|
|
||||||
0 0 0 566884 99748 2590624 0 0 226 236 886 795 10 1 89 0 0 0
|
|
||||||
1 0 0 563356 99748 2590852 0 0 26 29 970 766 10 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 561872 99748 2591100 0 0 2 1 987 805 11 1 87 0 0 0
|
|
||||||
0 0 0 561256 99748 2591228 0 0 2 44 704 636 7 1 92 0 0 0
|
|
||||||
1 0 0 568296 99748 2591412 0 0 1051 29 1014 1000 12 1 86 1 0 0
|
|
||||||
0 0 0 560700 99748 2591544 0 0 21 879 935 826 8 1 90 0 0 0
|
|
||||||
0 0 0 560448 99752 2591700 0 0 22 39 660 572 7 1 92 0 0 0
|
|
||||||
0 0 0 558180 99752 2591812 0 0 8 21 728 622 7 1 92 0 0 0
|
|
||||||
0 0 0 558180 99752 2591988 0 0 6 2 862 714 14 1 85 0 0 0
|
|
||||||
0 0 0 559632 99752 2592196 0 0 21 30 938 768 11 1 87 0 0 0
|
|
||||||
0 0 0 559636 99752 2592364 0 0 18 28 752 653 4 1 95 0 0 0
|
|
||||||
0 0 0 564704 99752 2592480 0 0 354 1 723 614 10 1 89 0 0 0
|
|
||||||
0 0 0 576332 99752 2592564 0 0 2 35 476 392 3 1 97 0 0 0
|
|
||||||
0 0 0 585548 99752 2592692 0 0 19 17 712 538 11 1 88 0 0 0
|
|
||||||
0 1 0 584540 99752 2592788 0 0 35 288 567 499 6 1 93 0 0 0
|
|
||||||
0 0 0 592240 99756 2592828 0 0 0 21 354 269 4 1 95 0 0 0
|
|
||||||
0 0 0 593320 99756 2592936 0 0 30 11 451 365 3 1 96 0 0 0
|
|
||||||
0 0 0 597224 99756 2593016 0 0 27 1 444 414 4 1 95 0 0 0
|
|
||||||
0 0 0 611388 99756 2593080 0 0 6 10 413 346 1 1 98 0 0 0
|
|
||||||
0 0 0 615952 99756 2593164 0 0 35 17 462 415 3 1 96 0 0 0
|
|
||||||
0 0 0 615196 99756 2593308 0 0 107 13 576 474 2 1 97 0 0 0
|
|
||||||
2 0 0 604676 99756 2593484 0 0 107 6 767 583 7 1 91 0 0 0
|
|
||||||
0 0 0 599824 99756 2593592 0 0 16 30 475 358 3 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 605880 99756 2593732 0 0 43 13 573 487 2 1 97 0 0 0
|
|
||||||
0 0 0 606548 99756 2593844 0 0 6 8 533 474 3 1 96 0 0 0
|
|
||||||
0 0 0 608544 99756 2593916 0 0 8 31 506 450 5 1 94 0 0 0
|
|
||||||
0 0 0 617528 99756 2593944 0 0 0 13 270 233 2 0 98 0 0 0
|
|
||||||
0 0 0 622876 99756 2594016 0 0 2 1 414 358 2 1 97 0 0 0
|
|
||||||
0 0 0 622876 99756 2594088 0 0 5 294 449 395 5 1 95 0 0 0
|
|
||||||
0 0 0 624992 99756 2594220 0 0 35 14 511 435 3 1 96 0 0 0
|
|
||||||
0 1 0 622976 99756 2594304 0 0 26 0 467 382 4 1 95 0 0 0
|
|
||||||
0 0 0 609928 99756 2594528 0 0 162 24 813 637 6 2 92 0 0 0
|
|
||||||
4 0 0 604972 99756 2594772 0 0 19 14 767 537 4 1 94 0 0 0
|
|
||||||
0 0 0 597892 99756 2595004 0 0 338 586 1018 853 8 2 89 0 0 0
|
|
||||||
0 0 0 579016 99756 2595324 0 0 155 76 1110 770 10 2 87 0 0 0
|
|
||||||
0 0 0 579016 99756 2595556 0 0 48 25 1003 764 12 1 87 0 0 0
|
|
||||||
0 0 0 567200 99756 2595788 0 0 378 1 896 770 8 1 90 1 0 0
|
|
||||||
0 0 0 567200 99756 2596060 0 0 29 49 1034 807 9 1 89 0 0 0
|
|
||||||
0 0 0 551128 99756 2596288 0 0 61 27 1004 791 12 2 86 0 0 0
|
|
||||||
0 0 0 549112 99756 2596420 0 0 18 1 689 552 11 1 88 0 0 0
|
|
||||||
1 0 0 549112 99756 2596544 0 0 3 43 800 609 13 1 85 0 0 0
|
|
||||||
0 0 0 554040 99756 2596776 0 0 30 1 790 646 8 1 90 0 0 0
|
|
||||||
0 0 0 561996 99756 2597000 0 0 10 27 880 630 6 1 93 0 0 0
|
|
||||||
0 0 0 561996 99756 2597296 0 0 27 55 1023 752 11 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 556516 99756 2597616 0 0 29 1 1179 887 10 2 88 0 0 0
|
|
||||||
0 0 0 554184 99756 2597920 0 0 26 27 1085 735 11 2 87 0 0 0
|
|
||||||
4 0 0 546492 99756 2598212 0 0 18 77 1188 877 13 2 85 0 0 0
|
|
||||||
0 0 0 540604 99756 2598420 0 0 19 1 958 702 9 1 90 0 0 0
|
|
||||||
0 0 0 547360 99756 2598608 0 0 14 243 894 714 7 1 92 0 0 0
|
|
||||||
0 0 0 557344 99756 2598824 0 0 11 43 838 657 7 1 92 0 0 0
|
|
||||||
0 0 0 566476 99756 2598980 0 0 3 1 800 645 10 1 89 0 0 0
|
|
||||||
0 0 0 572224 99756 2599108 0 0 24 27 641 551 6 1 93 0 0 0
|
|
||||||
0 0 0 579704 99756 2599312 0 0 0 37 800 576 7 1 92 0 0 0
|
|
||||||
0 0 0 583860 99756 2599436 0 0 8 1 712 647 6 1 93 0 0 0
|
|
||||||
2 0 0 545892 99756 2599688 0 0 171 522 1162 1117 13 3 84 0 0 0
|
|
||||||
0 0 0 545892 99756 2599844 0 0 46 34 796 629 6 1 93 0 0 0
|
|
||||||
0 0 0 545892 99756 2600056 0 0 144 1 797 726 8 1 91 0 0 0
|
|
||||||
0 0 0 548112 99756 2600260 0 0 80 27 936 776 9 1 90 0 0 0
|
|
||||||
0 0 0 548112 99756 2600524 0 0 40 44 1002 922 8 1 91 0 0 0
|
|
||||||
0 0 0 546348 99756 2600724 0 0 14 6 1053 957 9 2 89 0 0 0
|
|
||||||
1 0 0 518936 99756 2601028 0 0 154 42 1139 1051 13 2 85 0 0 0
|
|
||||||
0 0 0 517172 99756 2601208 0 0 122 1 877 763 8 1 91 0 0 0
|
|
||||||
1 0 0 524704 99756 2601440 0 0 21 184 955 840 7 1 92 0 0 0
|
|
||||||
0 0 0 529420 99756 2601664 0 0 56 35 933 837 11 1 88 0 0 0
|
|
||||||
2 0 0 529420 99756 2601896 0 0 21 1 1024 927 9 1 89 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 529420 99756 2602168 0 0 11 42 998 943 7 2 91 0 0 0
|
|
||||||
0 0 0 531044 99756 2602432 0 0 21 42 1025 928 9 1 89 0 0 0
|
|
||||||
0 0 0 524240 99756 2602688 0 0 117 1 1174 1061 12 2 86 0 0 0
|
|
||||||
0 0 0 522476 99756 2602852 0 0 107 46 882 783 9 1 89 0 0 0
|
|
||||||
0 0 0 517176 99756 2604072 0 0 34 39 1319 1251 7 4 88 0 0 0
|
|
||||||
0 0 0 521012 99756 2604300 0 0 6 1 882 727 5 1 94 0 0 0
|
|
||||||
0 0 0 533960 99756 2604460 0 0 13 47 917 927 8 1 91 0 0 0
|
|
||||||
0 0 0 536952 99756 2604712 0 0 5 470 1033 1028 8 1 90 0 0 0
|
|
||||||
0 0 0 536952 99756 2605024 0 0 35 2 1214 1134 10 2 88 0 0 0
|
|
||||||
0 0 0 534208 99760 2605340 0 0 10 56 1203 1056 7 2 91 0 0 0
|
|
||||||
0 0 0 531184 99760 2605620 0 0 27 45 1357 1121 13 2 84 0 0 0
|
|
||||||
0 0 0 523372 99760 2605868 0 0 38 0 1063 975 7 1 91 0 0 0
|
|
||||||
0 0 0 522164 99760 2606152 0 0 66 238 1196 1015 10 2 88 0 0 0
|
|
||||||
0 0 0 519340 99760 2606432 0 0 70 302 1190 1014 10 2 88 0 0 0
|
|
||||||
0 0 0 511276 99760 2606760 0 0 594 1 1323 1082 16 2 81 1 0 0
|
|
||||||
1 0 0 508756 99760 2607036 0 0 35 70 1343 945 23 1 75 0 0 0
|
|
||||||
0 0 0 508756 99760 2607208 0 0 0 37 1002 894 8 1 90 0 0 0
|
|
||||||
0 0 0 513748 99760 2607392 0 0 38 0 943 834 9 1 90 0 0 0
|
|
||||||
0 0 0 517336 99760 2607556 0 0 16 44 1050 935 8 1 90 0 0 0
|
|
||||||
0 0 0 502720 99760 2607812 0 0 24 1 1157 954 18 2 80 0 0 0
|
|
||||||
0 0 0 502720 99760 2608044 0 0 14 36 1098 1019 10 1 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 502720 99760 2608228 0 0 54 45 1027 872 12 1 87 0 0 0
|
|
||||||
0 0 0 505464 99760 2608348 0 0 85 1 947 875 11 1 88 0 0 0
|
|
||||||
1 0 0 508020 99760 2608480 0 0 8 35 909 763 9 1 90 0 0 0
|
|
||||||
0 0 0 508020 99764 2608752 0 0 30 35 1187 1032 12 2 86 0 0 0
|
|
||||||
0 0 0 461568 99764 2609156 0 0 22 1 1257 1043 12 3 85 0 0 0
|
|
||||||
0 0 0 458848 99764 2609324 0 0 69 44 948 825 11 1 88 0 0 0
|
|
||||||
0 0 0 455016 99764 2609508 0 0 5 49 920 790 11 1 87 0 0 0
|
|
||||||
1 0 0 458524 99764 2609760 0 0 62 2 1132 948 12 1 86 0 0 0
|
|
||||||
0 0 0 467872 99764 2609912 0 0 10 35 903 743 10 1 89 0 0 0
|
|
||||||
0 0 0 475980 99764 2610016 0 0 18 38 958 846 10 1 89 0 0 0
|
|
||||||
1 0 0 487904 99764 2610184 0 0 10 1 957 803 7 1 91 0 0 0
|
|
||||||
0 0 0 501036 99764 2610336 0 0 61 210 983 873 11 1 88 0 0 0
|
|
||||||
7 0 0 504160 99764 2610552 0 0 82 42 1031 916 10 1 89 0 0 0
|
|
||||||
0 0 0 501136 99764 2610764 0 0 98 1 1020 925 11 1 87 0 0 0
|
|
||||||
0 0 0 500612 99764 2610936 0 0 21 31 957 799 10 1 89 0 0 0
|
|
||||||
0 0 0 503016 99764 2611120 0 0 80 40 1110 1001 13 1 86 0 0 0
|
|
||||||
3 0 0 506968 99764 2611264 0 0 11 4 910 868 8 1 91 0 0 0
|
|
||||||
2 0 0 503132 99764 2611520 0 0 141 37 1176 1002 10 2 88 0 0 0
|
|
||||||
0 0 0 501348 99764 2611644 0 0 0 13 823 782 6 1 93 0 0 0
|
|
||||||
0 0 0 502424 99764 2611892 0 0 70 30 1058 876 11 1 87 0 0 0
|
|
||||||
0 0 0 503260 99764 2612076 0 0 22 32 1014 1025 8 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 495700 99764 2612396 0 0 34 8 1304 1211 9 2 88 0 0 0
|
|
||||||
0 0 0 492676 99764 2612588 0 0 35 329 978 901 6 1 93 0 0 0
|
|
||||||
0 0 0 494820 99764 2612812 0 0 27 36 1169 1054 10 2 89 0 0 0
|
|
||||||
0 0 0 494820 99764 2612960 0 0 2 5 910 858 6 1 93 0 0 0
|
|
||||||
0 0 0 502088 99764 2613156 0 0 3 34 971 887 5 1 94 0 0 0
|
|
||||||
1 0 0 501332 99764 2613384 0 0 88 35 1182 1144 13 1 86 0 0 0
|
|
||||||
0 0 0 501332 99764 2613588 0 0 27 6 1117 1105 10 1 88 0 0 0
|
|
||||||
0 0 0 499316 99764 2613884 0 0 37 35 1251 1160 10 2 88 0 0 0
|
|
||||||
0 0 0 500268 99764 2614208 0 0 18 43 1334 1220 11 2 87 0 0 0
|
|
||||||
0 0 0 498756 99764 2614452 0 0 67 6 1119 1150 8 2 90 0 0 0
|
|
||||||
0 0 0 498756 99764 2614692 0 0 3 50 1179 1196 9 1 90 0 0 0
|
|
||||||
0 0 0 500048 99764 2614920 0 0 11 43 1189 1209 9 2 90 0 0 0
|
|
||||||
0 0 0 501368 99764 2615108 0 0 0 1 918 814 8 1 90 0 0 0
|
|
||||||
0 0 0 508984 99764 2615276 0 0 2 39 895 791 6 1 93 0 0 0
|
|
||||||
0 0 0 508984 99764 2615492 0 0 0 33 917 844 5 1 94 0 0 0
|
|
||||||
0 0 0 514344 99764 2615688 0 0 38 1 1109 1098 6 2 92 0 0 0
|
|
||||||
0 0 0 502812 99768 2616056 0 0 13 41 1433 1122 13 2 85 0 0 0
|
|
||||||
2 0 0 499088 99768 2616332 0 0 16 2 1159 940 10 1 88 0 0 0
|
|
||||||
3 0 0 496512 99768 2616692 0 0 48 38 1427 1130 13 2 85 0 0 0
|
|
||||||
0 0 0 503028 99768 2616784 0 0 13 67 682 628 5 1 94 0 0 0
|
|
||||||
0 0 0 506768 99768 2616956 0 0 83 4 994 918 8 1 91 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 509972 99768 2617220 0 0 34 32 1160 1109 10 2 88 0 0 0
|
|
||||||
0 0 0 505980 99768 2617488 0 0 26 46 1098 1018 6 1 92 0 0 0
|
|
||||||
0 0 0 505980 99768 2617708 0 0 190 403 1076 1006 11 1 88 0 0 0
|
|
||||||
0 0 0 506220 99768 2617896 0 0 16 38 835 743 5 1 94 0 0 0
|
|
||||||
2 0 0 511844 99768 2618112 0 0 125 47 944 822 13 1 86 0 0 0
|
|
||||||
1 0 0 508568 99768 2618372 0 0 197 3 1019 845 8 1 90 0 0 0
|
|
||||||
3 0 0 507056 99768 2618560 0 0 85 341 1045 906 10 1 88 0 0 0
|
|
||||||
1 0 0 504896 99768 2618720 0 0 75 36 929 879 6 1 93 0 0 0
|
|
||||||
0 0 0 501196 99768 2618944 0 0 45 1 985 966 7 2 91 0 0 0
|
|
||||||
1 0 0 497616 99768 2619160 0 0 50 34 1032 893 9 1 89 0 0 0
|
|
||||||
0 0 0 497616 99768 2619416 0 0 62 45 1059 965 10 1 88 0 0 0
|
|
||||||
0 0 0 501556 99768 2619652 0 0 37 4 1066 1030 5 2 92 0 0 0
|
|
||||||
1 1 0 507296 99768 2619856 0 0 165 45 1064 915 10 1 88 0 0 0
|
|
||||||
0 0 0 511344 99768 2620096 0 0 35 41 1070 944 10 1 88 0 0 0
|
|
||||||
0 0 0 511344 99768 2620372 0 0 42 2 1207 1052 10 1 89 0 0 0
|
|
||||||
0 0 0 500508 99768 2620628 0 0 48 38 1207 1071 11 2 87 0 0 0
|
|
||||||
0 0 0 494964 99768 2620860 0 0 3 60 992 885 8 1 91 0 0 0
|
|
||||||
0 0 0 500456 99768 2621048 0 0 8 1 1061 963 8 1 91 0 0 0
|
|
||||||
0 0 0 505504 99768 2621308 0 0 118 422 1133 1121 9 2 89 0 0 0
|
|
||||||
0 0 0 505504 99768 2621664 0 0 259 7 1657 1852 13 2 84 0 0 0
|
|
||||||
4 0 0 503264 99768 2622108 0 0 34 40 1920 2112 14 3 83 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 500268 99768 2622316 0 0 26 58 1116 1153 11 2 87 0 0 0
|
|
||||||
0 0 0 487164 99768 2622516 0 0 312 11 1129 1112 15 2 83 0 0 0
|
|
||||||
1 0 0 482376 99768 2622684 0 0 13 43 981 837 12 1 86 0 0 0
|
|
||||||
1 0 0 483888 99768 2622856 0 0 126 29 1033 881 9 1 89 0 0 0
|
|
||||||
0 0 0 484820 99768 2623140 0 0 32 6 1148 1000 10 2 88 0 0 0
|
|
||||||
3 0 0 480708 99768 2623336 0 0 5 39 1093 1132 10 1 89 0 0 0
|
|
||||||
1 0 0 485884 99768 2623584 0 0 142 1 1131 1149 8 1 90 0 0 0
|
|
||||||
1 0 0 491968 99768 2623828 0 0 53 52 1225 1150 13 2 85 0 0 0
|
|
||||||
0 0 0 450192 99768 2624148 0 0 18 34 1321 1386 16 3 82 0 0 0
|
|
||||||
1 0 0 450192 99768 2624304 0 0 3 1 1024 933 11 1 87 0 0 0
|
|
||||||
1 0 0 458008 99768 2624528 0 0 2 46 1137 1140 10 1 88 0 0 0
|
|
||||||
0 0 0 464924 99768 2624772 0 0 5 29 1144 1016 15 1 83 0 0 0
|
|
||||||
0 0 0 475332 99768 2625028 0 0 304 424 1344 1218 13 2 85 0 0 0
|
|
||||||
1 0 0 486100 99768 2625292 0 0 51 54 1228 1149 12 2 86 0 0 0
|
|
||||||
2 0 0 486100 99768 2625460 0 0 34 37 901 807 8 1 90 0 0 0
|
|
||||||
0 0 0 493848 99768 2625792 0 0 14 8 983 881 9 1 90 0 0 0
|
|
||||||
1 0 0 503112 99768 2625988 0 0 101 35 935 839 14 1 85 0 0 0
|
|
||||||
1 0 0 503112 99768 2626160 0 0 16 35 855 783 4 1 95 0 0 0
|
|
||||||
0 0 0 502356 99768 2626356 0 0 19 9 875 761 8 1 91 0 0 0
|
|
||||||
1 0 0 502356 99768 2626512 0 0 2 277 844 766 10 1 89 0 0 0
|
|
||||||
2 0 0 510768 99768 2626688 0 0 155 27 920 907 8 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 506576 99768 2626856 0 0 517 2 1074 1077 12 2 86 1 0 0
|
|
||||||
0 0 0 499972 99768 2627128 0 0 98 40 1147 1025 16 2 82 0 0 0
|
|
||||||
2 0 0 497904 99768 2627304 0 0 88 310 912 859 9 1 89 0 0 0
|
|
||||||
1 0 0 496140 99768 2627488 0 0 85 2 902 798 7 1 91 0 0 0
|
|
||||||
2 0 0 496140 99768 2627708 0 0 261 44 1082 983 13 1 85 1 0 0
|
|
||||||
0 0 0 499620 99768 2627944 0 0 90 32 1074 1021 9 1 89 0 0 0
|
|
||||||
4 0 0 495084 99768 2628168 0 0 48 1 1071 1067 11 1 87 0 0 0
|
|
||||||
1 0 0 495084 99768 2628380 0 0 86 48 1075 1084 8 1 90 0 0 0
|
|
||||||
0 0 0 502916 99768 2628608 0 0 14 29 933 903 10 1 89 0 0 0
|
|
||||||
2 0 0 504096 99768 2628784 0 0 24 1 1004 950 12 1 87 0 0 0
|
|
||||||
1 0 0 509692 99768 2628928 0 0 56 40 783 760 7 1 92 0 0 0
|
|
||||||
1 0 0 516084 99768 2629080 0 0 26 23 881 864 10 1 88 0 0 0
|
|
||||||
0 0 0 511548 99768 2629308 0 0 21 1 1030 1104 8 2 90 0 0 0
|
|
||||||
0 0 0 508524 99768 2629548 0 0 53 42 1055 1011 9 1 90 0 0 0
|
|
||||||
1 0 0 508524 99768 2629768 0 0 43 33 1000 1000 7 1 92 0 0 0
|
|
||||||
2 0 0 505752 99768 2629960 0 0 8 2 1072 915 11 1 88 0 0 0
|
|
||||||
0 0 0 504492 99768 2630144 0 0 0 42 894 957 6 1 93 0 0 0
|
|
||||||
1 0 0 516100 99768 2630252 0 0 26 26 755 755 4 1 95 0 0 0
|
|
||||||
1 0 0 514224 99768 2630456 0 0 112 1 874 805 7 1 91 0 0 0
|
|
||||||
1 0 0 516552 99768 2630640 0 0 77 6 848 751 7 1 91 0 0 0
|
|
||||||
3 0 0 510252 99768 2630800 0 0 18 27 774 821 5 2 93 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 510252 99768 2630924 0 0 13 27 681 625 7 1 92 0 0 0
|
|
||||||
0 0 0 520284 99768 2631036 0 0 354 339 729 742 7 1 92 1 0 0
|
|
||||||
0 0 0 525032 99768 2631180 0 0 539 26 804 848 9 1 90 1 0 0
|
|
||||||
=== 모니터링 종료: Mon Sep 14 14:59:52 KST 2026 ===
|
|
||||||
@@ -1,858 +0,0 @@
|
|||||||
=== 모니터링 시작: Tue Sep 15 12:50:01 KST 2026 ===
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 584576 100256 2683036 0 0 4 29 140 0 1 0 99 0 0 0
|
|
||||||
0 0 0 592640 100256 2683036 0 0 0 0 93 98 0 0 100 0 0 0
|
|
||||||
0 0 0 600704 100256 2683036 0 0 0 13 97 95 0 0 99 0 0 0
|
|
||||||
0 0 0 600704 100256 2683036 0 0 0 1 68 79 0 0 100 0 0 0
|
|
||||||
0 0 0 600704 100256 2683040 0 0 0 446 93 107 0 0 99 0 0 0
|
|
||||||
0 0 0 608768 100256 2683048 0 0 0 12 112 120 0 0 99 0 0 0
|
|
||||||
0 0 0 608768 100256 2683056 0 0 0 0 82 92 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683056 0 0 0 3 67 85 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683056 0 0 0 0 58 72 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683056 0 0 0 9 66 82 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683060 0 0 0 0 105 105 1 0 99 0 0 0
|
|
||||||
0 0 0 608768 100256 2683060 0 0 0 0 63 78 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683060 0 0 0 3 60 75 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683060 0 0 0 1 55 73 0 0 100 0 0 0
|
|
||||||
0 0 0 608768 100256 2683068 0 0 2 0 105 131 0 0 100 0 0 0
|
|
||||||
0 0 0 608012 100256 2683080 0 0 0 0 123 114 2 0 98 0 0 0
|
|
||||||
0 0 0 616076 100256 2683080 0 0 0 4 85 93 0 0 100 0 0 0
|
|
||||||
1 0 0 615068 100256 2683084 0 0 0 3 95 104 0 0 100 0 0 0
|
|
||||||
0 0 0 612324 100256 2683124 0 0 0 0 185 152 0 0 99 0 0 0
|
|
||||||
0 0 0 611568 100256 2683136 0 0 0 4 133 122 1 0 99 0 0 0
|
|
||||||
0 0 0 611568 100256 2683136 0 0 0 0 112 105 1 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 611568 100256 2683136 0 0 0 6 67 81 0 0 100 0 0 0
|
|
||||||
0 0 0 611160 100260 2683136 0 0 0 4 76 89 0 0 100 0 0 0
|
|
||||||
0 0 0 611136 100260 2683156 0 0 0 0 124 119 0 0 100 0 0 0
|
|
||||||
0 0 0 611136 100260 2683168 0 0 0 1 141 125 2 0 98 0 0 0
|
|
||||||
0 0 0 610884 100260 2683208 0 0 0 12 170 139 0 0 99 0 0 0
|
|
||||||
0 0 0 610884 100260 2683228 0 0 0 0 147 145 0 0 99 0 0 0
|
|
||||||
0 0 0 609876 100260 2683272 0 0 30 2 213 208 1 0 99 0 0 0
|
|
||||||
0 0 0 608868 100264 2683296 0 0 0 7 155 149 1 0 98 0 0 0
|
|
||||||
0 0 0 607104 100264 2683296 0 0 0 6 106 107 0 0 100 0 0 0
|
|
||||||
0 0 0 598540 100264 2683328 0 0 32 187 231 200 3 1 96 0 0 0
|
|
||||||
0 0 0 600984 100264 2683344 0 0 0 5 167 164 0 0 99 0 0 0
|
|
||||||
0 0 0 600984 100264 2683356 0 0 0 3 159 132 2 0 97 0 0 0
|
|
||||||
0 0 0 605248 100264 2683364 0 0 0 4 120 122 1 0 99 0 0 0
|
|
||||||
0 0 0 605248 100264 2683388 0 0 0 165 139 144 0 0 100 0 0 0
|
|
||||||
0 0 0 605024 100264 2683440 0 0 0 3 227 156 2 0 98 0 0 0
|
|
||||||
0 0 0 604520 100264 2683452 0 0 0 0 126 117 1 0 99 0 0 0
|
|
||||||
0 0 0 604520 100264 2683456 0 0 0 8 113 118 1 0 99 0 0 0
|
|
||||||
0 0 0 604268 100264 2683516 0 0 0 0 255 189 2 0 98 0 0 0
|
|
||||||
0 0 0 599512 100264 2683532 0 0 0 168 175 171 1 0 99 0 0 0
|
|
||||||
0 0 0 603132 100264 2683548 0 0 0 11 149 143 1 0 99 0 0 0
|
|
||||||
0 0 0 595100 100264 2683604 0 0 0 0 292 216 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 594372 100264 2683668 0 0 0 7 308 219 3 0 97 0 0 0
|
|
||||||
0 0 0 594120 100264 2683680 0 0 0 7 139 142 0 0 99 0 0 0
|
|
||||||
0 0 0 599840 100264 2683708 0 0 0 1 208 198 1 0 99 0 0 0
|
|
||||||
0 0 0 594296 100264 2683756 0 0 0 9 260 209 2 1 97 0 0 0
|
|
||||||
0 0 0 591804 100264 2683776 0 0 0 11 217 186 2 0 97 0 0 0
|
|
||||||
0 0 0 594688 100264 2683796 0 0 0 160 168 142 2 0 98 0 0 0
|
|
||||||
0 0 0 592672 100264 2683824 0 0 2 6 231 178 3 0 96 0 0 0
|
|
||||||
0 0 0 593128 100264 2683840 0 0 0 5 206 184 1 0 98 0 0 0
|
|
||||||
0 0 0 581684 100264 2683876 0 0 0 6 269 220 4 0 95 0 0 0
|
|
||||||
0 0 0 579992 100264 2683928 0 0 0 170 336 225 5 0 95 0 0 0
|
|
||||||
3 0 0 584364 100264 2683964 0 0 0 9 281 243 4 0 95 0 0 0
|
|
||||||
0 0 0 582656 100264 2684036 0 0 0 8 329 262 3 0 97 0 0 0
|
|
||||||
0 0 0 584136 100264 2684052 0 0 0 7 171 169 1 0 99 0 0 0
|
|
||||||
0 0 0 583884 100264 2684072 0 0 0 4 160 150 2 0 98 0 0 0
|
|
||||||
0 0 0 583632 100264 2684088 0 0 0 5 135 138 1 0 99 0 0 0
|
|
||||||
0 0 0 583632 100264 2684096 0 0 0 0 118 113 1 0 99 0 0 0
|
|
||||||
0 0 0 590240 100264 2684112 0 0 0 6 139 145 1 0 99 0 0 0
|
|
||||||
0 0 0 588428 100264 2684120 0 0 3 0 102 120 0 0 100 0 0 0
|
|
||||||
0 0 0 588428 100264 2684128 0 0 0 3 101 104 1 0 99 0 0 0
|
|
||||||
0 0 0 588428 100264 2684136 0 0 0 9 143 151 1 0 98 0 0 0
|
|
||||||
0 0 0 588180 100264 2684184 0 0 8 0 280 220 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 588180 100264 2684196 0 0 0 0 144 140 1 0 99 0 0 0
|
|
||||||
0 0 0 590904 100264 2684204 0 0 0 295 135 124 1 0 99 0 0 0
|
|
||||||
0 0 0 590904 100264 2684212 0 0 0 4 87 100 0 0 100 0 0 0
|
|
||||||
0 0 0 592372 100264 2684212 0 0 0 0 82 100 0 0 100 0 0 0
|
|
||||||
0 0 0 591896 100264 2684236 0 0 0 6 150 150 0 0 99 0 0 0
|
|
||||||
0 0 0 589628 100264 2684264 0 0 0 6 174 146 0 0 99 0 0 0
|
|
||||||
0 0 0 589628 100264 2684276 0 0 0 0 206 170 3 0 97 0 0 0
|
|
||||||
0 0 0 594780 100264 2684284 0 0 0 6 99 103 0 0 100 0 0 0
|
|
||||||
0 0 0 597412 100264 2684304 0 0 0 6 159 152 1 0 98 0 0 0
|
|
||||||
0 0 0 596180 100264 2684332 0 0 0 182 184 166 2 0 98 0 0 0
|
|
||||||
0 0 0 593660 100264 2684356 0 0 0 9 181 165 2 0 98 0 0 0
|
|
||||||
0 0 0 591824 100264 2684416 0 0 3 0 263 211 3 1 97 0 0 0
|
|
||||||
0 0 0 591068 100264 2684436 0 0 0 12 171 162 1 0 99 0 0 0
|
|
||||||
0 0 0 588044 100264 2684476 0 0 3 5 324 305 5 0 94 0 0 0
|
|
||||||
0 0 0 594824 100264 2684516 0 0 0 0 193 139 1 0 99 0 0 0
|
|
||||||
0 0 0 587012 100264 2684588 0 0 2 12 317 258 1 1 98 0 0 0
|
|
||||||
0 0 0 590316 100264 2684644 0 0 2 7 425 409 2 1 97 0 0 0
|
|
||||||
0 0 0 587068 100264 2684672 0 0 2 1 248 211 3 0 97 0 0 0
|
|
||||||
0 0 0 585960 100264 2684736 0 0 6 19 306 231 2 0 98 0 0 0
|
|
||||||
0 0 0 584756 100264 2684840 0 0 0 4 381 300 2 1 98 0 0 0
|
|
||||||
0 0 0 580976 100264 2684928 0 0 6 0 389 334 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 568656 100264 2685028 0 0 3 33 443 312 2 1 97 0 0 0
|
|
||||||
0 0 0 569748 100264 2685076 0 0 19 11 346 289 4 1 95 0 0 0
|
|
||||||
0 0 0 569748 100264 2685172 0 0 0 0 450 380 2 1 97 0 0 0
|
|
||||||
0 0 0 575808 100264 2685240 0 0 2 180 370 277 4 1 96 0 0 0
|
|
||||||
0 0 0 578320 100264 2685292 0 0 0 15 263 197 1 0 99 0 0 0
|
|
||||||
0 0 0 581848 100264 2685328 0 0 6 0 255 225 3 0 97 0 0 0
|
|
||||||
0 0 0 573620 100264 2685388 0 0 0 0 395 349 3 1 96 0 0 0
|
|
||||||
0 0 0 573620 100268 2685444 0 0 2 219 332 261 3 0 97 0 0 0
|
|
||||||
0 0 0 572612 100268 2685508 0 0 2 10 400 337 3 1 96 0 0 0
|
|
||||||
0 0 0 567572 100268 2685620 0 0 0 0 453 423 2 1 97 0 0 0
|
|
||||||
0 0 0 569016 100272 2685668 0 0 0 20 342 315 3 1 96 0 0 0
|
|
||||||
0 0 0 553476 100272 2685768 0 0 0 11 559 440 9 1 90 0 0 0
|
|
||||||
0 0 0 554632 100272 2685860 0 0 2 1 433 397 2 1 97 0 0 0
|
|
||||||
0 0 0 563652 100272 2685944 0 0 5 20 502 509 3 1 96 0 0 0
|
|
||||||
0 0 0 569700 100272 2686004 0 0 0 17 299 268 4 0 96 0 0 0
|
|
||||||
0 0 0 568112 100272 2686096 0 0 2 0 542 437 7 1 92 0 0 0
|
|
||||||
0 0 0 569556 100272 2686212 0 0 0 18 578 506 4 1 95 0 0 0
|
|
||||||
0 0 0 569252 100272 2686276 0 0 2 14 409 366 3 0 96 0 0 0
|
|
||||||
1 0 0 562952 100272 2686348 0 0 2 0 418 375 3 1 96 0 0 0
|
|
||||||
0 0 0 562952 100272 2686388 0 0 0 15 279 274 1 1 99 0 0 0
|
|
||||||
0 0 0 565028 100272 2686424 0 0 0 13 233 214 2 0 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 563292 100272 2686484 0 0 0 0 396 333 6 0 93 0 0 0
|
|
||||||
0 0 0 563292 100276 2686536 0 0 0 11 336 344 1 1 98 0 0 0
|
|
||||||
0 0 0 563992 100276 2686588 0 0 0 13 257 249 2 0 98 0 0 0
|
|
||||||
0 0 0 566488 100276 2686640 0 0 6 1 357 306 5 0 95 0 0 0
|
|
||||||
0 0 0 568464 100276 2686668 0 0 2 12 255 225 3 0 96 0 0 0
|
|
||||||
0 0 0 568284 100276 2686728 0 0 0 1 358 319 4 1 96 0 0 0
|
|
||||||
0 0 0 568284 100276 2686784 0 0 0 12 338 325 3 0 96 0 0 0
|
|
||||||
0 0 0 566772 100276 2686880 0 0 0 11 474 476 3 1 96 0 0 0
|
|
||||||
0 0 0 566772 100276 2686916 0 0 0 1 268 248 2 0 98 0 0 0
|
|
||||||
0 0 0 572696 100276 2686956 0 0 0 20 309 286 2 0 97 0 0 0
|
|
||||||
0 0 0 572696 100276 2686988 0 0 0 7 415 392 3 1 95 0 0 0
|
|
||||||
0 0 0 572696 100276 2687044 0 0 0 1 377 313 5 1 94 0 0 0
|
|
||||||
0 0 0 572696 100276 2687112 0 0 0 9 384 347 3 1 97 0 0 0
|
|
||||||
0 0 0 576500 100276 2687180 0 0 0 487 443 335 7 0 93 0 0 0
|
|
||||||
0 0 0 576500 100276 2687232 0 0 2 0 427 342 5 1 95 0 0 0
|
|
||||||
0 0 0 567680 100276 2687320 0 0 10 1 499 401 6 1 94 0 0 0
|
|
||||||
0 0 0 571804 100276 2687368 0 0 0 33 448 310 7 1 92 0 0 0
|
|
||||||
0 0 0 546632 100276 2687512 0 0 0 0 732 570 11 1 88 0 0 0
|
|
||||||
0 0 0 543484 100276 2687660 0 0 0 0 659 520 7 1 92 0 0 0
|
|
||||||
0 0 0 543764 100276 2687740 0 0 0 334 499 464 2 1 97 0 0 0
|
|
||||||
0 0 0 552492 100276 2687832 0 0 0 0 482 370 4 1 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 554080 100276 2687928 0 0 3 0 502 445 3 1 96 0 0 0
|
|
||||||
3 0 0 551812 100276 2688016 0 0 13 42 503 477 3 1 96 0 0 0
|
|
||||||
0 0 0 549724 100276 2688100 0 0 11 1 518 465 6 1 94 0 0 0
|
|
||||||
0 0 0 549724 100276 2688220 0 0 24 136 560 443 5 1 94 0 0 0
|
|
||||||
1 0 0 547708 100276 2688308 0 0 0 34 591 392 10 1 90 0 0 0
|
|
||||||
1 0 0 548924 100276 2688460 0 0 0 0 933 606 19 1 80 0 1 0
|
|
||||||
3 0 0 547412 100276 2688640 0 0 0 1 947 600 19 1 80 0 1 0
|
|
||||||
0 0 0 542904 100276 2688772 0 0 0 31 787 551 15 1 84 0 1 0
|
|
||||||
0 0 0 542904 100276 2688916 0 0 0 24 683 498 8 1 91 0 0 0
|
|
||||||
0 0 0 541776 100276 2689060 0 0 0 0 657 551 8 1 91 0 0 0
|
|
||||||
0 0 0 539060 100276 2689204 0 0 2 26 645 488 6 1 93 0 0 0
|
|
||||||
0 0 0 530492 100276 2689280 0 0 0 26 456 434 2 1 97 0 0 0
|
|
||||||
0 0 0 530492 100276 2689412 0 0 0 1 613 560 5 1 94 0 0 0
|
|
||||||
0 0 0 531936 100276 2689484 0 0 0 22 463 364 3 1 96 0 0 0
|
|
||||||
0 0 0 538992 100276 2689588 0 0 0 15 511 422 4 1 95 0 0 0
|
|
||||||
0 0 0 538236 100276 2689696 0 0 0 0 537 461 4 1 95 0 0 0
|
|
||||||
0 0 0 548176 100276 2689760 0 0 0 11 388 317 2 1 97 0 0 0
|
|
||||||
0 0 0 532480 100276 2689888 0 0 2 194 635 555 5 1 94 0 0 0
|
|
||||||
1 0 0 529204 100276 2690048 0 0 0 1 681 527 6 1 93 0 0 0
|
|
||||||
0 0 0 527208 100276 2690164 0 0 0 7 604 498 5 1 93 0 0 0
|
|
||||||
0 0 0 530792 100276 2690240 0 0 0 39 465 383 5 1 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 530608 100276 2690336 0 0 0 6 548 438 7 1 92 0 0 0
|
|
||||||
0 0 0 530608 100276 2690444 0 0 0 166 689 586 8 1 91 0 0 0
|
|
||||||
0 0 0 534944 100276 2690564 0 0 0 33 620 519 8 1 91 0 0 0
|
|
||||||
0 0 0 536080 100276 2690652 0 0 3 8 501 432 5 1 94 0 0 0
|
|
||||||
0 0 0 543728 100276 2690756 0 0 0 0 556 463 4 1 94 0 0 0
|
|
||||||
0 0 0 538060 100276 2690876 0 0 0 35 538 463 6 1 94 0 0 0
|
|
||||||
3 0 0 537612 100276 2690968 0 0 18 12 582 533 7 1 92 0 0 0
|
|
||||||
0 0 0 537020 100276 2691044 0 0 0 200 495 412 7 0 93 0 0 0
|
|
||||||
0 0 0 537020 100276 2691180 0 0 0 31 612 472 8 1 91 0 0 0
|
|
||||||
0 0 0 536740 100276 2691336 0 0 0 5 849 670 15 1 83 0 0 0
|
|
||||||
0 0 0 535760 100276 2691476 0 0 0 1 679 613 5 1 94 0 0 0
|
|
||||||
0 0 0 535760 100276 2691576 0 0 0 42 511 479 4 1 96 0 0 0
|
|
||||||
5 0 0 542296 100276 2691640 0 0 0 7 414 367 4 1 95 0 0 0
|
|
||||||
0 0 0 538012 100276 2691744 0 0 0 1 513 491 5 1 94 0 0 0
|
|
||||||
0 0 0 538684 100276 2691832 0 0 0 30 456 436 2 1 97 0 0 0
|
|
||||||
0 0 0 545268 100276 2691920 0 0 0 4 475 444 4 1 95 0 0 0
|
|
||||||
0 0 0 553792 100276 2691992 0 0 0 0 505 484 5 1 94 0 0 0
|
|
||||||
0 0 0 551020 100276 2692076 0 0 0 26 451 456 3 1 96 0 0 0
|
|
||||||
0 0 0 536924 100276 2692164 0 0 8 11 547 546 5 1 94 0 0 0
|
|
||||||
0 0 0 541132 100276 2692228 0 0 0 452 416 416 2 1 98 0 0 0
|
|
||||||
0 0 0 541132 100276 2692308 0 0 0 1 460 500 3 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 537380 100276 2692452 0 0 0 33 640 550 7 1 92 0 0 0
|
|
||||||
0 0 0 538292 100276 2692548 0 0 24 234 562 559 4 1 95 0 0 0
|
|
||||||
0 0 0 537032 100276 2692684 0 0 6 1 591 513 5 1 95 0 0 0
|
|
||||||
0 0 0 547672 100276 2692776 0 0 0 52 515 444 6 1 94 0 0 0
|
|
||||||
1 0 0 543196 100276 2692844 0 0 0 1 443 418 4 1 95 0 0 0
|
|
||||||
0 0 0 543196 100276 2692944 0 0 10 1 483 471 3 1 96 0 0 0
|
|
||||||
0 0 0 543052 100276 2693032 0 0 0 32 498 425 4 1 95 0 0 0
|
|
||||||
0 0 0 541036 100276 2693168 0 0 0 1 747 695 9 1 90 0 0 0
|
|
||||||
1 0 0 541036 100276 2693276 0 0 0 1 629 635 5 1 94 0 0 0
|
|
||||||
0 0 0 531236 100276 2693436 0 0 6 45 724 630 7 1 92 0 0 0
|
|
||||||
0 0 0 526952 100276 2693548 0 0 0 0 533 448 5 1 95 0 0 0
|
|
||||||
0 0 0 524936 100276 2693612 0 0 0 0 367 351 1 1 98 0 0 0
|
|
||||||
1 0 0 524936 100276 2693740 0 0 0 42 727 645 9 1 91 0 0 0
|
|
||||||
0 0 0 524712 100276 2693836 0 0 0 0 581 551 5 1 94 0 0 0
|
|
||||||
0 0 0 526800 100276 2693940 0 0 0 0 598 496 9 1 90 0 0 0
|
|
||||||
0 0 0 525832 100280 2694032 0 0 0 38 533 466 5 1 95 0 0 0
|
|
||||||
2 0 0 532824 100280 2694136 0 0 0 284 593 552 7 1 92 0 0 0
|
|
||||||
1 0 0 532068 100280 2694248 0 0 0 0 584 588 4 1 95 0 0 0
|
|
||||||
2 0 0 529856 100284 2694360 0 0 0 42 566 570 2 1 97 0 0 0
|
|
||||||
0 0 0 529856 100284 2694448 0 0 0 0 502 471 2 1 98 0 0 0
|
|
||||||
0 0 0 529632 100284 2694560 0 0 2 1 623 626 4 1 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 523640 100284 2694700 0 0 0 38 604 495 5 1 93 0 0 0
|
|
||||||
0 0 0 526012 100284 2694764 0 0 6 1 401 315 3 1 96 0 0 0
|
|
||||||
0 0 0 524352 100284 2694828 0 0 0 1 411 357 5 1 95 0 0 0
|
|
||||||
0 0 0 532416 100284 2694860 0 0 0 22 334 323 2 1 97 0 0 0
|
|
||||||
0 0 0 536984 100284 2694916 0 0 0 8 378 351 5 0 95 0 0 0
|
|
||||||
3 0 0 536984 100284 2694976 0 0 0 1 382 380 3 1 96 0 0 0
|
|
||||||
0 0 0 537956 100284 2695032 0 0 0 19 409 288 6 0 94 0 0 0
|
|
||||||
0 0 0 546844 100284 2695100 0 0 0 4 415 299 4 1 95 0 0 0
|
|
||||||
0 0 0 553148 100284 2695168 0 0 0 1 457 400 6 1 93 0 0 0
|
|
||||||
0 0 0 552924 100284 2695208 0 0 0 9 321 289 3 1 97 0 0 0
|
|
||||||
0 0 0 566840 100284 2695232 0 0 0 14 236 207 2 0 98 0 0 0
|
|
||||||
0 0 0 556856 100284 2695332 0 0 0 1 561 554 5 1 94 0 0 0
|
|
||||||
0 0 0 559840 100284 2695408 0 0 0 1 457 387 6 1 93 0 0 0
|
|
||||||
1 0 0 562372 100284 2695464 0 0 8 29 549 333 12 1 87 0 0 0
|
|
||||||
0 0 0 562372 100284 2695512 0 0 0 0 287 237 4 0 96 0 0 0
|
|
||||||
3 0 0 562372 100284 2695556 0 0 0 0 278 234 3 0 97 0 0 0
|
|
||||||
0 0 0 562372 100284 2695604 0 0 0 20 317 287 3 1 96 0 0 0
|
|
||||||
0 0 0 562372 100284 2695656 0 0 0 0 323 296 3 0 97 0 0 0
|
|
||||||
0 0 0 565212 100284 2695728 0 0 0 0 390 356 2 1 98 0 0 0
|
|
||||||
0 0 0 563980 100284 2695800 0 0 0 27 342 330 2 0 98 0 0 0
|
|
||||||
0 0 0 563980 100284 2695872 0 0 0 0 357 236 4 0 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
3 0 0 563536 100284 2695916 0 0 0 9 357 343 2 0 97 0 0 0
|
|
||||||
0 0 0 563536 100284 2695964 0 0 2 12 351 325 4 1 95 0 0 0
|
|
||||||
0 0 0 563536 100284 2696000 0 0 0 9 299 232 5 0 95 0 0 0
|
|
||||||
0 0 0 563536 100284 2696052 0 0 0 0 273 213 2 0 98 0 0 0
|
|
||||||
0 0 0 563536 100284 2696108 0 0 0 237 353 339 3 1 96 0 0 0
|
|
||||||
0 0 0 563312 100284 2696184 0 0 6 9 382 326 3 1 96 0 0 0
|
|
||||||
0 0 0 563312 100284 2696248 0 0 0 1 358 320 3 1 96 0 0 0
|
|
||||||
0 0 0 563312 100284 2696292 0 0 0 12 313 303 2 0 97 0 0 0
|
|
||||||
0 0 0 563312 100284 2696336 0 0 2 11 332 307 3 0 96 0 0 0
|
|
||||||
0 0 0 565372 100284 2696396 0 0 2 0 317 304 3 1 96 0 0 0
|
|
||||||
0 0 0 565372 100284 2696416 0 0 0 12 219 194 2 0 98 0 0 0
|
|
||||||
0 0 0 570028 100284 2696456 0 0 0 8 232 215 2 0 98 0 0 0
|
|
||||||
0 0 0 576236 100284 2696504 0 0 0 0 412 254 9 0 90 0 0 0
|
|
||||||
0 0 0 576236 100284 2696536 0 0 0 7 238 206 3 0 96 0 0 0
|
|
||||||
0 0 0 576236 100284 2696540 0 0 3 9 161 126 2 0 98 0 0 0
|
|
||||||
0 0 0 568172 100284 2696572 0 0 0 0 202 207 2 0 98 0 0 0
|
|
||||||
0 0 0 569592 100284 2696596 0 0 0 4 221 205 2 0 98 0 0 0
|
|
||||||
0 0 0 572432 100284 2696632 0 0 0 3 209 200 2 0 98 0 0 0
|
|
||||||
0 0 0 575592 100284 2696652 0 0 0 7 189 182 1 0 99 0 0 0
|
|
||||||
0 0 0 575592 100284 2696668 0 0 0 6 164 149 1 0 99 0 0 0
|
|
||||||
0 0 0 575592 100284 2696736 0 0 0 3 332 240 2 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 575592 100284 2696768 0 0 0 5 249 248 1 0 98 0 0 0
|
|
||||||
0 0 0 577684 100288 2696788 0 0 0 4 176 183 1 0 99 0 0 0
|
|
||||||
0 0 0 588640 100288 2696796 0 0 0 8 142 144 1 0 99 0 0 0
|
|
||||||
0 0 0 588388 100288 2696816 0 0 0 3 155 146 0 0 99 0 0 0
|
|
||||||
0 0 0 588388 100292 2696824 0 0 0 4 117 141 0 0 100 0 0 0
|
|
||||||
0 0 0 586216 100292 2696896 0 0 0 4 293 274 1 1 98 0 0 0
|
|
||||||
0 0 0 586352 100292 2696908 0 0 0 0 128 133 0 0 99 0 0 0
|
|
||||||
0 0 0 586664 100292 2696920 0 0 0 10 152 152 1 0 99 0 0 0
|
|
||||||
0 0 0 585444 100292 2696944 0 0 0 6 168 179 1 0 99 0 0 0
|
|
||||||
0 0 0 585212 100292 2696956 0 0 0 1 128 134 1 0 99 0 0 0
|
|
||||||
0 0 0 585212 100296 2697004 0 0 0 9 217 166 2 0 98 0 0 0
|
|
||||||
0 0 0 585212 100296 2697008 0 0 0 4 109 124 0 0 100 0 0 0
|
|
||||||
0 0 0 585212 100296 2697044 0 0 0 0 240 278 1 0 98 0 0 0
|
|
||||||
0 0 0 585404 100296 2697068 0 0 0 299 176 172 0 0 99 0 0 0
|
|
||||||
0 0 0 587680 100296 2697076 0 0 0 5 92 100 0 0 100 0 0 0
|
|
||||||
0 0 0 585440 100296 2697096 0 0 0 4 141 139 0 0 99 0 0 0
|
|
||||||
0 0 0 585440 100296 2697124 0 0 0 4 196 173 1 0 99 0 0 0
|
|
||||||
0 0 0 585440 100296 2697156 0 0 0 3 190 168 2 0 98 0 0 0
|
|
||||||
0 0 0 586196 100296 2697176 0 0 0 6 160 168 1 0 99 0 0 0
|
|
||||||
0 0 0 587416 100296 2697184 0 0 0 4 132 140 0 0 100 0 0 0
|
|
||||||
0 0 0 584808 100296 2697204 0 0 0 4 179 160 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 585620 100296 2697212 0 0 0 0 112 115 0 0 100 0 0 0
|
|
||||||
0 0 0 584788 100296 2697260 0 0 0 9 203 176 1 0 99 0 0 0
|
|
||||||
0 0 0 585100 100296 2697260 0 0 0 176 114 101 0 0 99 0 0 0
|
|
||||||
0 0 0 585100 100296 2697268 0 0 5 1 109 138 0 0 100 0 0 0
|
|
||||||
0 0 0 584848 100296 2697320 0 0 2 17 217 159 0 0 99 0 0 0
|
|
||||||
0 0 0 584796 100296 2697372 0 0 2 0 199 184 1 0 99 0 0 0
|
|
||||||
0 0 0 584796 100296 2697416 0 0 0 2 180 160 1 0 99 0 0 0
|
|
||||||
0 0 0 587480 100296 2697436 0 0 5 14 157 145 0 0 99 0 0 0
|
|
||||||
0 0 0 584708 100296 2697484 0 0 34 0 231 228 1 0 99 0 0 0
|
|
||||||
0 0 0 584708 100296 2697496 0 0 0 3 122 129 0 0 100 0 0 0
|
|
||||||
0 0 0 584708 100296 2697552 0 0 0 6 201 158 1 0 99 0 0 0
|
|
||||||
0 0 0 584708 100296 2697592 0 0 0 12 155 136 0 0 99 0 0 0
|
|
||||||
0 0 0 584708 100296 2697600 0 0 0 3 125 119 1 0 99 0 0 0
|
|
||||||
0 0 0 584708 100296 2697612 0 0 0 4 113 130 0 0 100 0 0 0
|
|
||||||
0 0 0 584708 100296 2697620 0 0 186 2 176 192 1 0 98 0 0 0
|
|
||||||
0 0 0 585068 100296 2697700 0 0 0 0 272 225 1 1 98 0 0 0
|
|
||||||
0 0 0 584660 100296 2697784 0 0 0 4 342 269 1 0 98 0 0 0
|
|
||||||
0 0 0 585612 100296 2697788 0 0 0 4 94 105 0 0 100 0 0 0
|
|
||||||
0 0 0 584352 100296 2697876 0 0 8 19 318 207 2 0 97 0 0 0
|
|
||||||
0 0 0 581832 100300 2697964 0 0 30 250 376 267 2 1 98 0 0 0
|
|
||||||
0 0 0 581784 100300 2698020 0 0 93 4 243 200 1 0 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 581532 100300 2698100 0 0 37 25 285 215 1 0 99 0 0 0
|
|
||||||
0 0 0 581048 100300 2698176 0 0 0 8 268 198 1 0 98 0 0 0
|
|
||||||
0 0 0 579748 100300 2698228 0 0 67 0 248 203 0 0 99 0 0 0
|
|
||||||
0 0 0 579748 100300 2698260 0 0 0 0 160 127 1 0 99 0 0 0
|
|
||||||
1 0 0 562900 100300 2698428 0 0 2 23 550 378 3 1 96 0 0 0
|
|
||||||
0 0 0 557604 100300 2698488 0 0 294 3 358 311 2 1 97 0 0 0
|
|
||||||
0 0 0 559148 100300 2698560 0 0 3 0 251 166 1 1 99 0 0 0
|
|
||||||
0 0 0 568268 100300 2698568 0 0 2 30 139 125 0 0 99 0 0 0
|
|
||||||
1 0 0 566812 100300 2698680 0 0 43 0 369 238 2 0 98 0 0 0
|
|
||||||
0 0 0 565300 100300 2698756 0 0 0 3 368 273 3 0 97 0 0 0
|
|
||||||
0 0 0 563056 100300 2698856 0 0 26 35 412 272 3 1 96 0 0 0
|
|
||||||
0 0 0 549476 100300 2699048 0 0 16 1 674 423 5 1 94 0 0 0
|
|
||||||
0 0 0 544436 100300 2699152 0 0 2 0 434 311 1 1 98 0 0 0
|
|
||||||
0 0 0 550864 100300 2699228 0 0 11 8 350 278 1 1 98 0 0 0
|
|
||||||
0 0 0 541064 100300 2699372 0 0 248 34 603 421 4 1 94 0 0 0
|
|
||||||
0 0 0 540560 100300 2699524 0 0 13 1 626 459 6 1 93 0 0 0
|
|
||||||
0 0 0 539412 100300 2699644 0 0 8 10 503 391 2 1 97 0 0 0
|
|
||||||
0 0 0 539440 100300 2699720 0 0 13 44 461 305 7 1 93 0 0 0
|
|
||||||
0 0 0 538468 100300 2699872 0 0 16 267 638 446 8 1 91 0 0 0
|
|
||||||
0 0 0 538600 100300 2699928 0 0 5 1 377 314 1 1 98 0 0 0
|
|
||||||
0 0 0 537896 100300 2700060 0 0 18 30 597 412 6 1 93 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 537140 100300 2700204 0 0 0 254 571 394 6 1 93 0 0 0
|
|
||||||
0 0 0 536592 100300 2700376 0 0 3 2 700 535 8 2 90 0 0 0
|
|
||||||
0 0 0 536592 100300 2700476 0 0 6 39 434 356 2 1 97 0 0 0
|
|
||||||
0 0 0 533568 100300 2700588 0 0 10 12 460 399 2 1 97 0 0 0
|
|
||||||
0 0 0 533568 100300 2700688 0 0 6 430 387 255 2 1 98 0 0 0
|
|
||||||
0 0 0 533344 100300 2700808 0 0 2 35 504 357 4 1 95 0 0 0
|
|
||||||
0 0 0 537180 100300 2700876 0 0 16 15 416 323 5 1 95 0 0 0
|
|
||||||
0 0 0 537712 100300 2701004 0 0 0 0 533 364 4 1 95 0 0 0
|
|
||||||
0 0 0 538544 100300 2701096 0 0 16 34 437 338 4 1 95 0 0 0
|
|
||||||
0 0 0 533760 100300 2701220 0 0 59 6 553 483 3 1 96 0 0 0
|
|
||||||
0 0 0 527576 100300 2701332 0 0 16 272 649 498 9 1 90 0 0 0
|
|
||||||
0 0 0 520296 100300 2701440 0 0 27 25 594 454 9 1 90 0 0 0
|
|
||||||
0 0 0 523404 100300 2701512 0 0 0 23 452 322 3 1 97 0 0 0
|
|
||||||
0 0 0 531232 100300 2701648 0 0 3 0 539 432 4 1 94 0 0 0
|
|
||||||
0 0 0 534768 100300 2701708 0 0 8 19 376 280 4 0 95 0 0 0
|
|
||||||
0 0 0 545108 100300 2701768 0 0 5 17 450 330 8 0 91 0 0 0
|
|
||||||
2 0 0 537144 100300 2701924 0 0 0 2 678 478 8 1 91 0 0 0
|
|
||||||
0 0 0 537372 100300 2702028 0 0 10 18 524 372 8 1 92 0 0 0
|
|
||||||
0 0 0 546016 100304 2702076 0 0 0 24 269 211 1 0 98 0 0 0
|
|
||||||
0 0 0 538656 100304 2702200 0 0 8 1 547 385 8 1 92 0 0 0
|
|
||||||
0 0 0 525076 100304 2702336 0 0 11 19 663 483 10 1 89 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 510236 100304 2702504 0 0 26 4 689 514 8 1 91 0 0 0
|
|
||||||
0 0 0 506712 100304 2702728 0 0 21 18 706 465 5 1 94 0 0 0
|
|
||||||
0 0 0 498648 100304 2702832 0 0 21 38 656 533 8 1 91 0 0 0
|
|
||||||
0 0 0 499164 100304 2702960 0 0 69 7 664 543 7 1 92 0 0 0
|
|
||||||
0 0 0 500200 100304 2703064 0 0 101 18 683 597 5 1 94 0 0 0
|
|
||||||
0 0 0 485640 100304 2703328 0 0 30 29 932 702 10 2 88 0 0 0
|
|
||||||
0 0 0 481356 100304 2703492 0 0 70 5 779 602 9 1 90 0 0 0
|
|
||||||
0 0 0 482668 100304 2703572 0 0 48 22 474 416 3 1 96 0 0 0
|
|
||||||
0 0 0 482668 100304 2703832 0 0 104 40 1019 717 13 1 86 0 0 0
|
|
||||||
0 0 0 482668 100304 2704132 0 0 6 9 1063 669 12 1 87 0 0 0
|
|
||||||
0 0 0 479392 100304 2704276 0 0 6 24 814 609 10 1 88 0 0 0
|
|
||||||
0 0 0 480816 100304 2704472 0 0 240 44 901 710 10 1 88 0 0 0
|
|
||||||
0 0 0 485336 100308 2704600 0 0 13 4 690 522 7 1 92 0 0 0
|
|
||||||
0 0 0 474572 100308 2704880 0 0 59 1 1045 646 10 2 88 0 0 0
|
|
||||||
2 0 0 467544 100308 2705064 0 0 2 22 832 620 11 1 88 0 0 0
|
|
||||||
0 0 0 468048 100308 2705280 0 0 27 53 968 750 13 1 86 0 0 0
|
|
||||||
1 0 0 446180 100308 2705552 0 0 54 1 1134 827 13 2 83 0 1 0
|
|
||||||
0 0 0 444920 100308 2705744 0 0 21 27 923 692 11 1 88 0 0 0
|
|
||||||
0 0 0 444920 100308 2705924 0 0 22 47 902 670 10 1 89 0 0 0
|
|
||||||
0 0 0 444920 100308 2706136 0 0 11 242 1027 775 12 1 87 0 0 0
|
|
||||||
0 0 0 441392 100308 2706432 0 0 29 27 1087 731 9 2 89 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 438336 100308 2706720 0 0 82 449 1119 803 13 1 85 0 0 0
|
|
||||||
0 0 0 444044 100308 2706908 0 0 50 0 886 649 8 1 91 0 0 0
|
|
||||||
1 0 0 446488 100308 2707180 0 0 32 26 1115 756 11 2 87 0 0 0
|
|
||||||
0 0 0 446264 100308 2707480 0 0 75 58 1232 893 14 2 84 0 0 0
|
|
||||||
0 0 0 443044 100308 2707820 0 0 195 2 1263 988 10 2 87 0 0 0
|
|
||||||
0 0 0 441280 100308 2708024 0 0 38 32 960 740 12 1 87 0 0 0
|
|
||||||
0 0 0 441280 100308 2708324 0 0 357 60 1258 946 12 2 86 0 0 0
|
|
||||||
0 0 0 429688 100308 2708504 0 0 30 1 939 747 10 1 88 0 0 0
|
|
||||||
0 0 0 430212 100308 2708860 0 0 38 29 1373 1290 13 2 85 0 0 0
|
|
||||||
0 0 0 427244 100308 2709228 0 0 139 62 1548 1333 16 2 81 0 0 0
|
|
||||||
0 0 0 433796 100308 2709448 0 0 18 1 1010 835 11 1 88 0 0 0
|
|
||||||
0 0 0 441816 100308 2709704 0 0 3 40 1139 902 13 1 85 0 0 0
|
|
||||||
0 0 0 422972 100308 2710008 0 0 6 50 1278 1004 15 2 83 0 0 0
|
|
||||||
0 0 0 423520 100308 2710208 0 0 16 2 1055 821 10 1 89 0 0 0
|
|
||||||
0 0 0 422544 100308 2710412 0 0 38 39 1048 825 15 1 83 0 0 0
|
|
||||||
0 0 0 422852 100308 2710704 0 0 2 43 1298 958 12 1 86 0 0 0
|
|
||||||
1 0 0 422432 100308 2710956 0 0 134 115 1281 941 17 1 81 0 0 0
|
|
||||||
11 0 0 308960 100308 2712128 0 0 53 39 2664 1737 23 6 70 0 0 0
|
|
||||||
4 0 0 292496 100308 2712436 0 0 432 135 1512 1098 11 2 86 1 0 0
|
|
||||||
0 0 0 286804 100308 2712712 0 0 70 1 1397 970 19 2 79 0 0 0
|
|
||||||
0 0 0 282468 100308 2713200 0 0 107 37 1743 1265 16 2 81 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 282196 100308 2713592 0 0 34 88 1472 1196 11 2 87 0 0 0
|
|
||||||
3 0 0 282196 100308 2713904 0 0 30 1 1305 1030 13 2 85 0 0 0
|
|
||||||
0 0 0 290552 100308 2714288 0 0 125 42 1531 1113 15 2 83 0 0 0
|
|
||||||
3 0 0 288116 100308 2714752 0 0 203 80 1787 1433 21 3 76 0 0 0
|
|
||||||
0 0 0 288116 100308 2715192 0 0 19 1 1852 1427 28 2 69 0 0 0
|
|
||||||
1 0 0 294444 100308 2715664 0 0 240 288 1757 1308 14 2 83 0 0 0
|
|
||||||
0 0 0 300512 100308 2715952 0 0 269 89 1468 1164 16 2 81 0 0 0
|
|
||||||
0 0 0 301964 100308 2716424 0 0 376 296 2038 1645 27 2 70 0 0 0
|
|
||||||
2 0 0 295916 100308 2716932 0 0 184 51 1979 1511 22 3 75 0 0 0
|
|
||||||
2 0 0 289364 100308 2717420 0 0 152 94 1927 1599 19 2 78 0 0 0
|
|
||||||
0 0 0 288356 100308 2717712 0 0 80 2 1431 1111 16 2 82 0 0 0
|
|
||||||
2 0 0 290296 100308 2717940 0 0 534 415 1352 1151 19 2 79 1 0 0
|
|
||||||
0 0 0 298156 100308 2718204 0 0 158 57 1283 990 11 2 87 0 0 0
|
|
||||||
0 0 0 307532 100308 2718528 0 0 200 1 1385 1042 18 2 79 0 0 0
|
|
||||||
0 0 0 317740 100308 2718844 0 0 144 2 1459 1201 15 2 83 0 0 0
|
|
||||||
0 0 0 315976 100308 2719264 0 0 461 46 1739 1550 21 3 76 1 0 0
|
|
||||||
1 0 0 315976 100308 2719496 0 0 82 226 1316 1159 17 2 80 0 0 0
|
|
||||||
0 0 0 320276 100308 2719888 0 0 594 294 1771 1703 11 2 86 0 0 0
|
|
||||||
0 0 0 321992 100308 2720160 0 0 266 54 1372 1187 15 2 83 0 0 0
|
|
||||||
0 0 0 326060 100308 2720480 0 0 256 48 1415 1173 17 2 81 0 0 0
|
|
||||||
0 0 0 330276 100308 2720792 0 0 34 7 1456 1261 13 2 85 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 317656 100308 2721124 0 0 104 93 1373 1210 8 2 89 0 0 0
|
|
||||||
0 0 0 317656 100308 2721436 0 0 293 58 1436 1178 16 2 82 0 0 0
|
|
||||||
0 0 0 322480 100308 2721848 0 0 189 13 1656 1340 14 2 83 0 0 0
|
|
||||||
0 0 0 319628 100308 2722276 0 0 139 44 1695 1370 22 2 76 0 0 0
|
|
||||||
1 0 0 304508 100308 2722796 0 0 267 74 1985 1495 33 2 64 0 0 0
|
|
||||||
4 0 0 301736 100308 2723084 0 0 80 7 1568 1134 22 2 76 0 0 0
|
|
||||||
0 0 0 301736 100308 2723380 0 0 6 51 1386 1115 17 2 81 0 0 0
|
|
||||||
1 0 0 305564 100308 2723844 0 0 861 143 1914 1447 22 3 74 1 0 0
|
|
||||||
0 0 0 250916 100308 2724392 0 0 222 10 1959 1594 24 3 73 0 0 0
|
|
||||||
0 1 0 248648 100308 2724788 0 0 165 50 1699 1457 16 2 82 0 0 0
|
|
||||||
0 0 0 246884 100308 2725132 0 0 792 350 1628 1496 13 2 83 1 0 0
|
|
||||||
0 0 0 249656 100308 2725544 0 0 243 173 1700 1417 17 2 81 0 0 0
|
|
||||||
5 0 0 257644 100308 2725920 0 0 302 50 1829 1539 22 2 75 1 0 0
|
|
||||||
0 0 0 246360 100308 2726388 0 0 437 335 1965 1650 22 3 74 1 0 0
|
|
||||||
0 0 0 246136 100308 2726864 0 0 408 9 1872 1565 17 2 80 1 0 0
|
|
||||||
0 0 0 252112 100308 2727112 0 0 258 52 1298 1102 11 2 87 1 0 0
|
|
||||||
2 0 0 259224 100308 2727548 0 0 130 82 1818 1504 22 2 76 0 0 0
|
|
||||||
1 0 0 267540 100308 2727916 0 0 922 63 1881 1646 28 3 68 1 0 0
|
|
||||||
2 0 0 270588 100308 2728344 0 0 630 213 1783 1578 21 2 76 0 0 0
|
|
||||||
0 0 0 265148 100308 2728652 0 0 373 77 1578 1368 16 2 81 1 0 0
|
|
||||||
0 0 0 265148 100308 2729108 0 0 397 1 1967 1806 22 2 75 1 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 271564 100308 2729532 0 0 446 119 1679 1419 13 2 84 1 0 0
|
|
||||||
1 0 0 270572 100308 2729896 0 0 550 69 1809 1601 22 2 76 1 0 0
|
|
||||||
0 0 0 278132 100308 2730256 0 0 357 2 1759 1499 19 2 78 1 0 0
|
|
||||||
4 0 0 266792 100308 2730664 0 0 432 115 1763 1549 22 2 75 1 0 0
|
|
||||||
0 1 0 269772 100308 2731016 0 0 285 72 1565 1307 14 2 83 0 0 0
|
|
||||||
0 0 0 275496 100308 2731404 0 0 498 2 1728 1451 18 2 79 1 0 0
|
|
||||||
7 0 0 275512 100308 2731688 0 0 682 99 1587 1320 16 2 81 1 0 0
|
|
||||||
7 0 0 288260 100308 2732016 0 0 341 65 1442 1250 12 2 85 1 0 0
|
|
||||||
0 0 0 297148 100308 2732368 0 0 78 1 1589 1279 19 2 79 0 0 0
|
|
||||||
0 0 0 303564 100308 2732716 0 0 427 138 1617 1373 21 2 76 1 0 0
|
|
||||||
0 0 0 301080 100308 2733088 0 0 744 221 1652 1487 21 2 76 1 0 0
|
|
||||||
1 0 0 303004 100308 2733444 0 0 259 2 1712 1473 29 2 68 0 0 0
|
|
||||||
0 0 0 309620 100308 2733824 0 0 570 163 1821 1403 35 2 62 1 0 0
|
|
||||||
0 0 0 316752 100308 2734132 0 0 278 64 1400 1141 13 1 85 0 0 0
|
|
||||||
3 0 0 320776 100308 2734520 0 0 350 1 1622 1308 17 2 81 0 0 0
|
|
||||||
1 0 0 269228 100308 2734868 0 0 283 81 1484 1278 16 3 81 0 0 0
|
|
||||||
2 0 0 266988 100308 2735196 0 0 458 55 1591 1452 15 2 82 1 0 0
|
|
||||||
0 0 0 263964 100308 2735588 0 0 410 55 1745 1535 15 2 82 1 0 0
|
|
||||||
1 0 0 263964 100308 2735904 0 0 848 51 1595 1453 19 2 78 1 0 0
|
|
||||||
1 0 0 276804 100308 2736116 0 0 250 64 1211 1019 13 1 85 0 0 0
|
|
||||||
0 0 0 286752 100308 2736440 0 0 907 149 1627 1434 22 2 75 1 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 296432 100308 2736728 0 0 286 2 1435 1187 17 2 81 0 0 0
|
|
||||||
0 0 0 269320 100312 2737192 0 0 563 103 1770 1446 23 3 73 1 1 0
|
|
||||||
0 0 0 264028 100312 2737540 0 0 264 57 1507 1178 18 2 80 0 0 0
|
|
||||||
0 0 0 264028 100312 2737788 0 0 362 1 1287 1112 14 2 84 0 0 0
|
|
||||||
0 0 0 267084 100312 2738080 0 0 160 351 1412 1189 17 2 81 0 0 0
|
|
||||||
0 0 0 272456 100312 2738464 0 0 157 135 1703 1409 20 2 78 0 0 0
|
|
||||||
0 0 0 280148 100312 2738740 0 0 533 2 1454 1247 12 2 85 1 0 0
|
|
||||||
0 0 0 288936 100312 2739144 0 0 102 57 1771 1406 18 2 79 0 0 0
|
|
||||||
0 0 0 292432 100312 2739484 0 0 102 63 1551 1282 21 2 77 0 0 0
|
|
||||||
0 0 0 294716 100312 2739792 0 0 54 1 1589 1370 21 2 76 0 0 0
|
|
||||||
7 0 0 294492 100312 2740168 0 0 94 61 1677 1341 19 2 79 0 0 0
|
|
||||||
2 0 0 308036 100312 2740440 0 0 38 49 1387 1178 11 2 87 0 0 0
|
|
||||||
2 0 0 315556 100312 2740776 0 0 400 80 1547 1335 19 2 79 1 0 0
|
|
||||||
0 0 0 313540 100312 2741140 0 0 448 55 1653 1599 20 2 77 0 1 0
|
|
||||||
0 0 0 296404 100312 2741560 0 0 547 52 1890 1603 25 3 72 1 0 0
|
|
||||||
0 0 0 296404 100312 2741828 0 0 440 144 1467 1295 21 1 77 0 0 0
|
|
||||||
4 0 0 296788 100312 2742140 0 0 293 62 1503 1281 16 2 81 0 0 0
|
|
||||||
1 0 0 300176 100312 2742428 0 0 269 54 1335 1068 16 2 82 0 0 0
|
|
||||||
0 0 0 296540 100312 2742780 0 0 160 2 1500 1221 19 2 78 0 0 0
|
|
||||||
0 0 0 296540 100312 2743044 0 0 34 49 1195 886 17 1 81 0 0 0
|
|
||||||
0 0 0 298068 100312 2743416 0 0 40 52 1466 1124 18 2 80 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 298068 100312 2743736 0 0 5 1 1456 1150 13 2 85 0 0 0
|
|
||||||
0 0 0 298068 100312 2743976 0 0 58 44 1150 986 9 1 89 0 0 0
|
|
||||||
1 0 0 306300 100312 2744276 0 0 13 57 1351 1132 18 2 80 0 0 0
|
|
||||||
5 0 0 322788 100312 2744564 0 0 40 110 1352 1096 14 2 84 0 0 0
|
|
||||||
0 0 0 319764 100312 2744936 0 0 136 48 1660 1416 16 3 80 0 1 0
|
|
||||||
8 0 0 316992 100312 2745260 0 0 21 62 1424 1110 17 2 81 0 0 0
|
|
||||||
0 0 0 316992 100312 2745616 0 0 58 1 1357 1033 13 2 85 0 0 0
|
|
||||||
0 0 0 316992 100312 2745940 0 0 110 49 1411 1079 19 2 79 0 0 0
|
|
||||||
1 0 0 321168 100312 2746240 0 0 67 61 1365 1046 12 2 85 0 0 0
|
|
||||||
3 0 0 330732 100312 2746496 0 0 18 10 1204 1033 10 2 88 0 0 0
|
|
||||||
0 0 0 330508 100312 2746832 0 0 219 42 1555 1310 22 2 75 0 1 0
|
|
||||||
0 0 0 332796 100312 2747092 0 0 45 43 1263 1051 11 2 87 0 0 0
|
|
||||||
0 0 0 327280 100312 2747436 0 0 14 1 1520 1271 22 2 75 0 0 0
|
|
||||||
1 0 0 322520 100312 2747804 0 0 6 339 1606 1368 19 2 79 0 0 0
|
|
||||||
2 0 0 296872 100312 2748092 0 0 38 50 1343 1096 13 2 85 0 1 0
|
|
||||||
0 0 0 292840 100312 2748420 0 0 72 2 1407 1061 14 2 84 0 0 0
|
|
||||||
0 0 0 292840 100312 2748704 0 0 6 5 1266 1082 15 2 82 0 0 0
|
|
||||||
0 0 0 295600 100312 2749028 0 0 37 44 1560 1402 21 2 77 0 0 0
|
|
||||||
0 0 0 308584 100312 2749256 0 0 53 50 1343 994 18 1 81 0 0 0
|
|
||||||
0 0 0 317440 100312 2749528 0 0 29 8 1126 937 10 1 88 0 0 0
|
|
||||||
0 0 0 327788 100312 2749760 0 0 38 41 1097 921 8 2 91 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 329500 100312 2750016 0 0 22 46 1323 1004 15 1 83 0 0 0
|
|
||||||
0 0 0 343720 100312 2750168 0 0 16 6 921 780 8 1 91 0 0 0
|
|
||||||
0 0 0 350704 100312 2750388 0 0 2 29 1105 845 13 1 86 0 0 0
|
|
||||||
0 0 0 355968 100312 2750628 0 0 24 36 1041 867 11 1 88 0 0 0
|
|
||||||
1 0 0 364384 100312 2750756 0 0 62 11 843 783 6 1 93 0 0 0
|
|
||||||
0 0 0 361140 100312 2750980 0 0 3 176 1098 983 11 1 88 0 0 0
|
|
||||||
0 0 0 351060 100312 2751244 0 0 58 31 1281 1021 16 2 82 0 0 0
|
|
||||||
0 0 0 345516 100312 2751492 0 0 93 148 1085 925 11 1 87 0 0 0
|
|
||||||
0 0 0 354416 100312 2751752 0 0 131 38 1010 815 8 1 91 0 0 0
|
|
||||||
0 0 0 337508 100312 2752088 0 0 134 45 1451 1162 20 2 77 0 0 0
|
|
||||||
0 0 0 337644 100312 2752424 0 0 58 13 1337 1123 14 2 84 0 0 0
|
|
||||||
0 0 0 335880 100312 2752644 0 0 53 42 1066 950 10 1 88 0 0 0
|
|
||||||
1 0 0 336600 100312 2752856 0 0 107 50 1168 976 16 1 82 0 0 0
|
|
||||||
1 0 0 334956 100312 2754264 0 0 30 15 1522 1452 11 4 84 0 0 0
|
|
||||||
0 0 0 334452 100312 2754640 0 0 3 41 1485 1382 11 2 86 0 0 0
|
|
||||||
0 0 0 334452 100312 2754880 0 0 35 52 1199 1012 11 1 88 0 0 0
|
|
||||||
0 0 0 338484 100312 2755140 0 0 184 428 1395 1253 15 2 83 0 0 0
|
|
||||||
0 0 0 334200 100312 2755480 0 0 3 45 1564 1325 23 2 75 0 0 0
|
|
||||||
1 0 0 327648 100312 2755764 0 0 248 40 1443 1311 15 2 83 0 0 0
|
|
||||||
1 0 0 337972 100312 2755968 0 0 30 8 1201 1093 12 2 86 0 0 0
|
|
||||||
5 0 0 339072 100312 2756208 0 0 442 252 1358 1217 18 2 80 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
3 0 0 337868 100312 2756464 0 0 267 37 1334 1154 15 2 82 0 0 0
|
|
||||||
0 0 0 338012 100312 2756724 0 0 27 310 1420 1209 17 2 81 0 0 0
|
|
||||||
0 0 0 342152 100312 2756976 0 0 51 43 1381 1253 14 2 84 0 0 0
|
|
||||||
0 0 0 346652 100312 2757212 0 0 27 46 1314 1215 17 2 81 0 0 0
|
|
||||||
0 0 0 359280 100312 2757440 0 0 19 8 1370 1231 17 2 81 0 0 0
|
|
||||||
0 0 0 319744 100312 2757768 0 0 6 49 1348 1246 16 3 81 0 0 0
|
|
||||||
0 0 0 319888 100312 2757972 0 0 0 35 1130 935 14 1 84 0 0 0
|
|
||||||
0 0 0 320604 100312 2758168 0 0 394 11 1252 1185 15 2 83 1 0 0
|
|
||||||
0 0 0 331460 100312 2758336 0 0 27 38 1164 938 15 1 83 0 0 0
|
|
||||||
0 0 0 335448 100312 2758704 0 0 38 37 1482 1234 23 2 75 0 0 0
|
|
||||||
1 0 0 341788 100312 2758952 0 0 6 5 1352 1157 18 1 80 0 0 0
|
|
||||||
0 0 0 341788 100312 2759200 0 0 13 54 1304 1045 23 1 75 0 0 0
|
|
||||||
0 0 0 341788 100312 2759400 0 0 0 39 1231 1070 13 2 85 0 0 0
|
|
||||||
0 0 0 345084 100312 2759576 0 0 6 8 1191 975 17 1 81 0 0 0
|
|
||||||
0 0 0 345084 100312 2759836 0 0 3 44 1341 1028 29 1 70 0 0 0
|
|
||||||
0 0 0 353556 100312 2760012 0 0 5 34 1306 1034 20 1 78 0 1 0
|
|
||||||
1 0 0 332420 100312 2760412 0 0 5 6 1655 1312 28 3 69 0 1 0
|
|
||||||
1 0 0 330404 100312 2760628 0 0 0 2 1286 946 15 1 84 0 0 0
|
|
||||||
0 0 0 330152 100312 2760860 0 0 2 43 1289 981 21 2 77 0 0 0
|
|
||||||
1 0 0 328388 100312 2761092 0 0 5 51 1399 1122 25 1 73 0 0 0
|
|
||||||
1 0 0 328388 100312 2761328 0 0 6 2 1309 1116 22 1 77 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 332020 100312 2761512 0 0 0 47 1163 1026 15 1 84 0 0 0
|
|
||||||
6 0 0 338732 100312 2761748 0 0 3 32 1312 1107 19 2 80 0 0 0
|
|
||||||
0 0 0 349640 100312 2762024 0 0 35 128 1453 1259 17 2 81 0 0 0
|
|
||||||
0 0 0 339308 100312 2762352 0 0 21 42 1435 1123 19 2 78 0 0 0
|
|
||||||
0 0 0 336536 100312 2762624 0 0 16 55 1357 1117 25 1 73 0 0 0
|
|
||||||
0 0 0 336536 100312 2762796 0 0 5 1 1105 861 20 1 79 0 0 0
|
|
||||||
0 0 0 337660 100312 2763004 0 0 24 47 1364 1140 22 2 75 0 0 0
|
|
||||||
3 0 0 330224 100312 2763364 0 0 126 457 1621 1319 22 2 75 0 1 0
|
|
||||||
0 0 0 324884 100312 2763568 0 0 18 1 1143 1003 11 1 87 0 0 0
|
|
||||||
0 0 0 326488 100312 2763808 0 0 69 49 1288 1117 15 1 83 0 0 0
|
|
||||||
6 0 0 326236 100312 2763980 0 0 21 52 1039 892 13 1 85 0 0 0
|
|
||||||
0 0 0 326236 100312 2764184 0 0 3 1 1093 865 19 1 80 0 0 0
|
|
||||||
0 0 0 338984 100312 2764312 0 0 2 39 923 688 16 1 83 0 0 0
|
|
||||||
0 0 0 342444 100312 2764544 0 0 13 25 1334 901 26 1 72 0 0 0
|
|
||||||
0 0 0 344484 100312 2764844 0 0 11 1 1306 964 25 2 73 0 0 0
|
|
||||||
3 0 0 342748 100312 2765084 0 0 0 39 1235 923 18 1 80 0 0 0
|
|
||||||
0 0 0 344128 100312 2765260 0 0 29 47 998 820 16 1 83 0 0 0
|
|
||||||
0 0 0 346568 100312 2765528 0 0 109 2 1377 1211 21 2 77 0 0 0
|
|
||||||
1 0 0 346568 100312 2765720 0 0 82 49 1078 868 18 1 81 0 0 0
|
|
||||||
0 0 0 358964 100312 2765896 0 0 0 27 1035 781 15 1 83 0 0 0
|
|
||||||
0 0 0 364928 100312 2766100 0 0 27 2 1081 897 15 1 84 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 375104 100312 2766228 0 0 400 35 880 778 10 1 88 0 0 0
|
|
||||||
0 0 0 374880 100312 2766408 0 0 70 230 951 776 10 1 88 0 0 0
|
|
||||||
0 0 0 378620 100312 2766564 0 0 2 1 803 607 10 1 89 0 0 0
|
|
||||||
0 0 0 385012 100312 2766740 0 0 18 32 958 768 16 1 83 0 0 0
|
|
||||||
0 0 0 385012 100312 2766908 0 0 42 26 961 830 13 1 86 0 0 0
|
|
||||||
0 0 0 388348 100312 2767056 0 0 14 1 782 692 8 1 91 0 0 0
|
|
||||||
1 0 0 388848 100312 2767236 0 0 0 29 919 693 11 1 88 0 0 0
|
|
||||||
0 0 0 393736 100312 2767324 0 0 3 31 730 615 10 1 89 0 0 0
|
|
||||||
0 0 0 393736 100312 2767484 0 0 2 1 830 626 10 1 89 0 0 0
|
|
||||||
0 0 0 394172 100312 2767624 0 0 0 27 822 590 9 1 90 0 0 0
|
|
||||||
0 0 0 391180 100312 2767836 0 0 5 30 964 760 11 1 87 0 0 0
|
|
||||||
0 0 0 390928 100312 2767984 0 0 5 2 906 742 12 1 87 0 0 0
|
|
||||||
0 0 0 390928 100312 2768164 0 0 35 35 1038 824 17 1 81 0 0 0
|
|
||||||
0 0 0 390928 100312 2768252 0 0 14 27 928 768 10 1 89 0 0 0
|
|
||||||
0 0 0 390928 100312 2768460 0 0 26 110 1011 799 13 1 86 0 0 0
|
|
||||||
0 0 0 390928 100312 2768600 0 0 18 29 804 716 10 1 88 0 0 0
|
|
||||||
1 0 0 395508 100312 2768752 0 0 147 24 872 760 10 1 88 0 0 0
|
|
||||||
0 0 0 380668 100312 2768984 0 0 429 8 1063 1018 14 2 84 1 0 0
|
|
||||||
0 0 0 378148 100312 2769148 0 0 8 7 991 844 13 1 85 0 0 0
|
|
||||||
0 0 0 378148 100312 2769316 0 0 22 316 975 778 13 1 85 0 0 0
|
|
||||||
0 0 0 374620 100312 2769492 0 0 2 30 891 693 13 1 86 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 374620 100312 2769588 0 0 213 1 812 685 10 1 88 0 0 0
|
|
||||||
0 0 0 376492 100312 2769748 0 0 0 29 822 667 12 1 87 0 0 0
|
|
||||||
0 0 0 385516 100312 2769856 0 0 29 24 660 571 7 1 92 0 0 0
|
|
||||||
0 0 0 389216 100312 2770016 0 0 0 4 817 623 14 1 85 0 0 0
|
|
||||||
0 0 0 377904 100312 2770200 0 0 0 26 957 743 14 2 84 0 0 0
|
|
||||||
0 0 0 374376 100312 2770400 0 0 2 31 984 740 11 1 88 0 0 0
|
|
||||||
0 0 0 374376 100312 2770552 0 0 0 152 765 609 5 1 94 0 0 0
|
|
||||||
0 0 0 380096 100312 2770724 0 0 2 31 923 675 15 1 83 0 0 0
|
|
||||||
3 0 0 379340 100312 2770896 0 0 48 31 971 753 10 1 88 0 0 0
|
|
||||||
1 0 0 379340 100312 2771048 0 0 13 2 782 635 10 1 89 0 0 0
|
|
||||||
0 0 0 379340 100312 2771244 0 0 3 245 934 662 13 1 85 0 0 0
|
|
||||||
0 0 0 377376 100312 2771456 0 0 26 25 933 712 9 1 89 0 0 0
|
|
||||||
0 0 0 381344 100312 2771600 0 0 104 1 904 731 11 1 87 0 0 0
|
|
||||||
0 0 0 372020 100312 2771788 0 0 8 37 968 840 13 1 86 0 0 0
|
|
||||||
1 0 0 366728 100312 2772072 0 0 61 34 1124 933 12 1 87 0 0 0
|
|
||||||
0 0 0 368360 100312 2772336 0 0 38 2 1237 977 15 1 83 0 0 0
|
|
||||||
0 0 0 367896 100312 2772564 0 0 8 41 1160 867 17 1 82 0 0 0
|
|
||||||
0 0 0 353284 100312 2772828 0 0 32 492 1109 936 12 2 86 0 0 0
|
|
||||||
2 0 0 355300 100312 2773036 0 0 6 1 981 811 10 1 88 0 0 0
|
|
||||||
0 0 0 356448 100312 2773268 0 0 6 46 1062 876 15 1 83 0 1 0
|
|
||||||
2 0 0 353928 100312 2773512 0 0 10 33 1141 958 16 1 82 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 349140 100312 2773684 0 0 82 1 859 757 10 1 89 0 0 0
|
|
||||||
0 0 0 349140 100312 2773852 0 0 8 44 865 730 10 1 89 0 0 0
|
|
||||||
0 0 0 349156 100312 2774044 0 0 21 21 1023 791 17 1 82 0 0 0
|
|
||||||
0 0 0 349028 100312 2774308 0 0 5 1 753 603 10 1 89 0 0 0
|
|
||||||
0 0 0 356684 100312 2774492 0 0 26 48 1010 769 18 1 80 0 0 0
|
|
||||||
1 0 0 356684 100312 2774716 0 0 43 25 1033 806 13 1 86 0 0 0
|
|
||||||
0 0 0 323728 100312 2775048 0 0 27 1 1262 1056 18 2 79 0 0 0
|
|
||||||
0 0 0 314684 100312 2775248 0 0 10 230 1050 786 12 1 87 0 0 0
|
|
||||||
0 0 0 316792 100312 2775384 0 0 43 37 735 586 11 1 88 0 0 0
|
|
||||||
0 0 0 328796 100312 2775536 0 0 16 1 785 620 10 1 89 0 0 0
|
|
||||||
0 0 0 328856 100312 2775668 0 0 0 28 632 453 7 1 92 0 0 0
|
|
||||||
1 0 0 328856 100312 2775732 0 0 0 19 421 359 5 1 94 0 0 0
|
|
||||||
0 0 0 347096 100312 2775816 0 0 18 1 574 456 6 1 93 0 0 0
|
|
||||||
0 0 0 356896 100316 2775964 0 0 72 22 824 613 12 1 87 0 0 0
|
|
||||||
0 0 0 373636 100316 2776108 0 0 3 20 749 641 10 1 89 0 0 0
|
|
||||||
0 0 0 386660 100316 2776244 0 0 5 1 798 647 12 1 87 0 0 0
|
|
||||||
1 0 0 399808 100316 2776336 0 0 34 28 560 371 8 1 91 0 0 0
|
|
||||||
1 0 0 410748 100316 2776460 0 0 0 1 660 498 11 1 88 0 0 0
|
|
||||||
0 0 0 403512 100316 2776636 0 0 5 19 820 753 10 1 88 0 0 0
|
|
||||||
0 0 0 416932 100316 2776760 0 0 3 5 622 594 6 1 93 0 0 0
|
|
||||||
0 0 0 420148 100316 2776852 0 0 2 21 568 431 9 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 424740 100316 2776984 0 0 16 21 597 455 7 1 92 0 0 0
|
|
||||||
2 0 0 433524 100320 2777056 0 0 40 7 503 360 8 1 91 0 0 0
|
|
||||||
2 0 0 427980 100320 2777160 0 0 0 16 596 480 9 1 90 0 0 0
|
|
||||||
1 0 0 430212 100320 2777224 0 0 149 16 525 446 6 1 93 0 0 0
|
|
||||||
0 0 0 445776 100320 2777264 0 0 0 5 368 284 3 1 96 0 0 0
|
|
||||||
0 0 0 444264 100320 2777340 0 0 8 16 461 380 6 0 93 0 0 0
|
|
||||||
0 0 0 442752 100320 2777420 0 0 22 9 510 409 8 1 91 0 0 0
|
|
||||||
0 0 0 429648 100320 2777508 0 0 0 8 515 413 9 1 90 0 0 0
|
|
||||||
0 0 0 430400 100320 2777572 0 0 5 16 452 346 3 1 96 0 0 0
|
|
||||||
0 0 0 433904 100320 2777668 0 0 13 11 480 365 7 1 93 0 0 0
|
|
||||||
0 0 0 443280 100320 2777728 0 0 0 5 420 387 4 1 95 0 0 0
|
|
||||||
0 0 0 455836 100320 2777764 0 0 2 12 294 260 2 0 97 0 0 0
|
|
||||||
0 0 0 461252 100320 2777868 0 0 0 40 746 599 11 3 86 0 0 0
|
|
||||||
0 0 0 460748 100320 2777952 0 0 3 641 490 379 5 1 94 0 0 0
|
|
||||||
0 0 0 459992 100320 2777992 0 0 37 10 428 364 2 1 97 0 0 0
|
|
||||||
0 0 0 458228 100320 2778076 0 0 205 308 504 419 7 1 92 0 0 0
|
|
||||||
1 0 0 458228 100320 2778088 0 0 16 1 398 390 3 1 96 0 0 0
|
|
||||||
0 0 0 457472 100320 2778196 0 0 0 12 577 462 8 1 91 0 0 0
|
|
||||||
0 0 0 457472 100320 2778240 0 0 0 711 325 287 4 0 96 0 0 0
|
|
||||||
0 0 0 457220 100320 2778360 0 0 168 209 629 480 8 1 91 0 0 0
|
|
||||||
0 0 0 463248 100320 2778464 0 0 0 11 511 306 7 1 92 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 463132 100320 2778612 0 0 64 7 661 523 9 1 90 0 0 0
|
|
||||||
0 0 0 443068 100320 2778720 0 0 0 25 680 577 11 2 87 0 0 0
|
|
||||||
0 0 0 445672 100320 2778820 0 0 237 129 703 597 6 1 92 0 0 0
|
|
||||||
0 0 0 443396 100320 2778956 0 0 29 35 750 541 5 1 94 0 0 0
|
|
||||||
1 0 0 436120 100320 2779120 0 0 26 818 665 470 5 1 94 0 0 0
|
|
||||||
2 0 0 433816 100320 2779220 0 0 11 1 638 435 10 1 89 0 0 0
|
|
||||||
0 0 0 433816 100320 2779352 0 0 8 18 701 519 6 1 94 0 0 0
|
|
||||||
0 0 0 432332 100320 2779448 0 0 10 32 697 466 6 1 93 0 0 0
|
|
||||||
0 0 0 426016 100320 2779664 0 0 13 0 899 604 7 1 92 0 0 0
|
|
||||||
0 0 0 413948 100320 2779952 0 0 182 25 975 741 8 2 90 0 0 0
|
|
||||||
0 0 0 415820 100320 2780088 0 0 59 44 713 580 8 1 90 0 0 0
|
|
||||||
0 0 0 397704 100320 2780328 0 0 24 1 918 684 10 2 88 0 0 0
|
|
||||||
0 0 0 395436 100320 2780424 0 0 16 23 527 431 4 1 95 0 0 0
|
|
||||||
0 0 0 395400 100320 2780604 0 0 0 39 649 449 5 1 94 0 0 0
|
|
||||||
0 0 0 395400 100320 2780824 0 0 123 0 860 629 8 1 90 0 0 0
|
|
||||||
0 0 0 401896 100320 2780944 0 0 77 8 594 537 3 1 96 0 0 0
|
|
||||||
0 0 0 403980 100320 2781096 0 0 45 49 717 599 8 1 91 0 0 0
|
|
||||||
0 0 0 407636 100320 2781212 0 0 10 0 626 601 4 1 95 0 0 0
|
|
||||||
0 0 0 417024 100320 2781328 0 0 3 5 599 533 5 1 94 0 0 0
|
|
||||||
3 0 0 397424 100320 2781596 0 0 66 200 1055 745 16 2 82 0 0 0
|
|
||||||
0 0 0 400652 100320 2781792 0 0 85 13 958 749 12 1 87 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 403112 100320 2782024 0 0 26 586 933 800 11 2 87 0 0 0
|
|
||||||
0 0 0 407332 100320 2782212 0 0 38 274 773 678 5 1 93 0 0 0
|
|
||||||
0 0 0 412464 100320 2782328 0 0 43 13 601 581 4 1 95 0 0 0
|
|
||||||
0 0 0 415980 100320 2782536 0 0 8 1 814 649 11 1 88 0 0 0
|
|
||||||
0 0 0 415532 100320 2782800 0 0 14 270 895 675 7 2 91 0 0 0
|
|
||||||
0 0 0 415532 100320 2783012 0 0 200 341 917 831 9 1 88 0 0 0
|
|
||||||
0 0 0 412760 100320 2783192 0 0 40 1 878 833 8 1 90 0 0 0
|
|
||||||
0 0 0 399936 100320 2783444 0 0 534 64 1065 972 14 2 83 1 0 0
|
|
||||||
0 0 0 399936 100320 2783580 0 0 27 5 728 574 9 1 90 0 0 0
|
|
||||||
0 0 0 399936 100320 2783752 0 0 94 1 836 717 11 1 88 0 0 0
|
|
||||||
2 0 0 404688 100320 2783932 0 0 29 57 861 630 8 1 90 0 0 0
|
|
||||||
0 0 0 411068 100320 2784124 0 0 19 8 798 696 9 1 90 0 0 0
|
|
||||||
0 0 0 411068 100320 2784304 0 0 16 1 740 610 7 1 92 0 0 0
|
|
||||||
2 0 0 411068 100320 2784464 0 0 150 53 828 725 10 1 89 0 0 0
|
|
||||||
0 0 0 408044 100320 2784736 0 0 45 6 897 784 6 1 92 0 0 0
|
|
||||||
0 0 0 411700 100320 2784844 0 0 14 1 549 481 3 1 96 0 0 0
|
|
||||||
0 0 0 413868 100320 2785076 0 0 21 63 810 718 7 1 92 0 0 0
|
|
||||||
0 0 0 412104 100320 2785276 0 0 22 8 802 687 10 1 89 0 0 0
|
|
||||||
0 0 0 411600 100320 2785404 0 0 18 1 665 593 7 1 93 0 0 0
|
|
||||||
0 0 0 415624 100320 2785568 0 0 11 1 669 615 5 1 94 0 0 0
|
|
||||||
0 0 0 414868 100320 2785744 0 0 14 54 784 691 9 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 392972 100320 2786008 0 0 11 1 1025 965 10 2 88 0 0 0
|
|
||||||
0 0 0 392584 100320 2786268 0 0 10 2 922 750 8 1 91 0 0 0
|
|
||||||
0 0 0 390568 100320 2786484 0 0 14 80 847 786 6 1 92 0 0 0
|
|
||||||
0 0 0 382504 100320 2786628 0 0 10 1 670 581 5 1 94 0 0 0
|
|
||||||
0 0 0 384884 100320 2787280 0 0 250 331 1036 982 9 3 88 0 0 0
|
|
||||||
0 0 0 384884 100320 2787428 0 0 18 66 690 598 7 1 92 0 0 0
|
|
||||||
1 0 0 379436 100320 2787556 0 0 29 1 764 693 6 2 92 0 0 0
|
|
||||||
0 0 0 379436 100320 2787688 0 0 58 691 656 606 7 1 92 0 0 0
|
|
||||||
0 0 0 387576 100324 2787808 0 0 22 304 633 556 5 1 94 0 0 0
|
|
||||||
2 0 0 384048 100324 2787940 0 0 22 21 778 708 6 2 93 0 0 0
|
|
||||||
0 0 0 384932 100324 2788172 0 0 46 1 1059 945 8 1 90 0 0 0
|
|
||||||
2 0 0 384932 100324 2788316 0 0 58 328 674 595 5 1 94 0 0 0
|
|
||||||
0 0 0 384932 100324 2788440 0 0 29 6 677 591 6 1 92 0 0 0
|
|
||||||
0 0 0 376868 100324 2788620 0 0 61 6 884 836 7 2 92 0 0 0
|
|
||||||
0 0 0 376112 100324 2788760 0 0 21 48 800 704 6 1 91 0 1 0
|
|
||||||
0 0 0 366284 100324 2789080 0 0 51 1 1236 985 11 2 85 0 2 0
|
|
||||||
0 0 0 350688 100324 2789392 0 0 53 5 1074 955 6 2 92 0 0 0
|
|
||||||
4 0 0 355288 100324 2789608 0 0 19 84 939 849 8 1 91 0 0 0
|
|
||||||
0 0 0 362664 100324 2789808 0 0 43 1 964 889 10 1 89 0 0 0
|
|
||||||
0 0 0 360900 100324 2790028 0 0 16 9 864 785 5 1 94 0 0 0
|
|
||||||
0 0 0 370516 100324 2790200 0 0 14 67 832 827 7 1 92 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 350920 100324 2790456 0 0 14 2 1012 1019 9 2 89 0 0 0
|
|
||||||
0 0 0 347896 100324 2790688 0 0 21 5 946 922 5 1 93 0 0 0
|
|
||||||
0 0 0 344620 100324 2790972 0 0 30 79 1141 1104 7 2 91 0 0 0
|
|
||||||
0 0 0 332832 100324 2791284 0 0 2 1 1211 1125 11 2 87 0 0 0
|
|
||||||
0 0 0 332580 100324 2791548 0 0 11 8 986 865 6 1 92 0 0 0
|
|
||||||
0 0 0 333996 100324 2791824 0 0 75 88 1123 1093 10 2 88 0 0 0
|
|
||||||
0 0 0 333996 100324 2792112 0 0 80 1 1113 1004 8 1 90 0 0 0
|
|
||||||
0 0 0 333996 100324 2792364 0 0 46 5 1091 1075 6 1 92 0 0 0
|
|
||||||
0 0 0 329712 100324 2792560 0 0 2 78 830 858 4 1 95 0 0 0
|
|
||||||
0 0 0 329712 100324 2792720 0 0 147 1 763 704 6 1 93 0 0 0
|
|
||||||
0 0 0 334404 100324 2792980 0 0 14 9 968 880 6 1 93 0 0 0
|
|
||||||
0 0 0 338516 100324 2793164 0 0 18 64 866 768 7 1 92 0 0 0
|
|
||||||
0 0 0 340532 100324 2793388 0 0 21 1 910 889 5 1 94 0 0 0
|
|
||||||
7 0 0 337004 100324 2793692 0 0 13 6 1124 1067 11 2 87 0 0 0
|
|
||||||
2 0 0 333980 100324 2793944 0 0 102 161 1060 1055 8 1 90 0 0 0
|
|
||||||
0 0 0 333116 100324 2794200 0 0 150 79 1103 1125 9 1 89 0 0 0
|
|
||||||
1 0 0 320544 100324 2794480 0 0 48 14 1102 1074 8 2 90 0 0 0
|
|
||||||
0 0 0 319660 100324 2794700 0 0 3 1 976 927 7 1 91 0 0 0
|
|
||||||
0 0 0 322248 100324 2794848 0 0 0 76 736 741 4 1 95 0 0 0
|
|
||||||
0 0 0 332188 100324 2795008 0 0 11 269 792 781 5 1 93 0 0 0
|
|
||||||
0 0 0 300996 100324 2795432 0 0 30 2 1335 1262 12 3 85 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 298440 100324 2795620 0 0 101 79 930 842 10 1 88 0 0 0
|
|
||||||
0 0 0 295920 100324 2795896 0 0 46 6 1022 1003 6 2 92 0 0 0
|
|
||||||
0 0 0 299356 100324 2796208 0 0 2 0 1044 915 6 2 92 0 0 0
|
|
||||||
0 0 0 305324 100324 2796392 0 0 2 77 892 715 6 1 92 0 0 0
|
|
||||||
0 0 0 308840 100324 2796628 0 0 16 9 920 824 7 1 91 0 0 0
|
|
||||||
0 0 0 317948 100324 2796876 0 0 22 2 1074 895 10 1 88 0 0 0
|
|
||||||
0 0 0 317696 100324 2797160 0 0 21 79 1097 1048 8 2 90 0 0 0
|
|
||||||
0 0 0 310640 100324 2797456 0 0 16 5 1144 1071 7 2 90 0 0 0
|
|
||||||
0 0 0 306104 100324 2797700 0 0 99 0 946 865 5 1 93 0 0 0
|
|
||||||
0 0 0 312688 100324 2797988 0 0 304 86 1185 1107 11 2 87 0 0 0
|
|
||||||
0 0 0 312388 100324 2798284 0 0 45 7 1145 1130 6 1 92 0 0 0
|
|
||||||
0 0 0 314812 100324 2798492 0 0 13 2 881 786 6 1 93 0 0 0
|
|
||||||
2 0 0 320816 100324 2798712 0 0 0 91 1082 1070 7 1 92 0 0 0
|
|
||||||
0 0 0 331032 100324 2798976 0 0 37 3 964 915 7 2 91 0 0 0
|
|
||||||
1 0 0 332236 100324 2799184 0 0 0 1 941 830 11 1 88 0 0 0
|
|
||||||
0 0 0 333416 100324 2799368 0 0 5 862 927 807 9 1 89 0 0 0
|
|
||||||
0 0 0 342872 100324 2799556 0 0 0 0 899 791 8 1 90 0 0 0
|
|
||||||
0 0 0 345872 100324 2799772 0 0 0 1 857 770 7 1 92 0 0 0
|
|
||||||
0 0 0 345872 100324 2799928 0 0 2 67 885 757 7 1 92 0 0 0
|
|
||||||
0 0 0 346928 100324 2800128 0 0 5 1 821 730 11 1 88 0 0 0
|
|
||||||
0 0 0 344404 100324 2800388 0 0 14 1 1028 919 10 2 88 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 341408 100324 2800564 0 0 101 78 889 664 12 1 86 0 0 0
|
|
||||||
0 0 0 341408 100324 2800848 0 0 2 1 1040 848 11 1 88 0 0 0
|
|
||||||
0 0 0 342896 100324 2801020 0 0 5 2 923 807 10 1 88 0 0 0
|
|
||||||
1 0 0 347416 100324 2801260 0 0 3 75 1005 836 11 1 88 0 0 0
|
|
||||||
0 0 0 351884 100324 2801520 0 0 0 0 1126 865 14 1 84 0 0 0
|
|
||||||
0 0 0 356736 100324 2801688 0 0 59 1 889 676 14 1 85 0 0 0
|
|
||||||
0 0 0 362780 100324 2801848 0 0 0 8 999 861 11 1 88 0 0 0
|
|
||||||
0 0 0 362780 100324 2802020 0 0 166 273 970 970 7 2 91 0 0 0
|
|
||||||
0 0 0 364428 100324 2802196 0 0 5 1 1011 865 9 1 90 0 0 0
|
|
||||||
0 0 0 369456 100324 2802332 0 0 2 7 732 616 7 1 92 0 0 0
|
|
||||||
0 0 0 367720 100324 2802516 0 0 18 329 910 819 10 1 88 0 0 0
|
|
||||||
0 0 0 369768 100324 2802620 0 0 155 1 610 553 5 1 94 0 0 0
|
|
||||||
0 0 0 374432 100324 2802752 0 0 90 10 646 580 6 1 93 0 0 0
|
|
||||||
1 0 0 390156 100324 2802884 0 0 3 43 717 596 8 1 91 0 0 0
|
|
||||||
0 0 0 393204 100324 2803024 0 0 14 1 665 605 7 1 92 0 0 0
|
|
||||||
0 0 0 392980 100324 2803152 0 0 0 5 608 524 7 1 92 0 0 0
|
|
||||||
0 0 0 392980 100324 2803344 0 0 0 43 833 735 12 1 87 0 0 0
|
|
||||||
0 0 0 390488 100324 2803512 0 0 48 1 820 807 5 1 93 0 0 0
|
|
||||||
1 0 0 387240 100324 2803712 0 0 13 7 813 804 6 1 92 0 0 0
|
|
||||||
0 0 0 380212 100324 2803908 0 0 78 58 898 763 10 1 88 0 0 0
|
|
||||||
0 0 0 378448 100324 2804012 0 0 3 0 568 525 3 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 380952 100324 2804204 0 0 13 6 840 747 8 1 91 0 0 0
|
|
||||||
0 0 0 378180 100324 2804356 0 0 14 50 693 610 5 1 93 0 0 0
|
|
||||||
0 0 0 382172 100324 2804576 0 0 32 1 920 841 5 1 93 0 0 0
|
|
||||||
0 0 0 382076 100324 2804732 0 0 51 9 778 687 8 1 91 0 0 0
|
|
||||||
0 0 0 379864 100324 2805028 0 0 74 58 1042 849 7 2 90 0 0 0
|
|
||||||
0 0 0 366256 100324 2805288 0 0 373 2 1070 990 11 1 87 1 0 0
|
|
||||||
0 0 0 365500 100324 2805460 0 0 18 5 760 674 4 1 95 0 0 0
|
|
||||||
0 0 0 366436 100324 2805640 0 0 0 67 863 755 10 1 89 0 0 0
|
|
||||||
0 0 0 355988 100324 2805904 0 0 37 1 1037 933 8 2 90 0 0 0
|
|
||||||
1 0 0 351956 100324 2806096 0 0 2 8 813 763 5 1 93 0 0 0
|
|
||||||
0 0 0 349184 100324 2806304 0 0 6 66 978 858 13 1 86 0 0 0
|
|
||||||
0 0 0 360152 100324 2806428 0 0 50 234 631 600 4 1 94 0 0 0
|
|
||||||
0 0 0 369592 100324 2806600 0 0 16 6 724 700 5 1 94 0 0 0
|
|
||||||
0 0 0 374448 100324 2806780 0 0 3 53 824 724 10 1 89 0 0 0
|
|
||||||
0 0 0 377084 100324 2806972 0 0 2 0 760 652 8 1 91 0 0 0
|
|
||||||
0 0 0 380072 100324 2807116 0 0 11 21 678 651 5 1 93 0 0 0
|
|
||||||
0 0 0 380072 100324 2807228 0 0 331 48 664 672 5 1 93 0 0 0
|
|
||||||
1 0 0 385508 100324 2807360 0 0 0 1 644 597 6 1 93 0 0 0
|
|
||||||
0 0 0 379740 100324 2807548 0 0 544 1 906 705 14 1 84 1 0 0
|
|
||||||
0 0 0 377724 100324 2807692 0 0 0 269 701 627 8 1 91 0 0 0
|
|
||||||
0 0 0 377724 100324 2807828 0 0 5 0 676 588 8 1 90 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 377724 100324 2808000 0 0 6 1 826 711 8 1 91 0 0 0
|
|
||||||
2 0 0 378988 100328 2808216 0 0 26 4 979 984 9 1 90 0 0 0
|
|
||||||
0 0 0 378764 100328 2808448 0 0 3 56 832 767 5 1 94 0 0 0
|
|
||||||
0 0 0 378780 100328 2808604 0 0 75 0 737 740 4 1 95 0 0 0
|
|
||||||
0 0 0 376036 100332 2808772 0 0 51 8 768 696 7 1 91 0 0 0
|
|
||||||
0 0 0 374776 100332 2808904 0 0 3 56 626 528 6 1 93 0 0 0
|
|
||||||
0 0 0 375772 100332 2809104 0 0 24 1 876 779 13 1 85 0 0 0
|
|
||||||
1 0 0 375772 100332 2809264 0 0 21 5 897 800 14 1 85 0 0 0
|
|
||||||
0 0 0 375772 100332 2809456 0 0 141 180 864 764 11 1 87 0 0 0
|
|
||||||
0 0 0 370508 100332 2809688 0 0 56 1 1009 801 12 1 87 0 0 0
|
|
||||||
3 0 0 368492 100332 2809856 0 0 48 9 880 663 15 1 84 0 0 0
|
|
||||||
1 0 0 369356 100332 2810012 0 0 555 57 845 776 11 1 87 1 0 0
|
|
||||||
1 0 0 369356 100332 2810184 0 0 37 1 1078 836 20 1 78 0 0 0
|
|
||||||
0 0 0 369356 100332 2810400 0 0 13 4 1126 928 19 1 79 0 0 0
|
|
||||||
0 0 0 327356 100332 2810648 0 0 82 64 1048 998 9 3 88 0 0 0
|
|
||||||
3 0 0 323604 100332 2810832 0 0 18 1 853 740 8 1 90 0 0 0
|
|
||||||
0 0 0 323100 100332 2810992 0 0 0 7 789 721 11 1 88 0 0 0
|
|
||||||
0 0 0 334692 100332 2811096 0 0 74 51 623 612 6 1 93 0 0 0
|
|
||||||
0 0 0 341908 100332 2811292 0 0 62 0 943 840 15 1 84 0 0 0
|
|
||||||
0 0 0 353888 100332 2811404 0 0 14 4 714 644 7 1 92 0 0 0
|
|
||||||
0 0 0 366684 100332 2811524 0 0 34 45 667 635 6 1 93 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 366736 100332 2811712 0 0 110 1 835 711 10 1 89 0 0 0
|
|
||||||
2 0 0 366736 100332 2811868 0 0 8 7 739 703 8 1 91 0 0 0
|
|
||||||
0 0 0 366736 100332 2812000 0 0 18 50 773 627 13 1 86 0 0 0
|
|
||||||
=== 모니터링 종료: Tue Sep 15 14:59:51 KST 2026 ===
|
|
||||||
@@ -1,858 +0,0 @@
|
|||||||
=== 모니터링 시작: Wed Sep 16 12:50:01 KST 2026 ===
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 626284 102380 2565588 0 0 4 29 140 0 1 0 99 0 0 0
|
|
||||||
0 0 0 610184 102380 2565628 0 0 0 0 380 356 1 1 98 0 0 0
|
|
||||||
0 0 0 609680 102380 2565724 0 0 10 17 485 380 1 1 98 0 0 0
|
|
||||||
4 0 0 611640 102380 2565744 0 0 0 15 257 231 0 1 99 0 0 0
|
|
||||||
0 0 0 617700 102380 2565828 0 0 5 440 391 337 1 1 98 0 0 0
|
|
||||||
0 0 0 614240 102380 2565864 0 0 40 21 345 328 1 1 98 0 0 0
|
|
||||||
0 0 0 613736 102380 2565904 0 0 3 6 405 382 1 1 98 0 0 0
|
|
||||||
0 0 0 607940 102380 2565992 0 0 10 5 486 401 1 1 98 0 0 0
|
|
||||||
0 0 0 609312 102380 2566068 0 0 10 156 431 350 1 1 98 0 0 0
|
|
||||||
0 0 0 607296 102380 2566088 0 0 2 0 269 272 1 0 99 0 0 0
|
|
||||||
0 0 0 596416 102380 2566160 0 0 8 6 413 372 1 1 98 0 0 0
|
|
||||||
1 0 0 596416 102384 2566204 0 0 46 22 370 349 1 1 99 0 0 0
|
|
||||||
0 0 0 603252 102384 2566244 0 0 19 4 390 368 1 1 99 0 0 0
|
|
||||||
1 0 0 604968 102384 2566296 0 0 32 3 384 360 1 1 99 0 0 0
|
|
||||||
0 0 0 606324 102388 2566352 0 0 0 24 410 346 1 1 99 0 0 0
|
|
||||||
0 0 0 605064 102388 2566392 0 0 10 3 368 359 1 1 99 0 0 0
|
|
||||||
0 0 0 599800 102388 2566452 0 0 5 5 442 381 1 1 98 0 0 0
|
|
||||||
0 0 0 596020 102388 2566544 0 0 5 24 586 548 1 1 98 0 0 0
|
|
||||||
0 0 0 582916 102388 2566608 0 0 11 1 491 483 1 1 98 0 0 0
|
|
||||||
0 0 0 589528 102388 2566684 0 0 0 4 491 438 1 1 98 0 0 0
|
|
||||||
0 0 0 597088 102388 2566720 0 0 6 180 417 411 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 597088 102388 2566740 0 0 10 17 286 284 1 0 99 0 0 0
|
|
||||||
0 0 0 596224 102388 2566768 0 0 16 2 349 364 1 1 99 0 0 0
|
|
||||||
0 0 0 581668 102388 2566856 0 0 18 14 639 638 2 2 96 0 0 0
|
|
||||||
0 0 0 579592 102388 2566920 0 0 0 13 500 462 1 1 98 0 0 0
|
|
||||||
0 0 0 581628 102388 2566956 0 0 14 1 383 362 1 1 98 0 0 0
|
|
||||||
0 0 0 587640 102388 2567056 0 0 2 440 497 403 1 1 98 0 0 0
|
|
||||||
0 0 0 602440 102388 2567084 0 0 0 19 361 321 1 1 99 0 0 0
|
|
||||||
0 0 0 596644 102388 2567160 0 0 0 1 483 418 1 1 98 0 0 0
|
|
||||||
0 0 0 583540 102388 2567264 0 0 3 9 595 484 1 1 97 0 0 0
|
|
||||||
0 0 0 581020 102388 2567336 0 0 0 30 546 539 1 1 98 0 0 0
|
|
||||||
0 0 0 583780 102388 2567408 0 0 5 2 481 432 1 1 98 0 0 0
|
|
||||||
0 0 0 579968 102388 2567476 0 0 13 7 479 409 1 1 98 0 0 0
|
|
||||||
0 0 0 578788 102392 2567568 0 0 34 32 538 425 1 1 98 0 0 0
|
|
||||||
0 0 0 585508 102392 2567628 0 0 2 245 438 439 1 1 99 0 0 0
|
|
||||||
0 0 0 582988 102392 2567704 0 0 3 5 544 476 1 1 98 0 0 0
|
|
||||||
0 0 0 585092 102392 2567780 0 0 5 21 479 421 1 1 98 0 0 0
|
|
||||||
0 0 0 579044 102392 2567836 0 0 54 10 476 454 1 1 98 0 0 0
|
|
||||||
0 0 0 581204 102392 2567916 0 0 2 3 580 492 1 1 99 0 0 0
|
|
||||||
2 0 0 579548 102392 2568024 0 0 0 19 697 584 1 1 98 0 0 0
|
|
||||||
0 0 0 557432 102392 2568188 0 0 19 5 877 659 1 2 97 0 0 0
|
|
||||||
0 0 0 555404 102392 2568280 0 0 35 4 548 447 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 553936 102392 2568324 0 0 3 34 442 405 1 1 98 0 0 0
|
|
||||||
0 0 0 557316 102392 2568460 0 0 42 9 744 539 1 1 98 0 0 0
|
|
||||||
0 0 0 550996 102392 2568540 0 0 11 3 590 553 2 1 97 0 0 0
|
|
||||||
0 0 0 549736 102392 2568636 0 0 0 31 605 510 1 1 98 0 0 0
|
|
||||||
0 0 0 547972 102392 2568720 0 0 3 10 598 545 1 1 98 0 0 0
|
|
||||||
0 0 0 549220 102392 2568776 0 0 11 2 520 509 1 1 98 0 0 0
|
|
||||||
0 0 0 548464 102392 2568844 0 0 27 26 561 556 1 1 98 0 0 0
|
|
||||||
0 0 0 541240 102392 2568932 0 0 6 14 659 578 1 1 97 0 0 0
|
|
||||||
0 0 0 535444 102392 2569104 0 0 6 2 757 610 2 1 97 0 0 0
|
|
||||||
0 0 0 534792 102392 2569168 0 0 5 35 594 567 1 1 98 0 0 0
|
|
||||||
0 0 0 539524 102392 2569260 0 0 6 8 767 740 2 1 97 0 0 0
|
|
||||||
0 0 0 540444 102392 2569336 0 0 0 1 630 590 1 1 98 0 0 0
|
|
||||||
0 0 0 538640 102392 2569428 0 0 3 28 720 687 2 1 97 0 0 0
|
|
||||||
2 0 0 478300 102392 2569680 0 0 46 10 1044 881 2 2 95 0 0 0
|
|
||||||
0 0 0 476808 102392 2569804 0 0 8 1 729 634 2 1 97 0 0 0
|
|
||||||
0 0 0 476808 102392 2569876 0 0 10 2 663 569 1 1 98 0 0 0
|
|
||||||
0 0 0 483112 102392 2570016 0 0 2 52 874 778 2 1 97 0 0 0
|
|
||||||
0 0 0 483100 102392 2570148 0 0 6 4 879 737 1 1 97 0 0 0
|
|
||||||
0 0 0 487948 102392 2570336 0 0 26 1 948 727 3 1 96 0 0 0
|
|
||||||
0 0 0 502772 102392 2570468 0 0 22 336 819 686 2 1 96 0 0 0
|
|
||||||
0 0 0 507560 102392 2570592 0 0 22 9 860 809 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 419740 102392 2570856 0 0 27 1 1163 1070 3 3 93 0 0 0
|
|
||||||
0 0 0 413188 102392 2571012 0 0 5 55 991 849 2 2 96 0 0 0
|
|
||||||
0 0 0 413188 102392 2571192 0 0 8 4 1053 919 2 2 96 0 0 0
|
|
||||||
0 0 0 409048 102392 2571352 0 0 80 4 1072 978 2 2 95 0 0 0
|
|
||||||
0 0 0 415736 102392 2571528 0 0 27 66 1065 942 2 2 96 0 0 0
|
|
||||||
0 0 0 418636 102392 2571712 0 0 27 4 1127 1026 3 2 96 0 0 0
|
|
||||||
0 0 0 430488 102392 2571924 0 0 19 3 1139 978 3 1 96 0 0 0
|
|
||||||
0 0 0 440568 102392 2572080 0 0 2 71 980 817 2 1 96 0 0 0
|
|
||||||
0 0 0 449828 102392 2572252 0 0 48 4 915 766 2 1 96 0 0 0
|
|
||||||
0 0 0 450208 102392 2572468 0 0 13 4 975 845 2 2 96 0 0 0
|
|
||||||
0 0 0 450968 102392 2572768 0 0 5 72 1343 1008 4 2 94 0 0 0
|
|
||||||
0 0 0 455488 102392 2572988 0 0 120 2 1084 919 3 2 96 0 0 0
|
|
||||||
0 0 0 417440 102392 2573272 0 0 32 494 1239 1075 4 3 93 0 0 0
|
|
||||||
1 0 0 400836 102392 2573604 0 0 22 89 1361 991 4 2 94 0 0 0
|
|
||||||
0 0 0 399844 102392 2573964 0 0 13 4 1412 1062 4 2 94 0 0 0
|
|
||||||
0 0 0 401688 102392 2574276 0 0 21 16 1159 950 3 2 95 0 0 0
|
|
||||||
0 0 0 407924 102392 2574476 0 0 184 88 1084 958 2 2 96 0 0 0
|
|
||||||
0 0 0 409124 102392 2574720 0 0 62 9 1200 1023 3 2 96 0 0 0
|
|
||||||
0 0 0 416012 102392 2574948 0 0 11 7 1168 987 3 2 95 0 0 0
|
|
||||||
0 0 0 430104 102392 2575120 0 0 50 66 1099 1004 2 2 96 0 0 0
|
|
||||||
0 0 0 424384 102392 2575328 0 0 32 12 1087 984 2 2 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 425588 102392 2575456 0 0 19 13 991 887 2 1 96 0 0 0
|
|
||||||
0 0 0 427328 102392 2575572 0 0 21 52 937 870 2 1 97 0 0 0
|
|
||||||
0 0 0 414952 102392 2575816 0 0 37 8 1259 1115 3 2 94 0 0 0
|
|
||||||
0 0 0 409672 102392 2575996 0 0 10 8 1095 930 2 1 96 0 0 0
|
|
||||||
0 0 0 416996 102392 2576140 0 0 34 60 995 890 2 2 96 0 0 0
|
|
||||||
0 0 0 431760 102392 2576364 0 0 14 10 1185 977 3 2 95 0 0 0
|
|
||||||
2 0 0 423776 102396 2576552 0 0 40 18 1159 1037 3 2 95 0 0 0
|
|
||||||
0 0 0 420500 102396 2576736 0 0 18 56 1144 1051 3 2 95 0 0 0
|
|
||||||
0 0 0 420736 102396 2576912 0 0 32 10 1137 1016 2 2 96 0 0 0
|
|
||||||
0 0 0 425144 102396 2577052 0 0 10 3 1021 927 2 1 96 0 0 0
|
|
||||||
0 0 0 417444 102396 2577200 0 0 26 326 1188 1118 3 2 94 0 0 0
|
|
||||||
0 0 0 407052 102396 2577368 0 0 32 8 1153 988 3 2 95 0 0 0
|
|
||||||
0 0 0 404732 102396 2577620 0 0 21 4 1281 1037 3 2 94 0 0 0
|
|
||||||
0 0 0 406660 102396 2577856 0 0 0 9 1190 977 3 2 95 0 0 0
|
|
||||||
0 0 0 404932 102396 2578052 0 0 10 480 1267 1074 3 2 95 0 0 0
|
|
||||||
0 0 0 404684 102396 2578296 0 0 13 8 1176 1030 2 2 96 0 0 0
|
|
||||||
0 0 0 385532 102396 2578524 0 0 22 14 1224 1144 3 2 95 0 0 0
|
|
||||||
1 0 0 359940 102396 2578880 0 0 10 75 1564 1307 4 2 93 0 0 0
|
|
||||||
0 0 0 358676 102396 2579100 0 0 2 4 1336 1201 3 2 95 0 0 0
|
|
||||||
2 0 0 353584 102396 2579272 0 0 0 7 1102 935 2 2 96 0 0 0
|
|
||||||
0 0 0 353584 102396 2579492 0 0 10 80 1217 1097 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 358436 102396 2579664 0 0 3 2 1123 1029 3 2 95 0 0 0
|
|
||||||
0 0 0 363036 102396 2579916 0 0 26 10 1316 1189 3 2 95 0 0 0
|
|
||||||
0 0 0 363036 102396 2580108 0 0 2 71 1332 1204 3 2 95 0 0 0
|
|
||||||
0 0 0 363036 102396 2580288 0 0 5 4 1208 1135 2 2 96 0 0 0
|
|
||||||
0 0 0 355476 102396 2580544 0 0 3 7 1304 1179 3 2 95 0 0 0
|
|
||||||
0 0 0 359508 102396 2580780 0 0 26 67 1408 1203 3 2 95 0 0 0
|
|
||||||
3 0 0 365536 102396 2581064 0 0 3 4 1404 1289 3 2 95 0 0 0
|
|
||||||
0 0 0 365312 102396 2581248 0 0 3 9 1212 1098 2 2 96 0 0 0
|
|
||||||
0 0 0 376620 102396 2581464 0 0 3 78 1195 1078 2 2 96 0 0 0
|
|
||||||
0 0 0 387944 102396 2581572 0 0 16 2 985 966 2 1 97 0 0 0
|
|
||||||
0 0 0 399308 102396 2582968 0 0 2 10 1221 1265 3 4 93 0 0 0
|
|
||||||
0 0 0 399308 102396 2583144 0 0 0 45 1123 1006 2 2 96 0 0 0
|
|
||||||
0 0 0 399308 102396 2583304 0 0 3 3 1021 907 2 1 96 0 0 0
|
|
||||||
0 0 0 408488 102396 2583408 0 0 8 478 926 826 2 1 97 0 0 0
|
|
||||||
0 0 0 417564 102396 2583556 0 0 8 48 925 823 2 1 97 0 0 0
|
|
||||||
0 0 0 409248 102396 2583724 0 0 3 12 1188 1041 3 2 95 0 0 0
|
|
||||||
0 0 0 407232 102396 2583892 0 0 3 323 1058 917 2 2 96 0 0 0
|
|
||||||
0 0 0 414996 102396 2584016 0 0 13 50 1039 914 2 1 97 0 0 0
|
|
||||||
0 0 0 426220 102396 2584152 0 0 16 12 1043 973 2 2 96 0 0 0
|
|
||||||
0 0 0 377836 102396 2584376 0 0 24 19 1313 1298 3 3 94 0 0 0
|
|
||||||
1 0 0 375316 102396 2584472 0 0 131 834 1100 1071 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 376088 102396 2584692 0 0 50 11 1283 1123 3 2 95 0 0 0
|
|
||||||
0 0 0 382872 102396 2584808 0 0 8 6 1162 1106 3 1 96 0 0 0
|
|
||||||
0 0 0 394520 102396 2584940 0 0 24 68 1116 1027 2 1 96 0 0 0
|
|
||||||
0 0 0 396176 102396 2585060 0 0 30 10 1005 894 2 1 96 0 0 0
|
|
||||||
0 0 0 404336 102396 2585240 0 0 3 2 1067 878 3 2 95 0 0 0
|
|
||||||
0 0 0 405776 102396 2585380 0 0 2 62 1079 973 3 2 96 0 0 0
|
|
||||||
0 0 0 391564 102396 2585640 0 0 14 8 1243 1076 3 2 94 0 0 0
|
|
||||||
0 0 0 386428 102396 2585712 0 0 21 8 989 916 2 1 97 0 0 0
|
|
||||||
0 0 0 386428 102396 2585852 0 0 13 58 1160 1081 3 2 96 0 0 0
|
|
||||||
0 0 0 395048 102396 2585988 0 0 0 2 849 735 2 1 97 0 0 0
|
|
||||||
0 0 0 403864 102396 2586128 0 0 24 18 1146 1056 3 2 95 0 0 0
|
|
||||||
1 0 0 380616 102396 2586472 0 0 3 62 1546 1336 4 2 93 0 0 0
|
|
||||||
0 0 0 367764 102396 2586672 0 0 30 3 1259 1118 2 2 96 0 0 0
|
|
||||||
0 0 0 365748 102396 2586816 0 0 21 12 1196 1077 3 2 96 0 0 0
|
|
||||||
0 0 0 372084 102396 2587008 0 0 6 6 1060 886 2 1 96 0 0 0
|
|
||||||
0 0 0 374876 102396 2587180 0 0 3 63 1187 1020 3 2 95 0 0 0
|
|
||||||
0 0 0 380144 102396 2587408 0 0 6 12 1267 1088 3 2 96 0 0 0
|
|
||||||
0 0 0 388140 102396 2587564 0 0 10 3 1173 1082 3 1 96 0 0 0
|
|
||||||
0 0 0 392252 102396 2587740 0 0 8 64 1138 1031 2 2 96 0 0 0
|
|
||||||
0 0 0 405924 102396 2587864 0 0 2 13 1009 916 2 1 97 0 0 0
|
|
||||||
0 0 0 407300 102396 2587996 0 0 11 6 935 883 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 418404 102396 2588108 0 0 5 44 1004 874 2 1 96 0 0 0
|
|
||||||
0 0 0 426532 102396 2588212 0 0 2 15 888 826 2 1 97 0 0 0
|
|
||||||
0 0 0 422760 102396 2588340 0 0 10 2 973 937 2 2 96 0 0 0
|
|
||||||
0 0 0 423548 102396 2588488 0 0 0 51 961 867 2 1 96 0 0 0
|
|
||||||
0 0 0 431108 102396 2588572 0 0 11 7 718 664 1 1 97 0 0 0
|
|
||||||
0 0 0 436400 102396 2588572 0 0 11 5 876 813 2 1 97 0 0 0
|
|
||||||
0 0 0 443164 102396 2588664 0 0 0 28 820 690 2 1 97 0 0 0
|
|
||||||
0 0 0 463508 102396 2588620 0 0 0 248 647 579 1 1 98 0 0 0
|
|
||||||
0 0 0 471572 102396 2588680 0 0 0 2 648 614 1 1 98 0 0 0
|
|
||||||
0 0 0 453944 102396 2588804 0 0 2 30 899 854 2 2 96 0 0 0
|
|
||||||
0 0 0 456356 102396 2588824 0 0 0 19 741 679 1 1 98 0 0 0
|
|
||||||
0 0 0 467424 102396 2588860 0 0 2 2 677 640 1 1 98 0 0 0
|
|
||||||
0 0 0 477976 102396 2588920 0 0 3 26 696 622 1 1 98 0 0 0
|
|
||||||
0 0 0 480552 102396 2589000 0 0 3 11 720 686 1 1 97 0 0 0
|
|
||||||
0 0 0 482612 102396 2589080 0 0 5 2 667 647 1 1 98 0 0 0
|
|
||||||
0 0 0 443612 102396 2589172 0 0 6 27 811 799 2 2 96 0 0 0
|
|
||||||
0 0 0 453872 102396 2589252 0 0 0 15 763 725 2 1 97 0 0 0
|
|
||||||
0 0 0 466928 102396 2589312 0 0 0 7 753 737 2 1 97 0 0 0
|
|
||||||
0 0 0 466700 102396 2589392 0 0 0 26 803 731 1 1 97 0 0 0
|
|
||||||
0 0 0 470920 102396 2589536 0 0 2 339 977 847 2 2 96 0 0 0
|
|
||||||
0 0 0 481448 102396 2589548 0 0 0 7 548 529 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 493304 102396 2589588 0 0 0 25 497 471 1 1 98 0 0 0
|
|
||||||
0 0 0 514356 102396 2589648 0 0 0 425 577 562 1 1 98 0 0 0
|
|
||||||
0 0 0 519144 102396 2589680 0 0 0 7 599 569 1 1 98 0 0 0
|
|
||||||
0 0 0 513096 102396 2589744 0 0 0 18 583 538 1 1 98 0 0 0
|
|
||||||
0 0 0 515584 102396 2589764 0 0 0 9 587 556 1 1 98 0 0 0
|
|
||||||
0 0 0 522380 102396 2589780 0 0 18 2 460 395 1 1 98 0 0 0
|
|
||||||
0 0 0 529060 102396 2589852 0 0 26 16 550 481 1 1 98 0 0 0
|
|
||||||
0 0 0 512932 102396 2589916 0 0 2 11 590 589 1 1 97 0 0 0
|
|
||||||
1 0 0 515004 102396 2589952 0 0 3 5 561 528 1 1 98 0 0 0
|
|
||||||
0 0 0 520984 102396 2590040 0 0 0 19 551 460 1 1 98 0 0 0
|
|
||||||
0 0 0 532676 102396 2590048 0 0 0 6 364 340 1 1 99 0 0 0
|
|
||||||
0 0 0 547756 102396 2590108 0 0 0 2 409 351 1 1 99 0 0 0
|
|
||||||
0 0 0 544336 102396 2590144 0 0 2 14 448 439 1 1 98 0 0 0
|
|
||||||
0 0 0 557720 102396 2590172 0 0 0 299 393 371 1 1 98 0 0 0
|
|
||||||
0 0 0 556964 102396 2590220 0 0 3 6 402 376 1 1 99 0 0 0
|
|
||||||
0 0 0 554744 102396 2590292 0 0 0 3 484 461 1 1 98 0 0 0
|
|
||||||
0 0 0 553968 102396 2590336 0 0 0 16 410 355 1 1 98 0 0 0
|
|
||||||
0 0 0 545904 102396 2590384 0 0 0 10 434 412 1 1 99 0 0 0
|
|
||||||
0 0 0 542880 102396 2590428 0 0 8 1 497 509 1 1 98 0 0 0
|
|
||||||
0 0 0 545772 102396 2590476 0 0 0 16 452 414 1 1 98 0 0 0
|
|
||||||
1 0 0 543756 102396 2590524 0 0 0 6 487 430 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 485328 102396 2617036 0 0 0 422 1129 941 11 5 84 0 0 0
|
|
||||||
0 0 0 487844 102396 2590532 0 0 0 12098 1343 789 28 5 67 1 0 0
|
|
||||||
0 0 0 525176 102396 2590556 0 0 0 1 488 457 1 1 98 0 0 0
|
|
||||||
0 0 0 524672 102396 2590608 0 0 0 2345 514 500 1 1 98 0 0 0
|
|
||||||
0 0 0 527624 102396 2590656 0 0 0 13702 561 545 1 1 98 1 0 0
|
|
||||||
0 0 0 529016 102396 2590708 0 0 6 1 486 473 1 1 98 0 0 0
|
|
||||||
0 0 0 531848 102396 2590776 0 0 45 66 571 528 1 1 98 0 0 0
|
|
||||||
0 0 0 531344 102396 2590832 0 0 2 18 523 438 1 1 99 0 0 0
|
|
||||||
0 0 0 540584 102396 2590860 0 0 0 1 367 344 1 1 99 0 0 0
|
|
||||||
0 0 0 548396 102396 2590900 0 0 69 4 428 415 1 1 98 0 0 0
|
|
||||||
0 0 0 541872 102396 2590940 0 0 0 14 436 424 1 1 99 0 0 0
|
|
||||||
0 0 0 554904 102396 2590972 0 0 3 2 369 342 1 1 99 0 0 0
|
|
||||||
0 0 0 559456 102396 2591012 0 0 0 8 381 369 1 1 99 0 0 0
|
|
||||||
0 0 0 558448 102396 2591028 0 0 0 11 367 349 1 1 99 0 0 0
|
|
||||||
0 0 0 570424 102396 2591052 0 0 2 2 320 299 1 1 99 0 0 0
|
|
||||||
0 0 0 567932 102396 2591104 0 0 0 5 386 338 1 1 99 0 0 0
|
|
||||||
0 0 0 568640 102396 2591124 0 0 0 10 324 321 1 0 99 0 0 0
|
|
||||||
0 0 0 571916 102396 2591160 0 0 0 2 412 397 1 1 99 0 0 0
|
|
||||||
0 0 0 574272 102400 2591184 0 0 0 8 308 296 0 0 99 0 0 0
|
|
||||||
0 0 0 589252 102400 2591220 0 0 42 9 326 277 1 1 99 0 0 0
|
|
||||||
0 0 0 583400 102400 2591236 0 0 0 2 253 245 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 585496 102400 2591284 0 0 0 7 342 293 1 0 99 0 0 0
|
|
||||||
0 0 0 592572 102400 2591324 0 0 0 13 266 238 0 0 99 0 0 0
|
|
||||||
0 0 0 598420 102400 2591368 0 0 6 3 306 273 0 0 99 0 0 0
|
|
||||||
0 0 0 598376 102400 2591384 0 0 0 13 231 213 0 0 99 0 0 0
|
|
||||||
0 0 0 597620 102400 2591444 0 0 16 245 322 271 1 1 99 0 0 0
|
|
||||||
0 0 0 598416 102400 2591492 0 0 0 0 259 210 1 1 99 0 0 0
|
|
||||||
0 0 0 598416 102400 2591500 0 0 0 4 144 150 0 0 100 0 0 0
|
|
||||||
0 0 0 596652 102400 2591540 0 0 18 15 267 229 0 0 99 0 0 0
|
|
||||||
0 0 0 605664 102400 2591544 0 0 5 1 161 174 0 0 100 0 0 0
|
|
||||||
0 0 0 605924 102400 2591580 0 0 21 8 246 236 0 1 99 0 0 0
|
|
||||||
0 0 0 606872 102400 2591580 0 0 0 12 158 165 0 0 99 0 0 0
|
|
||||||
0 0 0 606872 102400 2591592 0 0 0 0 179 172 0 0 99 0 0 0
|
|
||||||
0 0 0 606872 102400 2591616 0 0 8 298 197 193 0 0 100 0 0 0
|
|
||||||
0 0 0 604400 102400 2591656 0 0 2 15 231 208 1 0 99 0 0 0
|
|
||||||
0 0 0 608520 102400 2591676 0 0 24 9 172 154 0 0 99 0 0 0
|
|
||||||
0 0 0 608520 102400 2591684 0 0 0 0 119 129 0 0 100 0 0 0
|
|
||||||
0 0 0 608520 102400 2591692 0 0 0 6 178 203 0 0 99 0 0 0
|
|
||||||
0 0 0 608520 102400 2591704 0 0 10 4 158 163 0 0 100 0 0 0
|
|
||||||
0 0 0 603536 102400 2591748 0 0 0 2 226 185 1 0 99 0 0 0
|
|
||||||
0 0 0 606112 102400 2591760 0 0 0 9 185 178 0 0 99 0 0 0
|
|
||||||
0 0 0 603592 102400 2591800 0 0 2 7 206 190 1 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 605560 102400 2591840 0 0 0 2 247 229 0 1 99 0 0 0
|
|
||||||
0 0 0 603796 102400 2591880 0 0 13 5 239 216 1 0 99 0 0 0
|
|
||||||
0 0 0 603572 102400 2591912 0 0 0 14 206 171 0 0 99 0 0 0
|
|
||||||
0 0 0 604968 102400 2591952 0 0 2 1 253 188 1 0 99 0 0 0
|
|
||||||
0 0 0 597024 102400 2591972 0 0 16 10 204 199 0 0 99 0 0 0
|
|
||||||
0 0 0 594756 102400 2592008 0 0 2 1 232 193 0 0 99 0 0 0
|
|
||||||
0 0 0 601056 102400 2592068 0 0 0 10 354 293 1 1 98 0 0 0
|
|
||||||
0 0 0 598320 102400 2592096 0 0 6 9 259 258 0 1 99 0 0 0
|
|
||||||
0 0 0 601596 102400 2592108 0 0 6 2 231 236 0 0 99 0 0 0
|
|
||||||
0 0 0 599768 102400 2592120 0 0 0 411 177 169 0 0 100 0 0 0
|
|
||||||
0 0 0 611880 102400 2592140 0 0 3 12 155 151 0 0 99 0 0 0
|
|
||||||
0 0 0 602332 102400 2592164 0 0 0 1 285 246 1 1 99 0 0 0
|
|
||||||
0 0 0 598048 102400 2592252 0 0 0 12 319 241 1 1 99 0 0 0
|
|
||||||
0 0 0 600824 102400 2592260 0 0 0 292 167 161 0 0 99 0 0 0
|
|
||||||
0 0 0 610780 102400 2592268 0 0 0 0 160 154 0 0 100 0 0 0
|
|
||||||
0 0 0 609676 102400 2592300 0 0 3 4 281 232 0 0 99 0 0 0
|
|
||||||
0 0 0 603376 102400 2592316 0 0 8 10 221 194 0 0 99 0 0 0
|
|
||||||
0 0 0 603176 102400 2592344 0 0 0 1 237 218 0 0 99 0 0 0
|
|
||||||
0 0 0 601612 102400 2592364 0 0 0 1 188 167 0 0 99 0 0 0
|
|
||||||
0 0 0 608648 102400 2592400 0 0 0 14 234 218 0 0 99 0 0 0
|
|
||||||
0 0 0 609632 102400 2592420 0 0 0 0 168 153 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 603600 102400 2592432 0 0 0 1 226 236 0 1 99 0 0 0
|
|
||||||
0 0 0 603600 102400 2592452 0 0 8 18 234 229 0 0 99 0 0 0
|
|
||||||
0 0 0 609684 102400 2592472 0 0 3 0 217 231 0 0 99 0 0 0
|
|
||||||
0 0 0 606660 102400 2592496 0 0 2 1 254 208 1 0 99 0 0 0
|
|
||||||
0 0 0 605904 102400 2592536 0 0 0 11 218 186 0 0 99 0 0 0
|
|
||||||
0 0 0 610068 102400 2592552 0 0 0 0 192 193 0 0 99 0 0 0
|
|
||||||
0 0 0 609884 102400 2592576 0 0 0 1 214 175 1 0 99 0 0 0
|
|
||||||
0 0 0 611720 102400 2592648 0 0 0 18 305 243 1 1 98 0 0 0
|
|
||||||
0 0 0 613548 102400 2592664 0 0 2 2 152 146 0 0 99 0 0 0
|
|
||||||
0 0 0 609092 102400 2592688 0 0 2 1 238 235 1 1 99 0 0 0
|
|
||||||
0 0 0 605816 102400 2592808 0 0 2 24 496 339 1 1 98 0 0 0
|
|
||||||
0 0 0 608608 102400 2592852 0 0 3 0 243 201 1 0 99 0 0 0
|
|
||||||
0 0 0 608160 102400 2592968 0 0 46 2 387 278 1 1 98 0 0 0
|
|
||||||
0 0 0 615400 102400 2592996 0 0 0 182 243 196 0 0 99 0 0 0
|
|
||||||
0 0 0 612880 102400 2593096 0 0 2 1 356 225 1 0 98 0 0 0
|
|
||||||
0 0 0 612108 102400 2593160 0 0 3 2 279 208 1 1 99 0 0 0
|
|
||||||
0 0 0 608580 102400 2593208 0 0 0 10 275 220 1 0 99 0 0 0
|
|
||||||
0 0 0 611384 102400 2593268 0 0 30 24 294 243 1 1 99 0 0 0
|
|
||||||
0 0 0 608612 102400 2593332 0 0 18 0 368 281 1 1 99 0 0 0
|
|
||||||
0 0 0 600300 102400 2593476 0 0 30 9 485 358 1 1 98 0 0 0
|
|
||||||
0 0 0 589212 102400 2593556 0 0 8 32 372 317 1 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 590272 102400 2593608 0 0 10 1 333 276 1 1 99 0 0 0
|
|
||||||
0 0 0 598336 102400 2593648 0 0 5 315 277 241 0 1 99 0 0 0
|
|
||||||
0 0 0 609036 102400 2593660 0 0 0 10 175 169 0 0 99 0 0 0
|
|
||||||
0 0 0 610856 102400 2593672 0 0 13 2 191 188 0 0 99 0 0 0
|
|
||||||
0 0 0 607076 102400 2593700 0 0 13 8 236 252 0 0 99 0 0 0
|
|
||||||
0 0 0 591192 102400 2593760 0 0 11 13 373 307 1 1 99 0 0 0
|
|
||||||
0 0 0 588420 102400 2593828 0 0 10 1 360 289 1 1 99 0 0 0
|
|
||||||
0 0 0 586360 102400 2593920 0 0 21 11 428 330 1 1 98 0 0 0
|
|
||||||
0 0 0 587976 102400 2593996 0 0 0 24 376 294 1 1 98 0 0 0
|
|
||||||
0 0 0 585728 102400 2594032 0 0 3 4 321 310 1 0 99 0 0 0
|
|
||||||
0 0 0 583648 102400 2594084 0 0 5 7 342 294 1 1 99 0 0 0
|
|
||||||
0 0 0 578848 102400 2594136 0 0 10 16 397 368 1 1 99 0 0 0
|
|
||||||
0 0 0 578848 102400 2594192 0 0 2 0 351 329 1 1 99 0 0 0
|
|
||||||
0 0 0 588460 102400 2594208 0 0 3 8 236 230 0 0 99 0 0 0
|
|
||||||
0 0 0 589364 102400 2594288 0 0 0 2 347 258 1 0 98 0 0 0
|
|
||||||
0 0 0 584324 102400 2594340 0 0 3 21 354 327 1 1 98 0 0 0
|
|
||||||
0 0 0 581552 102404 2594376 0 0 6 5 303 272 0 0 99 0 0 0
|
|
||||||
0 0 0 581552 102404 2594432 0 0 8 0 315 274 1 1 99 0 0 0
|
|
||||||
0 0 0 584492 102404 2594488 0 0 14 200 361 348 1 0 99 0 0 0
|
|
||||||
0 0 0 585436 102404 2594524 0 0 2 7 309 301 1 0 99 0 0 0
|
|
||||||
0 0 0 585436 102404 2594592 0 0 0 6 378 324 1 0 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 585436 102404 2594636 0 0 5 24 351 326 1 1 99 0 0 0
|
|
||||||
0 0 0 587728 102404 2594692 0 0 3 452 531 464 1 2 97 0 0 0
|
|
||||||
0 0 0 582240 102404 2594748 0 0 0 1 412 328 1 1 98 0 0 0
|
|
||||||
0 0 0 587260 102404 2594792 0 0 2 29 389 305 1 1 98 0 0 0
|
|
||||||
0 0 0 594504 102404 2594848 0 0 0 12 412 308 1 1 98 0 0 0
|
|
||||||
0 0 0 591004 102404 2594936 0 0 0 0 445 334 1 1 99 0 0 0
|
|
||||||
0 0 0 579160 102404 2594996 0 0 3 22 467 312 1 1 98 0 0 0
|
|
||||||
0 0 0 579160 102404 2595076 0 0 0 11 427 291 1 1 98 0 0 0
|
|
||||||
0 0 0 581744 102404 2595100 0 0 3 0 232 198 0 0 99 0 0 0
|
|
||||||
0 0 0 587504 102404 2595156 0 0 19 15 368 270 1 0 98 0 0 0
|
|
||||||
0 0 0 593328 102404 2595184 0 0 0 302 290 245 0 1 99 0 0 0
|
|
||||||
0 0 0 594152 102404 2595216 0 0 6 2 253 238 0 0 99 0 0 0
|
|
||||||
0 0 0 587600 102404 2595324 0 0 3 18 503 306 1 1 98 0 0 0
|
|
||||||
0 0 0 583568 102404 2595388 0 0 32 6 408 326 1 1 98 0 0 0
|
|
||||||
0 0 0 587388 102404 2595436 0 0 6 3 391 276 1 1 99 0 0 0
|
|
||||||
0 0 0 585624 102404 2595472 0 0 6 17 357 263 0 0 99 0 0 0
|
|
||||||
0 0 0 585372 102404 2595520 0 0 22 460 412 331 1 1 98 0 0 0
|
|
||||||
0 0 0 568740 102404 2595656 0 0 2 6 621 434 2 1 97 0 0 0
|
|
||||||
0 0 0 571476 102404 2595724 0 0 18 26 558 406 1 1 98 0 0 0
|
|
||||||
0 0 0 554880 102404 2595896 0 0 22 9 758 551 3 1 96 0 0 0
|
|
||||||
0 0 0 535028 102404 2596084 0 0 99 2 892 634 2 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 533208 102404 2596180 0 0 21 55 572 463 1 1 98 0 0 0
|
|
||||||
0 0 0 537236 102404 2596312 0 0 22 176 799 469 2 1 97 0 0 0
|
|
||||||
0 0 0 542016 102404 2596368 0 0 6 3 457 316 2 1 98 0 0 0
|
|
||||||
0 0 0 542120 102404 2596524 0 0 10 42 717 524 2 1 97 0 0 0
|
|
||||||
0 0 0 544412 102404 2596628 0 0 35 1 594 546 1 1 98 0 0 0
|
|
||||||
0 0 0 537356 102404 2596712 0 0 38 2 507 457 1 1 98 0 0 0
|
|
||||||
0 0 0 529172 102404 2596868 0 0 24 44 749 562 2 1 96 0 0 0
|
|
||||||
0 0 0 526772 102404 2596980 0 0 0 3 546 414 1 1 98 0 0 0
|
|
||||||
0 0 0 523412 102404 2597132 0 0 19 165 680 590 2 1 97 0 0 0
|
|
||||||
0 0 0 527848 102404 2597196 0 0 22 59 783 1049 2 2 96 0 0 0
|
|
||||||
0 0 0 522872 102404 2597308 0 0 32 485 554 451 1 1 98 0 0 0
|
|
||||||
0 0 0 522396 102404 2597412 0 0 2 2 483 381 1 1 98 0 0 0
|
|
||||||
0 0 0 539096 102404 2597468 0 0 11 37 489 487 1 1 98 0 0 0
|
|
||||||
0 0 0 532388 102404 2597648 0 0 29 9 777 596 2 2 96 0 0 0
|
|
||||||
0 0 0 528136 102404 2597824 0 0 26 5 769 617 2 1 97 0 0 0
|
|
||||||
0 0 0 507896 102404 2598048 0 0 56 9 951 793 2 2 96 0 0 0
|
|
||||||
0 0 0 491332 102404 2598192 0 0 24 62 785 698 2 1 97 0 0 0
|
|
||||||
0 0 0 489064 102404 2598352 0 0 131 8 828 710 2 1 97 0 0 0
|
|
||||||
0 0 0 480208 102404 2598508 0 0 48 0 820 682 2 1 96 0 0 0
|
|
||||||
0 0 0 479744 102404 2598624 0 0 16 274 696 559 1 1 97 0 0 0
|
|
||||||
0 0 0 487808 102404 2598816 0 0 120 7 910 807 2 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 485596 102404 2598952 0 0 32 2 847 726 1 1 97 0 0 0
|
|
||||||
0 0 0 481844 102404 2599060 0 0 13 54 815 673 1 1 97 0 0 0
|
|
||||||
0 0 0 488004 102404 2599144 0 0 21 6 660 639 1 1 97 0 0 0
|
|
||||||
0 0 0 491852 102404 2599248 0 0 50 3 756 629 1 1 97 0 0 0
|
|
||||||
0 0 0 487820 102404 2599428 0 0 27 42 921 796 2 1 96 0 0 0
|
|
||||||
0 0 0 497612 102404 2599540 0 0 45 1589 721 730 1 1 97 0 0 0
|
|
||||||
0 0 0 515784 102404 2599648 0 0 21 4 686 613 2 1 97 0 0 0
|
|
||||||
0 0 0 467536 102404 2599836 0 0 14 40 950 826 2 2 95 0 0 0
|
|
||||||
0 0 0 466700 102404 2599984 0 0 16 12 798 694 2 1 97 0 0 0
|
|
||||||
0 0 0 469916 102404 2600112 0 0 24 1 859 776 2 1 97 0 0 0
|
|
||||||
0 0 0 468656 102404 2600248 0 0 48 42 889 844 2 1 96 0 0 0
|
|
||||||
0 0 0 471808 102404 2600348 0 0 14 16 771 666 1 1 97 0 0 0
|
|
||||||
0 0 0 475864 102404 2600472 0 0 114 3 819 787 2 1 97 0 0 0
|
|
||||||
0 0 0 469564 102404 2600620 0 0 13 38 895 868 3 2 96 0 0 0
|
|
||||||
0 0 0 456488 102404 2600796 0 0 262 13 1099 1015 2 2 95 1 0 0
|
|
||||||
0 0 0 457400 102404 2600972 0 0 2 0 930 797 3 1 96 0 0 0
|
|
||||||
0 0 0 468244 102404 2601072 0 0 5 50 747 686 1 1 97 0 0 0
|
|
||||||
0 0 0 472708 102404 2601216 0 0 168 16 915 819 2 1 96 0 0 0
|
|
||||||
0 0 0 461896 102404 2601388 0 0 16 1 1071 1048 3 2 95 0 0 0
|
|
||||||
0 0 0 458620 102404 2601572 0 0 29 43 1037 934 3 1 96 0 0 0
|
|
||||||
0 0 0 458620 102404 2601692 0 0 5 21 907 865 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 416452 102404 2601952 0 0 37 221 1300 1120 4 3 93 0 0 0
|
|
||||||
0 0 0 410656 102404 2602064 0 0 6 47 951 851 3 1 96 0 0 0
|
|
||||||
0 0 0 410432 102404 2602248 0 0 0 23 918 757 2 1 96 0 0 0
|
|
||||||
0 0 0 413080 102404 2602468 0 0 37 170 1167 1075 3 2 95 0 0 0
|
|
||||||
0 0 0 412516 102404 2602636 0 0 14 356 1009 918 2 1 96 0 0 0
|
|
||||||
0 0 0 421368 102404 2602832 0 0 3 7 1093 976 3 2 95 0 0 0
|
|
||||||
0 0 0 421620 102404 2603004 0 0 11 3 1020 978 3 1 96 0 0 0
|
|
||||||
0 0 0 427832 102404 2603164 0 0 13 60 982 922 2 1 96 0 0 0
|
|
||||||
0 0 0 428700 102404 2603380 0 0 53 11 1072 942 3 2 95 0 0 0
|
|
||||||
0 0 0 427812 102404 2603608 0 0 13 3 1078 833 3 2 95 0 0 0
|
|
||||||
0 0 0 423052 102404 2603804 0 0 16 65 1100 984 3 2 95 0 0 0
|
|
||||||
0 0 0 425148 102404 2604036 0 0 22 7 1175 916 3 2 95 0 0 0
|
|
||||||
0 0 0 426788 102404 2604244 0 0 62 2 1115 927 3 2 95 0 0 0
|
|
||||||
5 0 0 431484 102404 2604448 0 0 3 73 1096 972 3 2 95 0 0 0
|
|
||||||
0 0 0 387888 102404 2604656 0 0 14 4 1209 1096 3 3 94 0 0 0
|
|
||||||
0 0 0 385872 102404 2604848 0 0 6 10 1104 953 2 1 96 0 0 0
|
|
||||||
0 0 0 381840 102404 2604988 0 0 5 6 956 841 2 1 97 0 0 0
|
|
||||||
0 0 0 386348 102404 2605312 0 0 77 555 1353 1108 3 2 94 0 0 0
|
|
||||||
0 0 0 386348 102404 2605548 0 0 8 9 1096 899 3 1 95 0 0 0
|
|
||||||
0 0 0 401400 102404 2605728 0 0 34 5 1045 938 2 2 96 0 0 0
|
|
||||||
0 0 0 408752 102404 2605900 0 0 34 78 1049 903 2 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 372016 102404 2606148 0 0 83 10 1257 1161 4 3 93 0 0 0
|
|
||||||
0 0 0 367892 102404 2606320 0 0 24 2 1186 1022 3 2 95 0 0 0
|
|
||||||
0 0 0 371820 102404 2606516 0 0 139 70 1266 1207 3 2 94 0 0 0
|
|
||||||
0 0 0 378664 102404 2606648 0 0 34 11 1041 948 2 1 96 0 0 0
|
|
||||||
0 0 0 385928 102404 2606772 0 0 88 2 993 919 2 1 96 0 0 0
|
|
||||||
0 0 0 397836 102404 2606956 0 0 27 466 1184 1056 3 2 95 0 0 0
|
|
||||||
0 0 0 387560 102404 2607156 0 0 56 12 1343 1214 3 2 94 0 0 0
|
|
||||||
0 0 0 387560 102404 2607340 0 0 40 4 1271 1215 3 2 95 0 0 0
|
|
||||||
0 0 0 390840 102404 2607508 0 0 40 67 1084 950 2 1 96 0 0 0
|
|
||||||
0 0 0 377076 102404 2607800 0 0 46 8 1375 1163 3 2 94 0 0 0
|
|
||||||
0 0 0 372500 102404 2607976 0 0 30 2 1132 935 3 1 95 0 0 0
|
|
||||||
1 0 0 373500 102404 2608248 0 0 34 68 1229 1042 3 2 95 0 0 0
|
|
||||||
0 0 0 352724 102404 2608576 0 0 56 11 1493 1232 4 3 93 0 0 0
|
|
||||||
0 0 0 350204 102404 2608744 0 0 88 4 1222 1104 2 2 96 0 0 0
|
|
||||||
0 0 0 346932 102404 2609052 0 0 22 93 1423 1185 3 2 95 0 0 0
|
|
||||||
0 0 0 348532 102404 2609268 0 0 40 3 1248 1090 3 2 95 0 0 0
|
|
||||||
1 0 0 348532 102404 2609536 0 0 6 237 1424 1291 4 2 94 0 0 0
|
|
||||||
0 0 0 347124 102404 2609828 0 0 184 76 1577 1478 4 3 93 0 0 0
|
|
||||||
0 0 0 307920 102404 2610084 0 0 26 1194 1593 1599 4 3 93 0 0 0
|
|
||||||
0 0 0 304896 102404 2610248 0 0 14 15 1279 1175 3 2 95 0 0 0
|
|
||||||
0 0 0 310612 102404 2610460 0 0 10 64 1335 1254 3 2 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 325012 102404 2610688 0 0 22 10 1410 1272 3 2 95 0 0 0
|
|
||||||
0 0 0 332160 102404 2610944 0 0 152 10 1413 1279 3 2 95 0 0 0
|
|
||||||
0 0 0 321936 102404 2611216 0 0 29 68 1672 1542 4 3 94 0 0 0
|
|
||||||
0 0 0 311832 102404 2611444 0 0 162 13 1489 1400 3 2 95 0 0 0
|
|
||||||
0 0 0 308052 102404 2611676 0 0 16 15 1419 1322 4 2 94 0 0 0
|
|
||||||
0 0 0 303768 102404 2611952 0 0 53 70 1549 1523 4 2 93 0 0 0
|
|
||||||
0 0 0 252736 102404 2612336 0 0 32 15 1840 1671 5 4 91 0 0 0
|
|
||||||
0 0 0 235232 102404 2612628 0 0 66 19 1692 1545 4 2 94 0 0 0
|
|
||||||
0 0 0 234608 102404 2612868 0 0 38 85 1614 1458 3 2 94 0 0 0
|
|
||||||
0 0 0 236116 102404 2613072 0 0 16 18 1347 1277 3 2 95 0 0 0
|
|
||||||
0 0 0 246200 102404 2613348 0 0 54 22 1718 1593 7 4 89 0 0 0
|
|
||||||
0 0 0 245960 102408 2613724 0 0 17 871 1488 1399 4 2 93 0 0 0
|
|
||||||
4 0 0 249744 102408 2613936 0 0 6 4 1459 1343 3 2 94 0 0 0
|
|
||||||
2 0 0 264824 102408 2614184 0 0 69 26 1421 1301 3 2 95 0 0 0
|
|
||||||
0 0 0 269120 102408 2614428 0 0 30 6 1558 1422 3 2 94 0 0 0
|
|
||||||
0 0 0 274196 102408 2614608 0 0 13 67 1351 1347 3 2 95 0 0 0
|
|
||||||
2 0 0 280208 102408 2614844 0 0 16 9 1451 1349 4 2 94 0 0 0
|
|
||||||
0 0 0 276908 102408 2615060 0 0 14 14 1390 1272 3 2 95 0 0 0
|
|
||||||
0 0 0 270508 102408 2615368 0 0 13 63 1698 1652 4 2 93 0 0 0
|
|
||||||
0 0 0 264420 102408 2615628 0 0 8 15 1619 1513 3 2 94 0 0 0
|
|
||||||
0 0 0 260640 102408 2615872 0 0 19 15 1606 1591 4 2 94 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 268228 102408 2616104 0 0 11 75 1635 1556 4 2 94 0 0 0
|
|
||||||
0 0 0 271572 102408 2616384 0 0 66 7 1769 1783 4 3 92 0 0 0
|
|
||||||
0 0 0 274732 102408 2616624 0 0 10 17 1570 1540 4 2 93 0 1 0
|
|
||||||
0 0 0 278288 102408 2616860 0 0 5 72 1642 1580 4 2 93 0 0 0
|
|
||||||
0 0 0 278288 102408 2617080 0 0 42 326 1631 1558 4 2 93 0 0 0
|
|
||||||
0 0 0 262412 102408 2617272 0 0 45 16 1355 1265 3 2 95 0 0 0
|
|
||||||
0 0 0 264392 102408 2617436 0 0 192 1398 1366 1366 3 2 94 1 0 0
|
|
||||||
0 0 0 276136 102408 2617680 0 0 38 5 1453 1277 3 2 94 0 1 0
|
|
||||||
0 0 0 290028 102408 2617832 0 0 6 14 1201 1131 3 2 96 0 0 0
|
|
||||||
0 0 0 295016 102408 2618040 0 0 53 70 1441 1360 3 2 94 0 0 0
|
|
||||||
0 0 0 294320 102408 2618248 0 0 29 3 1321 1151 3 2 95 0 0 0
|
|
||||||
0 0 0 303768 102408 2618532 0 0 53 13 1594 1497 4 2 93 0 0 0
|
|
||||||
1 0 0 310048 102412 2618792 0 0 50 70 1573 1491 4 2 94 0 0 0
|
|
||||||
0 0 0 309928 102412 2619048 0 0 19 7 1481 1461 3 2 94 0 0 0
|
|
||||||
0 0 0 313380 102412 2619292 0 0 32 27 1522 1414 3 2 94 0 0 0
|
|
||||||
0 0 0 315168 102412 2619572 0 0 210 76 1646 1536 4 3 93 0 0 0
|
|
||||||
0 0 0 316456 102412 2619976 0 0 13 5 1782 1622 5 3 91 0 1 0
|
|
||||||
0 0 0 310408 102412 2620232 0 0 56 18 1474 1357 3 2 94 0 0 0
|
|
||||||
0 0 0 308896 102412 2620444 0 0 13 86 1377 1164 2 2 95 0 0 0
|
|
||||||
0 0 0 317684 102412 2620596 0 0 2 6 1151 1053 2 2 95 0 0 0
|
|
||||||
1 0 0 311384 102412 2620828 0 0 5 11 1317 1149 3 2 94 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 308480 102412 2621044 0 0 10 70 1276 1119 2 2 96 0 0 0
|
|
||||||
0 0 0 310048 102412 2621220 0 0 43 8 1249 1176 2 2 95 0 0 0
|
|
||||||
0 0 0 321000 102412 2621416 0 0 37 12 1268 1191 3 2 95 0 0 0
|
|
||||||
1 0 0 318480 102412 2621604 0 0 77 53 1292 1253 3 2 95 0 0 0
|
|
||||||
1 0 0 318480 102412 2621748 0 0 3 56 1125 1068 2 2 96 0 0 0
|
|
||||||
0 0 0 328288 102412 2621896 0 0 16 15 1083 1006 2 2 96 0 0 0
|
|
||||||
0 0 0 342828 102412 2622084 0 0 19 47 1235 1092 3 2 95 0 0 0
|
|
||||||
0 0 0 346936 102412 2622304 0 0 35 9 1279 1198 3 2 95 0 0 0
|
|
||||||
0 0 0 334084 102412 2622512 0 0 5 9 1280 1190 3 2 95 0 0 0
|
|
||||||
0 0 0 333832 102412 2622696 0 0 10 71 1254 1199 3 2 95 0 0 0
|
|
||||||
0 0 0 336296 102412 2622936 0 0 3 3 1381 1169 3 2 94 0 0 0
|
|
||||||
0 0 0 336144 102412 2623092 0 0 11 12 1154 1078 3 2 95 0 0 0
|
|
||||||
0 0 0 337060 102412 2623256 0 0 3 52 1199 1117 3 2 94 0 0 0
|
|
||||||
1 0 0 334700 102412 2623380 0 0 24 469 1160 1098 2 2 95 0 0 0
|
|
||||||
0 0 0 334700 102412 2623612 0 0 202 18 1341 1241 3 2 94 0 0 0
|
|
||||||
0 0 0 318828 102412 2623896 0 0 11 2 1431 1237 3 3 94 0 1 0
|
|
||||||
0 0 0 317060 102412 2624032 0 0 6 73 1063 995 2 2 96 0 0 0
|
|
||||||
0 0 0 321412 102412 2624232 0 0 3 4 1278 1151 3 2 95 0 0 0
|
|
||||||
0 0 0 325188 102412 2624356 0 0 34 565 1197 1185 2 2 95 0 0 0
|
|
||||||
0 0 0 336792 102412 2624512 0 0 14 45 1184 1075 2 2 96 0 0 0
|
|
||||||
0 0 0 339740 102412 2624684 0 0 6 3 1333 1265 3 2 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 339740 102412 2624868 0 0 26 19 1305 1216 3 2 95 0 0 0
|
|
||||||
0 0 0 342968 102412 2625000 0 0 2 46 1191 1186 3 2 96 0 0 0
|
|
||||||
0 0 0 348564 102412 2625200 0 0 2 2 1209 1148 3 2 95 0 0 0
|
|
||||||
0 0 0 353236 102412 2625352 0 0 29 15 1108 1054 3 2 95 0 0 0
|
|
||||||
0 0 0 355048 102412 2625456 0 0 2 46 972 924 2 2 96 0 0 0
|
|
||||||
0 0 0 360952 102412 2625604 0 0 8 1 1053 961 2 1 96 0 0 0
|
|
||||||
0 0 0 370332 102412 2625724 0 0 37 12 957 931 2 2 96 0 0 0
|
|
||||||
4 0 0 368200 102412 2625892 0 0 18 38 1108 1039 2 2 96 0 0 0
|
|
||||||
0 0 0 365232 102412 2626196 0 0 10 5 1569 1252 7 2 90 0 0 0
|
|
||||||
0 0 0 361776 102412 2626364 0 0 3 13 1190 1109 4 2 94 0 0 0
|
|
||||||
0 0 0 361776 102412 2626488 0 0 46 65 1050 968 2 1 96 0 0 0
|
|
||||||
1 0 0 372392 102412 2626620 0 0 34 2 1028 940 2 1 96 0 0 0
|
|
||||||
0 0 0 381276 102412 2626760 0 0 3 13 943 859 2 1 97 0 0 0
|
|
||||||
0 0 0 382852 102412 2628056 0 0 38 35 1286 1230 3 4 92 0 0 0
|
|
||||||
2 0 0 382852 102412 2628200 0 0 14 2 1103 1067 2 1 96 0 0 0
|
|
||||||
0 0 0 381420 102412 2628372 0 0 8 21 1133 1113 3 2 95 0 0 0
|
|
||||||
0 0 0 378144 102412 2628508 0 0 13 493 1106 1059 2 2 96 0 0 0
|
|
||||||
0 0 0 378144 102412 2628640 0 0 2 1 924 810 2 1 97 0 0 0
|
|
||||||
0 0 0 378144 102412 2628776 0 0 5 14 1034 955 2 2 97 0 0 0
|
|
||||||
0 0 0 380428 102412 2628888 0 0 19 341 908 861 2 1 97 0 0 0
|
|
||||||
0 0 0 381696 102412 2629032 0 0 3 2 1068 1035 2 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 367588 102412 2629200 0 0 5 8 1221 1124 3 2 95 0 0 0
|
|
||||||
0 0 0 373412 102412 2629252 0 0 3 51 1007 968 2 1 97 0 0 0
|
|
||||||
0 0 0 375920 102412 2629416 0 0 8 5 1237 1152 2 2 96 0 0 0
|
|
||||||
0 0 0 384612 102412 2629552 0 0 35 6 1049 990 2 1 97 0 0 0
|
|
||||||
0 0 0 396428 102412 2629608 0 0 6 45 834 734 1 1 97 0 0 0
|
|
||||||
0 0 0 405736 102412 2629576 0 0 80 2 752 731 1 1 97 0 0 0
|
|
||||||
0 0 0 421560 102412 2629652 0 0 19 5 856 761 1 1 97 0 0 0
|
|
||||||
0 0 0 425724 102412 2629716 0 0 0 35 774 742 1 1 97 0 0 0
|
|
||||||
0 0 0 439476 102412 2629764 0 0 5 0 687 613 1 1 98 0 0 0
|
|
||||||
0 0 0 442964 102412 2630016 0 0 2 7 1122 792 5 2 93 0 0 0
|
|
||||||
0 0 0 445256 102412 2630040 0 0 18 43 658 556 1 1 97 0 1 0
|
|
||||||
0 0 0 443492 102412 2630168 0 0 0 1 759 648 2 1 97 0 0 0
|
|
||||||
0 0 0 443256 102412 2630244 0 0 0 3 686 619 1 1 98 0 0 0
|
|
||||||
0 0 0 450592 102412 2630256 0 0 0 36 658 589 1 1 98 0 0 0
|
|
||||||
0 0 0 458656 102412 2630328 0 0 5 2 765 688 1 1 98 0 0 0
|
|
||||||
0 0 0 466720 102412 2630388 0 0 8 6 680 620 1 1 98 0 0 0
|
|
||||||
0 0 0 452652 102412 2630500 0 0 5 7 849 764 2 2 96 0 0 0
|
|
||||||
0 0 0 452652 102412 2630580 0 0 10 27 754 728 1 1 97 0 0 0
|
|
||||||
0 0 0 460968 102412 2630580 0 0 0 1 616 524 1 1 98 0 0 0
|
|
||||||
0 0 0 468568 102412 2630648 0 0 5 15 743 740 2 1 97 0 0 0
|
|
||||||
0 0 0 468776 102412 2630764 0 0 24 26 806 783 1 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 468524 102412 2630828 0 0 0 2 674 682 1 1 98 0 0 0
|
|
||||||
0 0 0 468524 102412 2630868 0 0 2 10 477 431 1 1 98 0 0 0
|
|
||||||
0 0 0 478016 102412 2630820 0 0 0 22 549 509 1 1 98 0 0 0
|
|
||||||
0 0 0 479596 102412 2630828 0 0 2 1 501 480 1 1 98 0 0 0
|
|
||||||
0 0 0 479596 102412 2630828 0 0 0 8 519 479 1 1 98 0 0 0
|
|
||||||
0 0 0 479596 102412 2630856 0 0 0 22 462 413 1 1 99 0 0 0
|
|
||||||
0 0 0 482048 102412 2630908 0 0 0 0 468 391 1 1 98 0 0 0
|
|
||||||
0 0 0 487292 102412 2630948 0 0 2 0 431 340 1 1 99 0 0 0
|
|
||||||
0 0 0 504756 102412 2630980 0 0 0 325 543 488 1 1 98 0 0 0
|
|
||||||
0 0 0 496340 102412 2631152 0 0 2 1 580 543 1 1 97 0 0 0
|
|
||||||
0 0 0 496892 102412 2631132 0 0 0 10 540 539 1 1 98 0 0 0
|
|
||||||
0 0 0 494672 102412 2631180 0 0 2 692 564 524 1 1 98 0 0 0
|
|
||||||
0 0 0 495040 102412 2631216 0 0 0 2 589 555 1 1 98 0 0 0
|
|
||||||
0 0 0 495040 102412 2631252 0 0 0 201 527 500 1 1 98 0 0 0
|
|
||||||
0 0 0 495040 102412 2631292 0 0 0 17 490 454 1 1 99 0 0 0
|
|
||||||
0 0 0 498552 102412 2631340 0 0 2 4 567 522 1 1 98 0 0 0
|
|
||||||
0 0 0 500252 102412 2631380 0 0 0 6 441 408 1 1 99 0 0 0
|
|
||||||
0 0 0 505568 102412 2631396 0 0 0 12 363 340 1 0 99 0 0 0
|
|
||||||
0 0 0 508300 102412 2631416 0 0 0 4 582 578 1 1 97 0 0 0
|
|
||||||
0 0 0 507292 102412 2631468 0 0 0 14 547 516 1 1 98 0 0 0
|
|
||||||
0 0 0 523744 102412 2631508 0 0 0 12 377 345 1 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 531200 102412 2631576 0 0 0 432 551 517 1 1 98 0 0 0
|
|
||||||
0 0 0 516676 102412 2631656 0 0 3 23 670 671 1 2 97 0 0 0
|
|
||||||
0 0 0 514100 102412 2631676 0 0 3 17 390 365 1 1 99 0 0 0
|
|
||||||
0 0 0 512840 102412 2631720 0 0 2 4 356 324 1 1 99 0 0 0
|
|
||||||
0 0 0 510824 102412 2631812 0 0 6 170 611 585 2 1 97 0 0 0
|
|
||||||
0 0 0 509064 102412 2631848 0 0 2 16 406 374 1 1 99 0 0 0
|
|
||||||
0 0 0 516124 102412 2631864 0 0 0 5 450 391 1 1 98 0 0 0
|
|
||||||
0 0 0 515732 102412 2631896 0 0 0 5 400 387 1 1 99 0 0 0
|
|
||||||
0 0 0 516844 102412 2631940 0 0 0 13 417 404 1 1 99 0 0 0
|
|
||||||
0 0 0 520504 102412 2631976 0 0 0 3 402 400 1 1 99 0 0 0
|
|
||||||
0 0 0 527356 102412 2632008 0 0 0 9 372 346 1 1 99 0 0 0
|
|
||||||
0 0 0 528112 102412 2632044 0 0 0 9 391 386 1 1 99 0 0 0
|
|
||||||
0 0 0 528456 102412 2632060 0 0 0 0 261 221 0 0 99 0 0 0
|
|
||||||
0 0 0 535484 102412 2632132 0 0 0 6 419 370 1 1 98 0 0 0
|
|
||||||
2 0 0 535484 102412 2632172 0 0 0 5 398 398 1 1 99 0 0 0
|
|
||||||
0 0 0 527736 102412 2632228 0 0 0 18 495 489 1 1 98 0 0 0
|
|
||||||
0 0 0 527672 102412 2632268 0 0 0 7 398 360 1 1 99 0 0 0
|
|
||||||
0 0 0 531328 102412 2632296 0 0 0 265 327 283 0 1 99 0 0 0
|
|
||||||
0 0 0 538432 102412 2632332 0 0 3 18 343 308 1 1 99 0 0 0
|
|
||||||
0 0 0 553256 102412 2632336 0 0 2 4 293 270 0 0 99 0 0 0
|
|
||||||
0 0 0 547876 102412 2632344 0 0 0 0 325 324 1 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 550572 102412 2632372 0 0 0 7 282 254 0 0 99 0 0 0
|
|
||||||
0 0 0 549312 102412 2632396 0 0 122 11 292 285 1 0 99 0 0 0
|
|
||||||
0 0 0 554400 102412 2632416 0 0 3 2 251 244 0 0 99 0 0 0
|
|
||||||
0 0 0 559528 102412 2632432 0 0 0 7 255 241 0 0 99 0 0 0
|
|
||||||
0 0 0 552472 102412 2632456 0 0 0 5 285 279 0 1 99 0 0 0
|
|
||||||
0 0 0 561668 102412 2632468 0 0 0 4 227 214 0 0 99 0 0 0
|
|
||||||
0 0 0 560912 102412 2632496 0 0 0 9 267 261 0 0 99 0 0 0
|
|
||||||
0 0 0 569660 102412 2632488 0 0 53 7 175 174 0 0 99 0 0 0
|
|
||||||
0 0 0 569700 102412 2632496 0 0 0 2 133 134 0 0 100 0 0 0
|
|
||||||
0 0 0 569700 102412 2632504 0 0 0 3 113 113 0 0 100 0 0 0
|
|
||||||
0 0 0 569700 102412 2632512 0 0 0 5 133 141 0 0 100 0 0 0
|
|
||||||
0 0 0 569196 102412 2632524 0 0 5 2 151 156 0 0 99 0 0 0
|
|
||||||
0 0 0 571364 102412 2632532 0 0 0 3 143 141 0 0 99 0 0 0
|
|
||||||
0 0 0 570860 102412 2632536 0 0 0 8 119 123 0 0 100 0 0 0
|
|
||||||
0 0 0 579684 102412 2632540 0 0 0 1 104 115 0 0 100 0 0 0
|
|
||||||
0 0 0 578868 102412 2632548 0 0 0 0 116 118 0 0 100 0 0 0
|
|
||||||
0 0 0 578364 102412 2632552 0 0 0 6 115 125 0 0 100 0 0 0
|
|
||||||
0 0 0 578588 102412 2632556 0 0 0 0 91 107 0 0 100 0 0 0
|
|
||||||
0 0 0 578588 102412 2632564 0 0 0 1 105 124 0 0 100 0 0 0
|
|
||||||
0 0 0 578588 102412 2632568 0 0 0 6 80 93 0 0 100 0 0 0
|
|
||||||
0 0 0 578588 102412 2632568 0 0 0 0 81 88 0 0 100 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 578588 102412 2632568 0 0 0 1 88 98 0 0 100 0 0 0
|
|
||||||
0 0 0 577580 102412 2632608 0 0 0 10 177 143 0 0 99 0 0 0
|
|
||||||
0 0 0 576832 102412 2632620 0 0 3 0 134 126 0 0 100 0 0 0
|
|
||||||
0 0 0 574052 102412 2632676 0 0 34 9 269 241 1 1 98 0 0 0
|
|
||||||
0 0 0 580396 102412 2632696 0 0 3 10 202 195 0 0 99 0 0 0
|
|
||||||
0 0 0 580144 102412 2632700 0 0 5 2 120 130 0 0 100 0 0 0
|
|
||||||
0 0 0 577040 102412 2632724 0 0 32 0 180 171 0 0 99 0 0 0
|
|
||||||
1 0 0 574540 102412 2632800 0 0 6 266 342 259 1 1 98 0 0 0
|
|
||||||
0 0 0 567088 102412 2632808 0 0 0 0 148 147 0 0 99 0 0 0
|
|
||||||
0 0 0 569824 102412 2632816 0 0 0 1 142 152 0 0 100 0 0 0
|
|
||||||
0 0 0 569824 102412 2632820 0 0 0 10 137 137 0 0 100 0 0 0
|
|
||||||
0 0 0 569824 102412 2632868 0 0 2 1 219 198 1 0 99 0 0 0
|
|
||||||
1 0 0 569068 102412 2632908 0 0 27 1 300 263 1 1 99 0 0 0
|
|
||||||
0 0 0 566800 102412 2632956 0 0 8 18 232 205 1 0 99 0 0 0
|
|
||||||
0 0 0 574572 102412 2632964 0 0 0 1 135 121 0 0 99 0 0 0
|
|
||||||
0 0 0 577916 102412 2632968 0 0 8 0 120 135 0 0 100 0 0 0
|
|
||||||
0 0 0 575656 102412 2632992 0 0 2 6 257 245 1 1 98 0 0 0
|
|
||||||
0 0 0 579816 102412 2633008 0 0 18 5 181 172 0 0 99 0 0 0
|
|
||||||
0 0 0 583232 102412 2633020 0 0 24 1 150 155 0 0 99 0 0 0
|
|
||||||
0 0 0 582484 102412 2633028 0 0 0 5 174 163 0 0 99 0 0 0
|
|
||||||
0 0 0 580004 102412 2633064 0 0 5 6 184 199 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 578424 102412 2633076 0 0 2 1 185 188 0 0 99 0 0 0
|
|
||||||
0 0 0 578504 102412 2633092 0 0 5 6 169 183 0 0 99 0 0 0
|
|
||||||
0 0 0 578504 102412 2633100 0 0 0 4 152 156 0 0 100 0 0 0
|
|
||||||
0 0 0 578504 102412 2633108 0 0 0 0 141 145 0 0 100 0 0 0
|
|
||||||
0 0 0 578252 102416 2633152 0 0 0 9 195 163 1 0 99 0 0 0
|
|
||||||
0 0 0 574472 102416 2633168 0 0 2 8 216 235 1 0 99 0 0 0
|
|
||||||
0 0 0 572892 102416 2633196 0 0 0 0 248 211 0 1 99 0 0 0
|
|
||||||
0 0 0 572784 102416 2633252 0 0 0 8 357 294 1 1 98 0 0 0
|
|
||||||
0 0 0 580848 102416 2633260 0 0 0 9 163 146 0 0 99 0 0 0
|
|
||||||
0 0 0 580656 102416 2633308 0 0 32 1 282 266 1 1 99 0 0 0
|
|
||||||
0 0 0 580624 102416 2633328 0 0 6 425 234 247 0 0 99 0 0 0
|
|
||||||
0 0 0 580624 102416 2633340 0 0 0 9 180 181 0 0 99 0 0 0
|
|
||||||
0 0 0 578860 102416 2633356 0 0 0 306 190 206 0 0 99 0 0 0
|
|
||||||
0 0 0 577852 102416 2633376 0 0 6 0 219 224 0 0 99 0 0 0
|
|
||||||
0 0 0 575584 102416 2633416 0 0 0 0 249 215 1 0 99 0 0 0
|
|
||||||
0 0 0 577024 102416 2633428 0 0 0 9 152 164 0 0 99 0 0 0
|
|
||||||
0 0 0 570992 102416 2633476 0 0 0 10 253 216 1 1 99 0 0 0
|
|
||||||
0 0 0 574300 102416 2633504 0 0 3 0 229 222 1 0 99 0 0 0
|
|
||||||
0 0 0 583804 102416 2633508 0 0 0 9 158 155 0 0 99 0 0 0
|
|
||||||
0 0 0 583552 102416 2633552 0 0 0 4 213 182 1 0 99 0 0 0
|
|
||||||
0 0 0 585280 102416 2633556 0 0 2 0 149 142 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 572436 102416 2633596 0 0 29 6 277 286 1 1 98 0 0 0
|
|
||||||
0 0 0 567244 102416 2633668 0 0 19 8 356 296 1 1 98 0 0 0
|
|
||||||
0 0 0 560892 102416 2633712 0 0 2 0 290 264 1 1 99 0 0 0
|
|
||||||
0 0 0 559128 102416 2633780 0 0 3 20 308 236 1 0 99 0 0 0
|
|
||||||
0 0 0 549804 102416 2633892 0 0 5 7 432 352 1 1 97 0 0 0
|
|
||||||
0 0 0 550008 102416 2633916 0 0 6 0 242 233 1 1 99 0 0 0
|
|
||||||
0 0 0 546200 102416 2633968 0 0 53 18 317 278 1 1 98 0 0 0
|
|
||||||
0 0 0 543232 102416 2634056 0 0 5 9 451 346 1 1 98 0 0 0
|
|
||||||
0 0 0 527804 102416 2634232 0 0 96 1081 673 559 2 2 96 0 0 0
|
|
||||||
0 0 0 525536 102416 2634336 0 0 22 36 535 464 1 1 97 0 0 0
|
|
||||||
0 0 0 526860 102416 2634444 0 0 22 5 560 488 1 1 98 0 0 0
|
|
||||||
0 0 0 526104 102416 2634520 0 0 24 12 453 413 1 1 98 0 0 0
|
|
||||||
0 0 0 528724 102416 2634576 0 0 2 0 344 285 1 1 98 0 0 0
|
|
||||||
0 0 0 528472 102416 2634644 0 0 37 23 464 428 1 1 98 0 0 0
|
|
||||||
0 0 0 526708 102416 2634700 0 0 19 12 438 361 1 1 98 0 0 0
|
|
||||||
0 0 0 516428 102416 2634840 0 0 30 1 620 522 2 1 97 0 0 0
|
|
||||||
0 0 0 520964 102416 2634924 0 0 26 26 460 409 1 1 98 0 0 0
|
|
||||||
0 0 0 517212 102416 2635024 0 0 19 7 496 390 1 1 98 0 0 0
|
|
||||||
0 0 0 517212 102416 2635124 0 0 6 2 577 450 2 1 98 0 0 0
|
|
||||||
0 0 0 517212 102416 2635180 0 0 5 30 340 321 1 1 99 0 0 0
|
|
||||||
0 0 0 527452 102416 2635236 0 0 197 9 465 429 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 504016 102416 2635328 0 0 42 11 563 534 2 2 96 0 0 0
|
|
||||||
0 0 0 491164 102416 2635516 0 0 27 22 856 623 3 1 96 0 0 0
|
|
||||||
0 0 0 483604 102416 2635736 0 0 29 1 920 649 3 1 96 0 0 0
|
|
||||||
0 0 0 493036 102416 2635888 0 0 26 12 723 595 2 1 96 0 0 0
|
|
||||||
0 0 0 457724 102416 2636048 0 0 27 315 822 738 2 2 95 0 0 0
|
|
||||||
0 0 0 445672 102416 2636200 0 0 37 0 844 673 2 1 96 0 0 0
|
|
||||||
0 0 0 442952 102416 2636364 0 0 22 10 780 625 2 1 97 0 0 0
|
|
||||||
0 0 0 448844 102416 2636524 0 0 14 49 860 691 3 1 95 0 0 0
|
|
||||||
0 0 0 458740 102416 2636688 0 0 6 1 783 643 2 1 97 0 0 0
|
|
||||||
0 0 0 462176 102416 2636808 0 0 40 6 719 671 2 1 97 0 0 0
|
|
||||||
0 0 0 468044 102420 2636948 0 0 37 50 808 708 2 1 96 0 0 0
|
|
||||||
0 0 0 462012 102420 2637112 0 0 90 2 887 729 2 1 96 0 0 0
|
|
||||||
0 0 0 458484 102420 2637244 0 0 104 2 895 826 2 1 96 0 0 0
|
|
||||||
0 0 0 439332 102420 2637424 0 0 38 54 1009 765 2 2 96 0 0 0
|
|
||||||
0 0 0 438576 102420 2637500 0 0 27 6 729 670 2 1 97 0 0 0
|
|
||||||
0 0 0 441696 102420 2637676 0 0 259 592 991 815 2 1 96 1 0 0
|
|
||||||
0 0 0 441696 102420 2637812 0 0 30 47 829 749 2 1 96 0 0 0
|
|
||||||
0 0 0 447176 102420 2637904 0 0 6 1 678 640 2 1 97 0 0 0
|
|
||||||
0 0 0 454460 102420 2638020 0 0 34 7 747 658 2 1 97 0 0 0
|
|
||||||
0 0 0 452444 102420 2638112 0 0 26 39 742 731 2 1 97 0 0 0
|
|
||||||
0 0 0 434944 102420 2638304 0 0 69 2 1042 933 3 2 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 432356 102420 2638416 0 0 13 10 843 711 2 1 97 0 0 0
|
|
||||||
0 0 0 439244 102420 2638568 0 0 27 41 907 854 2 1 96 0 0 0
|
|
||||||
0 0 0 440816 102420 2638704 0 0 2 8 1046 915 2 1 96 0 0 0
|
|
||||||
0 0 0 441716 102420 2638792 0 0 11 6 727 711 2 1 97 0 0 0
|
|
||||||
0 0 0 412908 102420 2639516 0 0 64 37 1204 1274 4 5 91 0 0 0
|
|
||||||
0 0 0 413064 102420 2639688 0 0 6 8 1060 925 2 2 96 0 0 0
|
|
||||||
0 0 0 409788 102420 2639876 0 0 48 25 1252 1142 3 2 95 0 0 0
|
|
||||||
0 0 0 408340 102420 2639980 0 0 24 470 867 859 2 1 97 0 0 0
|
|
||||||
1 0 0 421488 102420 2640144 0 0 14 11 1072 954 3 2 95 0 0 0
|
|
||||||
0 0 0 431720 102420 2640244 0 0 3 312 935 881 2 1 96 0 0 0
|
|
||||||
0 0 0 434936 102420 2640356 0 0 26 41 899 817 2 1 96 0 0 0
|
|
||||||
0 0 0 448532 102420 2640428 0 0 3 8 702 648 2 1 97 0 0 0
|
|
||||||
0 0 0 448472 102420 2640484 0 0 3 11 648 638 1 1 97 0 0 0
|
|
||||||
0 0 0 448472 102420 2640580 0 0 2 163 725 688 1 1 97 0 0 0
|
|
||||||
1 0 0 462876 102420 2640628 0 0 3 31 649 586 1 1 97 0 0 0
|
|
||||||
0 0 0 459148 102420 2640748 0 0 14 11 825 739 2 1 96 0 1 0
|
|
||||||
0 0 0 457732 102420 2640852 0 0 259 2 808 726 2 1 96 1 0 0
|
|
||||||
1 0 0 464768 102420 2640904 0 0 0 36 733 704 2 1 97 0 0 0
|
|
||||||
0 0 0 456704 102420 2640972 0 0 13 396 743 731 2 1 97 0 0 0
|
|
||||||
0 0 0 455984 102420 2641036 0 0 6 11 696 690 2 1 97 0 0 0
|
|
||||||
0 0 0 457184 102420 2641096 0 0 27 30 749 760 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 463892 102420 2641164 0 0 0 6 677 670 2 1 97 0 0 0
|
|
||||||
1 0 0 460920 102420 2641200 0 0 8 1 648 628 1 1 97 0 0 0
|
|
||||||
0 0 0 459356 102420 2641320 0 0 10 28 757 701 2 1 97 0 0 0
|
|
||||||
0 0 0 457340 102420 2641428 0 0 6 9 729 737 2 1 97 0 0 0
|
|
||||||
0 0 0 453056 102420 2641552 0 0 10 2 851 805 2 1 96 0 0 0
|
|
||||||
0 0 0 460752 102420 2641588 0 0 8 34 584 562 1 1 98 0 0 0
|
|
||||||
0 0 0 468760 102420 2641676 0 0 32 6 697 606 2 1 97 0 0 0
|
|
||||||
1 0 0 448096 102420 2641832 0 0 11 1 929 869 3 2 95 0 0 0
|
|
||||||
0 0 0 447340 102420 2641960 0 0 13 41 861 811 2 1 96 0 0 0
|
|
||||||
2 0 0 445072 102420 2642052 0 0 10 9 801 791 2 1 97 0 0 0
|
|
||||||
0 0 0 454176 102420 2642148 0 0 13 1 866 807 2 1 97 0 0 0
|
|
||||||
0 0 0 459644 102420 2642252 0 0 3 34 794 748 2 1 96 0 0 0
|
|
||||||
0 0 0 459644 102420 2642316 0 0 6 7 758 746 2 1 97 0 0 0
|
|
||||||
0 0 0 451396 102420 2642404 0 0 2 3 805 756 2 1 97 0 0 0
|
|
||||||
0 0 0 451104 102420 2642504 0 0 0 26 651 607 1 1 97 0 0 0
|
|
||||||
0 0 0 458864 102420 2642552 0 0 0 13 551 540 1 1 98 0 0 0
|
|
||||||
0 0 0 461428 102420 2642656 0 0 0 2 717 672 2 1 97 0 0 0
|
|
||||||
0 0 0 453680 102420 2642764 0 0 0 23 803 751 2 1 97 0 0 0
|
|
||||||
0 0 0 447064 102420 2642888 0 0 3 11 840 788 2 2 95 0 1 0
|
|
||||||
0 0 0 447064 102420 2642980 0 0 5 2 820 814 2 1 97 0 0 0
|
|
||||||
0 0 0 442528 102420 2643144 0 0 8 32 864 778 2 1 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 442528 102420 2643228 0 0 0 240 748 695 2 1 97 0 0 0
|
|
||||||
0 0 0 440316 102420 2643332 0 0 50 2 892 880 2 1 96 0 0 0
|
|
||||||
0 0 0 439308 102420 2643532 0 0 2 33 1065 883 5 2 94 0 0 0
|
|
||||||
0 0 0 439304 102420 2644036 0 0 0 12 1876 1132 13 3 84 0 1 0
|
|
||||||
0 0 0 445608 102420 2644108 0 0 0 1 595 558 1 1 97 0 0 0
|
|
||||||
0 0 0 455080 102420 2644136 0 0 2 73 616 610 2 1 97 0 0 0
|
|
||||||
0 0 0 456212 102424 2644228 0 0 19 12 702 639 2 1 97 0 0 0
|
|
||||||
0 0 0 461196 102424 2644300 0 0 2 1 718 626 2 1 97 0 0 0
|
|
||||||
0 0 0 471752 102424 2644352 0 0 0 22 527 476 1 1 98 0 0 0
|
|
||||||
0 0 0 481980 102424 2644436 0 0 2 10 584 560 1 1 98 0 0 0
|
|
||||||
0 0 0 484908 102424 2644488 0 0 8 1 512 476 1 1 98 0 0 0
|
|
||||||
0 0 0 499060 102424 2644532 0 0 5 16 446 395 1 1 98 0 0 0
|
|
||||||
0 0 0 490144 102424 2644948 0 0 3 13 1231 742 5 2 93 0 0 0
|
|
||||||
0 0 0 467968 102424 2645056 0 0 0 0 549 492 1 1 97 0 0 0
|
|
||||||
0 0 0 464188 102424 2645120 0 0 11 0 624 576 1 1 98 0 0 0
|
|
||||||
0 0 0 474908 102424 2645196 0 0 0 66 609 520 1 1 98 0 0 0
|
|
||||||
0 0 0 481520 102424 2645244 0 0 18 0 486 458 1 1 98 0 0 0
|
|
||||||
0 0 0 482820 102424 2645276 0 0 3 0 505 483 1 1 98 0 0 0
|
|
||||||
0 0 0 490276 102424 2645368 0 0 2 26 555 445 1 1 98 0 0 0
|
|
||||||
0 0 0 490052 102424 2645448 0 0 2 1 646 610 1 1 98 0 0 0
|
|
||||||
1 0 0 489380 102424 2645596 0 0 8 1 750 628 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 489380 102424 2645648 0 0 2 38 451 402 1 1 98 0 0 0
|
|
||||||
0 0 0 489380 102424 2645720 0 0 3 2 615 630 1 1 98 0 0 0
|
|
||||||
0 0 0 485416 102424 2645812 0 0 18 1 671 629 1 1 97 0 0 0
|
|
||||||
0 0 0 482576 102424 2645900 0 0 0 32 724 730 2 1 97 0 0 0
|
|
||||||
0 0 0 488516 102424 2645968 0 0 21 0 598 596 1 1 98 0 0 0
|
|
||||||
0 0 0 484988 102424 2646080 0 0 5 2 763 717 2 1 97 0 0 0
|
|
||||||
0 0 0 469124 102424 2646160 0 0 11 37 721 741 2 1 97 0 0 0
|
|
||||||
0 0 0 469112 102424 2646220 0 0 11 1 587 587 1 1 97 0 0 0
|
|
||||||
0 0 0 481272 102424 2646276 0 0 32 1 597 567 1 1 98 0 0 0
|
|
||||||
0 0 0 471456 102424 2646412 0 0 13 33 829 852 2 2 96 0 0 0
|
|
||||||
0 0 0 460860 102424 2646512 0 0 22 326 787 808 2 1 97 0 0 0
|
|
||||||
0 0 0 457584 102424 2646592 0 0 8 1 699 704 2 1 97 0 0 0
|
|
||||||
1 0 0 458420 102424 2646656 0 0 3 33 615 593 1 1 98 0 0 0
|
|
||||||
0 0 0 458420 102424 2646768 0 0 2 1 741 698 2 1 97 0 0 0
|
|
||||||
1 0 0 459844 102424 2646824 0 0 54 771 675 708 1 1 98 0 0 0
|
|
||||||
0 0 0 461516 102424 2646908 0 0 2 25 690 596 2 1 97 0 0 0
|
|
||||||
0 0 0 466564 102424 2646964 0 0 2 7 501 443 1 1 98 0 0 0
|
|
||||||
0 0 0 469732 102424 2647092 0 0 8 6 718 638 2 1 97 0 0 0
|
|
||||||
0 0 0 469732 102424 2647168 0 0 14 25 570 533 1 1 98 0 0 0
|
|
||||||
0 0 0 469732 102424 2647264 0 0 6 30 898 1106 3 2 95 0 0 0
|
|
||||||
0 0 0 464944 102424 2647380 0 0 5 12 736 604 1 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 458896 102424 2647472 0 0 88 31 734 664 1 1 97 0 0 0
|
|
||||||
0 0 0 464220 102424 2647580 0 0 10 608 727 630 1 1 97 0 0 0
|
|
||||||
0 0 0 477552 102424 2647672 0 0 5 0 679 603 2 1 97 0 0 0
|
|
||||||
0 0 0 473068 102424 2647784 0 0 3 28 706 658 2 1 97 0 0 0
|
|
||||||
0 0 0 459604 102424 2647904 0 0 0 22 810 730 2 2 96 0 0 0
|
|
||||||
0 0 0 463264 102424 2648020 0 0 14 3 766 680 2 1 97 0 0 0
|
|
||||||
0 0 0 478428 102424 2648068 0 0 51 420 445 407 1 1 98 0 0 0
|
|
||||||
0 0 0 491736 102424 2648168 0 0 365 13 611 542 1 1 97 1 0 0
|
|
||||||
0 0 0 490980 102424 2648184 0 0 6 4 465 456 1 1 98 0 0 0
|
|
||||||
0 0 0 490980 102424 2648272 0 0 6 23 572 523 1 1 98 0 0 0
|
|
||||||
0 0 0 490980 102424 2648328 0 0 10 13 440 415 1 1 98 0 0 0
|
|
||||||
0 0 0 490980 102424 2648440 0 0 5 1 635 521 1 1 97 0 0 0
|
|
||||||
0 0 0 447888 102424 2648556 0 0 13 25 714 706 2 2 96 0 0 0
|
|
||||||
0 0 0 445888 102424 2648636 0 0 14 10 536 496 1 1 98 0 0 0
|
|
||||||
0 0 0 445132 102424 2648776 0 0 11 4 832 703 2 1 97 0 0 0
|
|
||||||
0 0 0 445132 102424 2648840 0 0 0 8 502 490 1 1 98 0 0 0
|
|
||||||
0 0 0 456360 102424 2648936 0 0 21 30 626 581 1 1 98 0 0 0
|
|
||||||
0 0 0 466924 102424 2648964 0 0 8 2 434 424 1 1 98 0 0 0
|
|
||||||
0 0 0 487484 102424 2649008 0 0 3 0 385 367 1 1 99 0 0 0
|
|
||||||
0 0 0 497852 102424 2649072 0 0 0 247 453 367 1 1 98 0 0 0
|
|
||||||
0 0 0 495552 102424 2649120 0 0 8 1 418 436 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 495552 102424 2649156 0 0 0 1 427 401 1 1 99 0 0 0
|
|
||||||
0 0 0 496552 102424 2649200 0 0 6 30 425 412 1 1 98 0 0 0
|
|
||||||
0 0 0 497364 102424 2649276 0 0 19 2 505 429 1 1 98 0 0 0
|
|
||||||
0 0 0 493580 102424 2649348 0 0 3 1 449 385 1 1 99 0 0 0
|
|
||||||
2 0 0 493580 102424 2649412 0 0 2 26 404 382 1 1 99 0 0 0
|
|
||||||
0 0 0 489296 102424 2649456 0 0 5 0 429 426 1 1 98 0 0 0
|
|
||||||
0 0 0 489296 102424 2649492 0 0 13 1 406 396 1 1 98 0 0 0
|
|
||||||
0 0 0 506136 102424 2649540 0 0 8 25 455 451 1 1 98 0 0 0
|
|
||||||
0 0 0 507412 102424 2649620 0 0 2 1 392 316 1 1 98 0 0 0
|
|
||||||
0 0 0 507312 102424 2649680 0 0 24 1 468 449 1 1 98 0 0 0
|
|
||||||
0 0 0 506616 102424 2649740 0 0 37 235 464 417 1 1 99 0 0 0
|
|
||||||
0 0 0 506616 102424 2649816 0 0 2 3 493 435 1 1 98 0 0 0
|
|
||||||
0 0 0 506616 102424 2649860 0 0 0 1 380 338 1 1 99 0 0 0
|
|
||||||
0 0 0 511292 102424 2649920 0 0 2 36 418 384 1 1 99 0 0 0
|
|
||||||
0 0 0 503044 102424 2649944 0 0 0 3 358 361 1 1 99 0 0 0
|
|
||||||
0 0 0 503004 102424 2650016 0 0 2 1 439 432 1 1 98 0 0 0
|
|
||||||
0 0 0 505748 102424 2650048 0 0 0 18 358 351 1 1 99 0 0 0
|
|
||||||
0 0 0 507484 102424 2650112 0 0 13 0 425 373 1 1 98 0 0 0
|
|
||||||
0 0 0 505216 102424 2650180 0 0 3 3 486 468 1 1 98 0 0 0
|
|
||||||
1 0 0 499924 102424 2650296 0 0 0 27 611 577 1 1 98 0 0 0
|
|
||||||
0 0 0 507208 102424 2650356 0 0 0 1 480 414 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 507208 102424 2650412 0 0 0 4 386 364 1 0 99 0 0 0
|
|
||||||
0 0 0 510104 102424 2650452 0 0 2 23 399 408 1 1 99 0 0 0
|
|
||||||
0 0 0 510104 102424 2650484 0 0 5 0 315 322 1 0 99 0 0 0
|
|
||||||
=== 모니터링 종료: Wed Sep 16 14:59:52 KST 2026 ===
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
=== 피크 시간대(12:50~15:00) vmstat 비교 — DB 개선 전후 ===
|
|
||||||
원본: peaktime/vmstat_2026091{4,5,6}-1250.log (운영 서버 cron, vmstat 10초 x 780회)
|
|
||||||
9/14, 9/15 = 개선 전 / 9/16 = 개선 후 (인덱스 추가·중복 정리·앱 코드 배포: 9/15 23:00~23:20)
|
|
||||||
각 로그의 첫 데이터 줄(부팅 이후 누적 평균)은 제외하고 779개 샘플로 계산
|
|
||||||
|
|
||||||
지표 9/14 9/15 9/16(개선 후)
|
|
||||||
CPU 사용 us+sy 평균 (%) 13.51 9.49 2.80
|
|
||||||
CPU 사용 us+sy p95 (%) 29.0 23.0 6.0
|
|
||||||
CPU 사용 us+sy 최대 (%) 44 37 33
|
|
||||||
누적 CPU 시간 (초, 130분) 1052.8 739.5 217.9
|
|
||||||
사용자 CPU us 평균 (%) 12.19 8.44 1.65
|
|
||||||
us > 5 인 샘플 수 701 468 5
|
|
||||||
유휴 id < 90 인 샘플 수 484 315 4
|
|
||||||
실행 대기 r >= 2 샘플 수 86 62 16
|
|
||||||
I/O 대기 wa > 0 샘플 수 38 36 7
|
|
||||||
디스크 읽기 bi 평균 71.8 60.5 17.4
|
|
||||||
디스크 읽기 bi p95 379.2 363.1 62.0
|
|
||||||
문맥 전환 cs 평균 879 658 645
|
|
||||||
인터럽트 in 평균 1028 784 714
|
|
||||||
여유 메모리 free 평균 (KB) 577335 443290 481959
|
|
||||||
캐시 cache 평균 (KB) 2544709 2734802 2610600
|
|
||||||
|
|
||||||
해석
|
|
||||||
- 부하 지표(문맥 전환 cs)는 9/15 658 → 9/16 645로 거의 같은데, CPU 사용률은 9.49% → 2.80%로 약 3.4배 낮아짐.
|
|
||||||
같은 정도의 요청을 처리하면서 CPU를 훨씬 덜 쓴다는 뜻.
|
|
||||||
- 디스크 읽기(bi) 평균이 60.5 → 17.4로 감소. 인덱스로 읽는 페이지가 줄어든 결과로 보임.
|
|
||||||
- CPU가 바쁜 구간(us>5)이 468개 샘플 → 5개로 사라짐. 실행 대기 큐(r>=2)도 62 → 16으로 감소.
|
|
||||||
- 메모리 여유·캐시는 큰 변화 없음. bo 최대 13702(9/16)는 한 샘플뿐인 쓰기 스파이크로 추세와 무관.
|
|
||||||
|
|
||||||
사용자 수 보정 (2026-09-16 운영 DB 조회, 같은 시간대 best_record 저장 건수)
|
|
||||||
지표 9/14 9/15 9/16(개선 후)
|
|
||||||
피크 기록 수 (건) 2705 1947 2173
|
|
||||||
누적 CPU 시간 (초) 1052.8 739.5 217.9
|
|
||||||
기록 1000건당 CPU (초) 389.2 379.8 100.3
|
|
||||||
|
|
||||||
- 9/16은 9/15보다 기록이 약 12% 많았는데도 CPU 사용량은 3.4배 적었음.
|
|
||||||
- 사용자 수로 보정하면 기록 1000건당 CPU가 380초 → 100초로 약 3.8배 감소.
|
|
||||||
- 개선 전 두 날(389.2, 379.8)이 서로 비슷해 기준값으로 신뢰할 만함.
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
dup_groups rows_to_delete
|
|
||||||
4823 8795
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
MaestroID PlayerID AppID cnt
|
|
||||||
223 115830 2 33
|
|
||||||
306 93738 106 25
|
|
||||||
123 86825 106 21
|
|
||||||
82 2245 106 21
|
|
||||||
278 84908 106 20
|
|
||||||
49 114356 106 20
|
|
||||||
184 112221 101 19
|
|
||||||
127 71176 3 19
|
|
||||||
363 105234 106 18
|
|
||||||
75 10923 106 17
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
{
|
|
||||||
"query_block": {
|
|
||||||
"select_id": 1,
|
|
||||||
"filesort": {
|
|
||||||
"sort_key": "max(BR.BestRecord) desc",
|
|
||||||
"temporary_table": {
|
|
||||||
"nested_loop": [
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "BR",
|
|
||||||
"access_type": "index_merge",
|
|
||||||
"possible_keys": [
|
|
||||||
"MaestroID",
|
|
||||||
"AppID",
|
|
||||||
"PlayerID"
|
|
||||||
],
|
|
||||||
"key_length": "4,4",
|
|
||||||
"index_merge": {
|
|
||||||
"intersect": [
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "MaestroID",
|
|
||||||
"used_key_parts": [
|
|
||||||
"MaestroID"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"range": {
|
|
||||||
"key": "AppID",
|
|
||||||
"used_key_parts": [
|
|
||||||
"AppID"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"rows": 10100,
|
|
||||||
"filtered": 100,
|
|
||||||
"attached_condition": "BR.MaestroID = 181 and BR.AppID = 21 and year(BR.RecordDateTime) = 2026 and month(BR.RecordDateTime) = 9 and dayofmonth(BR.RecordDateTime) = 15"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"table": {
|
|
||||||
"table_name": "U",
|
|
||||||
"access_type": "eq_ref",
|
|
||||||
"possible_keys": [
|
|
||||||
"PRIMARY"
|
|
||||||
],
|
|
||||||
"key": "PRIMARY",
|
|
||||||
"key_length": "4",
|
|
||||||
"used_key_parts": [
|
|
||||||
"PlayerID"
|
|
||||||
],
|
|
||||||
"ref": [
|
|
||||||
"chocomae.BR.PlayerID"
|
|
||||||
],
|
|
||||||
"rows": 1,
|
|
||||||
"filtered": 100
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
ym cnt
|
|
||||||
2022-04 3
|
|
||||||
2022-05 3544
|
|
||||||
2022-06 7730
|
|
||||||
2022-07 7543
|
|
||||||
2022-08 4605
|
|
||||||
2022-09 4164
|
|
||||||
2022-10 4702
|
|
||||||
2022-11 4052
|
|
||||||
2022-12 2446
|
|
||||||
2023-01 3903
|
|
||||||
2023-02 1580
|
|
||||||
2023-03 18646
|
|
||||||
2023-04 22750
|
|
||||||
2023-05 19749
|
|
||||||
2023-06 18620
|
|
||||||
2023-07 16490
|
|
||||||
2023-08 13244
|
|
||||||
2023-09 17892
|
|
||||||
2023-10 19045
|
|
||||||
2023-11 23144
|
|
||||||
2023-12 17608
|
|
||||||
2024-01 15262
|
|
||||||
2024-02 6745
|
|
||||||
2024-03 19414
|
|
||||||
2024-04 27242
|
|
||||||
2024-05 25057
|
|
||||||
2024-06 21613
|
|
||||||
2024-07 23446
|
|
||||||
2024-08 17951
|
|
||||||
2024-09 21469
|
|
||||||
2024-10 22776
|
|
||||||
2024-11 22526
|
|
||||||
2024-12 19082
|
|
||||||
2025-01 12170
|
|
||||||
2025-02 8558
|
|
||||||
2025-03 26788
|
|
||||||
2025-04 30366
|
|
||||||
2025-05 29850
|
|
||||||
2025-06 32421
|
|
||||||
2025-07 28872
|
|
||||||
2025-08 19853
|
|
||||||
2025-09 33908
|
|
||||||
2025-10 22878
|
|
||||||
2025-11 28723
|
|
||||||
2025-12 28649
|
|
||||||
2026-01 16532
|
|
||||||
2026-02 8980
|
|
||||||
2026-03 66105
|
|
||||||
2026-04 70072
|
|
||||||
2026-05 58444
|
|
||||||
2026-06 65606
|
|
||||||
2026-07 56307
|
|
||||||
2026-08 51991
|
|
||||||
2026-09 39366
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Variable_name Value
|
|
||||||
log_output FILE
|
|
||||||
log_queries_not_using_indexes OFF
|
|
||||||
long_query_time 3.000000
|
|
||||||
slow_query_log ON
|
|
||||||
slow_query_log_file /var/log/mysql/mariadb-slow.log
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
=== 운영 DB 사전 측정 결과 (2026-09-15) ===
|
|
||||||
|
|
||||||
1. 테이블 크기 (premeasure_table_sizes.txt)
|
|
||||||
- best_record data_mb: 72.5
|
|
||||||
- best_record index_mb: 72.1
|
|
||||||
- best_record 행 수: 약 1,152,399 (information_schema 추정치) / 월별 합계 1,210,482
|
|
||||||
- typing_exam_record data_mb: 10.3
|
|
||||||
- typing_exam_record index_mb: 10.9
|
|
||||||
|
|
||||||
2. 월별 적재량 (premeasure_monthly_load.txt)
|
|
||||||
- 최근 1개월 (2026-08): 51,991 행
|
|
||||||
- 2026-09 (15일까지): 39,366 행
|
|
||||||
- 최근 3개월 평균 (2026-06~08): 57,968 행/월
|
|
||||||
- 전년 같은 기간 평균 (2025-06~08): 27,049 행/월 → 약 2.1배 증가
|
|
||||||
|
|
||||||
3. 테스트용 선생님·앱 (premeasure_top_maestro_app.txt)
|
|
||||||
- MaestroID: 181
|
|
||||||
- AppID: 21
|
|
||||||
- 30일 기록 수: 1,089
|
|
||||||
|
|
||||||
4. 일간 랭킹 EXPLAIN (premeasure_explain_daily_ranking.json)
|
|
||||||
- access_type: index_merge (예상했던 ALL 아님)
|
|
||||||
- key: MaestroID ∩ AppID (기존 단일 인덱스 2개의 교집합)
|
|
||||||
- rows: 10,100 (예상했던 1,206,768 아님)
|
|
||||||
- 날짜 조건(YEAR/MONTH/DAYOFMONTH)은 인덱스로 거르지 못하고 10,100행을 하나씩 확인
|
|
||||||
- 참고: 원본 출력은 헤더와 \n 이스케이프 때문에 JSON이 아니었음 → 내용 변경 없이 JSON으로 복원
|
|
||||||
|
|
||||||
5. 최고기록 테이블 중복 (premeasure_*_duplicates.txt, premeasure_app_highest_dup_count.txt)
|
|
||||||
- app_highest_record 중복: 4,823 조합 / 삭제 대상 8,795 행
|
|
||||||
· 테이블 약 229,459행(추정치)의 약 3.8%
|
|
||||||
· 상위 10개 조합은 각 17~33행
|
|
||||||
· 03-0-1에서 작업 당일 다시 세어 비교 (그 사이 조금 늘어날 수 있음)
|
|
||||||
- typing_exam_highest_record 중복: 0 건 (빈 파일 = 조회 결과 없음)
|
|
||||||
|
|
||||||
6. 계정 권한 (premeasure_grants.txt)
|
|
||||||
- jisangs@182.217.174.221: SELECT, ALTER ON chocomae.* 만 있음
|
|
||||||
- 2026-09-15 임시 부여 후 (premeasure_grants_after.txt):
|
|
||||||
+ SUPER ON *.*
|
|
||||||
+ INSERT, DELETE ON chocomae.app_highest_record, chocomae.typing_exam_highest_record
|
|
||||||
+ SELECT ON mysql.slow_log
|
|
||||||
→ 05단계에서 회수 (slow log 복원 후)
|
|
||||||
- 원래 권한으로 할 수 없던 작업:
|
|
||||||
· 02-1 slow query log 변경 (SET GLOBAL → SUPER)
|
|
||||||
· 03-0-3 중복 삭제 (DELETE)
|
|
||||||
· 04-5, 07 mysql.slow_log 조회 (SELECT ON mysql.slow_log)
|
|
||||||
· 05 slow query log 복원 (SET GLOBAL)
|
|
||||||
· 06 삭제 행 복원 (INSERT) → 임시 부여됨
|
|
||||||
· 06 ANALYZE TABLE best_record (best_record INSERT 필요, 부여 안 함) → 관리자 계정
|
|
||||||
|
|
||||||
7. Slow query log 원래 설정 (premeasure_slow_log_settings.txt) — 05단계 복원 기준값
|
|
||||||
- slow_query_log: ON
|
|
||||||
- long_query_time: 3
|
|
||||||
- log_output: FILE
|
|
||||||
- log_queries_not_using_indexes: OFF
|
|
||||||
- slow_query_log_file: /var/log/mysql/mariadb-slow.log
|
|
||||||
- 이전 문서의 1-4 SET GLOBAL은 적용되지 않았음 (SUPER 권한 없음, 적용됐다면 long_query_time=1·log_output=TABLE)
|
|
||||||
|
|
||||||
8. 준비 확인
|
|
||||||
☑ 테이블 크기 확인
|
|
||||||
☑ 월별 적재량 확인
|
|
||||||
☑ EXPLAIN 결과 저장
|
|
||||||
☑ 중복 확인 (전체 개수 포함)
|
|
||||||
☑ 계정 권한 확인
|
|
||||||
☑ Slow query log 현재 설정 저장
|
|
||||||
☑ 작업 권한 임시 부여
|
|
||||||
|
|
||||||
다음: 02-baseline.md
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
TABLE_NAME approx_rows data_mb index_mb
|
|
||||||
best_record 1152399 72.5 72.1
|
|
||||||
app_highest_record 229459 16.5 15.8
|
|
||||||
typing_exam_record 131675 10.3 10.9
|
|
||||||
player 22394 3.5 0.4
|
|
||||||
active_app 17661 1.5 0.6
|
|
||||||
typing_exam_highest_record 21355 1.4 1.2
|
|
||||||
maestro_log 1944 0.4 0.0
|
|
||||||
maestro 418 0.1 0.0
|
|
||||||
license_score 514 0.1 0.0
|
|
||||||
license_maestro_password 1024 0.1 0.0
|
|
||||||
maestro_extension 450 0.0 0.0
|
|
||||||
admin 0 0.0 0.0
|
|
||||||
app 48 0.0 0.0
|
|
||||||
ads_client 0 0.0 0.0
|
|
||||||
license_time 0 0.0 0.0
|
|
||||||
writing 20 0.0 0.0
|
|
||||||
typing_exam_ads 0 0.0 0.0
|
|
||||||
banned_word 22 0.0 0.0
|
|
||||||
maestro_upgrade 109 0.0 0.0
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
MaestroID AppID cnt
|
|
||||||
181 21 1089
|
|
||||||
181 1 591
|
|
||||||
389 103 562
|
|
||||||
230 21 546
|
|
||||||
389 104 541
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
SELECT SQL_NO_CACHE PlayerID, BestRecord, RecordDateTime
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND DATE(RecordDateTime) = @day
|
|
||||||
AND HOUR(RecordDateTime) = @hour
|
|
||||||
ORDER BY RecordDateTime, PlayerID;
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
SELECT SQL_NO_CACHE PlayerID, BestRecord, RecordDateTime
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND RecordDateTime >= CAST(@day AS DATETIME) + INTERVAL @hour HOUR
|
|
||||||
AND RecordDateTime < CAST(@day AS DATETIME) + INTERVAL (@hour + 1) HOUR
|
|
||||||
ORDER BY RecordDateTime, PlayerID;
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND YEAR(RecordDateTime) = YEAR(@day)
|
|
||||||
AND MONTH(RecordDateTime) = MONTH(@day)
|
|
||||||
AND DAYOFMONTH(RecordDateTime) = DAYOFMONTH(@day)
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND RecordDateTime >= CAST(@day AS DATETIME)
|
|
||||||
AND RecordDateTime < CAST(@day AS DATETIME) + INTERVAL 1 DAY
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND YEAR(RecordDateTime) = YEAR(@day)
|
|
||||||
AND MONTH(RecordDateTime) = MONTH(@day)
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
SELECT SQL_NO_CACHE PlayerID, MAX(BestRecord) AS HighScore
|
|
||||||
FROM best_record
|
|
||||||
WHERE MaestroID = @maestro AND AppID = @app
|
|
||||||
AND RecordDateTime >= CAST(DATE_FORMAT(@day, '%Y-%m-01') AS DATETIME)
|
|
||||||
AND RecordDateTime < CAST(DATE_FORMAT(@day, '%Y-%m-01') AS DATETIME) + INTERVAL 1 MONTH
|
|
||||||
GROUP BY PlayerID
|
|
||||||
ORDER BY HighScore DESC, PlayerID;
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/zsh
|
|
||||||
# 02·04단계 공통 측정 스크립트
|
|
||||||
# 사용법: zsh run_measure.sh baseline (02단계, 인덱스 추가 전)
|
|
||||||
# zsh run_measure.sh after (04단계, 인덱스 추가 후)
|
|
||||||
|
|
||||||
PREFIX=$1
|
|
||||||
if [[ $PREFIX != baseline && $PREFIX != after ]]; then
|
|
||||||
echo "사용법: zsh run_measure.sh baseline|after" >&2; exit 1
|
|
||||||
fi
|
|
||||||
cd "${0:A:h}" || exit 1
|
|
||||||
|
|
||||||
printf "Enter password: "; read -rs DBPW; echo
|
|
||||||
|
|
||||||
db() {
|
|
||||||
mariadb --defaults-extra-file=<(printf '[client]\npassword="%s"\n' "$DBPW") \
|
|
||||||
-h chocomae.jinaju.com -u jisangs chocomae "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 1) EXPLAIN: 쿼리마다 JSON 파일 1개
|
|
||||||
for q in queries/*.sql; do
|
|
||||||
out="${PREFIX}_explain_${q:t:r}.json"
|
|
||||||
{ cat params.sql; printf 'EXPLAIN FORMAT=JSON '; cat "$q"; } | db -N -r > "$out" \
|
|
||||||
|| { echo "EXPLAIN 실패: $q" >&2; exit 1; }
|
|
||||||
echo "저장: $out"
|
|
||||||
done
|
|
||||||
|
|
||||||
# 2) 실행 시간: 같은 쿼리 묶음을 2회 실행 (2회차 값 사용)
|
|
||||||
for round in 1 2; do
|
|
||||||
{ cat params.sql
|
|
||||||
for q in queries/*.sql; do
|
|
||||||
echo "SELECT '=== round ${round}: ${q:t:r} ===' AS msg;"
|
|
||||||
cat "$q"
|
|
||||||
done
|
|
||||||
} | db -vvv || { echo "실행 시간 측정 실패" >&2; exit 1; }
|
|
||||||
done > "${PREFIX}_perf.txt"
|
|
||||||
echo "저장: ${PREFIX}_perf.txt"
|
|
||||||
|
|
||||||
# 3) 요약: 쿼리 이름 / 결과 행 수 / 실행 시간 (2회차)
|
|
||||||
echo
|
|
||||||
grep -E '^\| === |rows? in set|Empty set' "${PREFIX}_perf.txt" | paste - - - | grep 'round 2' \
|
|
||||||
| sed -E 's/\| === round 2: (.*) === \|/\1/; s/\t1 row in set \([0-9.]+ sec\)//'
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# 운영 slow log 파일 날짜별 건수 (long_query_time=3, log_output=FILE)
|
|
||||||
# 실행: 2026-09-15 작업 후, 서버에서 sudo awk (07-post-analysis.md 모니터링 계획 1)
|
|
||||||
# 주의: 260915에는 23:05~23:20 기준 0.5초 구간의 작업 SQL(ALTER·DELETE)이 포함됨
|
|
||||||
260411 1
|
|
||||||
260720 1
|
|
||||||
260907 9
|
|
||||||
260908 2
|
|
||||||
260909 1
|
|
||||||
260910 1
|
|
||||||
260911 1
|
|
||||||
260912 1
|
|
||||||
260913 1
|
|
||||||
260914 1
|
|
||||||
260915 10
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
# 운영 slow log 파일 — DB 개선 작업 후 (2026-09-16 확인)
|
|
||||||
# long_query_time=3, log_output=FILE (원래 설정으로 복원된 상태)
|
|
||||||
260915 23:04:05 query_time=0.671469 rows_examined=229443 # 작업: 전체 백업 덤프 (기준 0.5초 구간)
|
|
||||||
260915 23:04:07 query_time=4.840010 rows_examined=1210525 # 작업: 전체 백업 덤프
|
|
||||||
260915 23:05:00 query_time=0.659826 rows_examined=229443 # 작업: 전체 백업 덤프
|
|
||||||
260915 23:05:01 query_time=4.653876 rows_examined=1210525 # 작업: 전체 백업 덤프
|
|
||||||
260915 23:08:21 query_time=0.929698 rows_examined=935362 # 작업: 중복 DELETE (8,795행)
|
|
||||||
260915 23:09:08 query_time=4.790929 rows_examined=0 # 작업: ALTER idx_maestro_app_dt
|
|
||||||
260915 23:09:13 query_time=4.819872 rows_examined=0 # 작업: ALTER idx_maestro_player_app_dt
|
|
||||||
260915 23:09:18 query_time=0.723314 rows_examined=0 # 작업: ALTER idx_maestro_writing_dt
|
|
||||||
260915 23:09:19 query_time=1.063310 rows_examined=0 # 작업: ALTER uk_maestro_player_app
|
|
||||||
260916 4:00:03 query_time=5.379681 rows_examined=1210537 # 매일 도는 mysqldump 백업 (인덱스와 무관)
|
|
||||||
|
|
||||||
# 결론: 개선 후 하루(9/16) 동안 3초를 넘은 애플리케이션 쿼리는 0건.
|
|
||||||
# 기록된 것은 매일 04:00 백업 SELECT 1건뿐이며, 전체 테이블을 읽는 백업이라 개선 전(약 5.3초)과 같음.
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
# 운영 slow log 파일 항목별 목록 (시각, 실행 시간, 검사 행 수 — SQL 본문 제외)
|
|
||||||
# 실행: 2026-09-15 작업 후, 서버에서 sudo awk (07-post-analysis.md)
|
|
||||||
# 해석 (mariadb-dumpslow 결과와 대조):
|
|
||||||
# - 매일 04:00 약 5초: best_record 전체 SELECT (mysqldump 백업, 182.217.174.221에서 접속)
|
|
||||||
# - 9/7 17:44~18:07: 같은 백업 SELECT 반복 (백업 스크립트 작업일)
|
|
||||||
# - 9/15 23:04~23:05: 이번 작업의 전체 백업 덤프 (best_record, app_highest_record)
|
|
||||||
# - 9/15 23:08~23:09: 이번 작업의 중복 DELETE, ALTER (기준 0.5초 구간)
|
|
||||||
# → 애플리케이션 쿼리는 한 건도 없음
|
|
||||||
260411 0:33:48 query_time=3.726172 rows_examined=960302
|
|
||||||
260720 13:17:19 query_time=8.465366 rows_examined=1152373
|
|
||||||
260907 11:07:44 query_time=4.731627 rows_examined=1205709
|
|
||||||
260907 17:44:24 query_time=5.373405 rows_examined=1207886
|
|
||||||
260907 17:47:40 query_time=5.050474 rows_examined=1207886
|
|
||||||
260907 17:49:33 query_time=5.715444 rows_examined=1207887
|
|
||||||
260907 17:56:10 query_time=5.223918 rows_examined=1207889
|
|
||||||
260907 17:59:55 query_time=5.035981 rows_examined=1207891
|
|
||||||
260907 18:03:59 query_time=4.990276 rows_examined=1207894
|
|
||||||
260907 18:07:19 query_time=6.269200 rows_examined=1207895
|
|
||||||
260907 22:08:15 query_time=5.216182 rows_examined=1207992
|
|
||||||
260908 4:00:04 query_time=5.407491 rows_examined=1205749
|
|
||||||
260908 16:45:30 query_time=5.190510 rows_examined=1196675
|
|
||||||
260909 4:00:03 query_time=5.027793 rows_examined=1196916
|
|
||||||
260910 4:00:04 query_time=5.324048 rows_examined=1199920
|
|
||||||
260911 4:00:04 query_time=5.302520 rows_examined=1201807
|
|
||||||
260912 4:00:03 query_time=5.428563 rows_examined=1204565
|
|
||||||
260913 4:00:04 query_time=5.146780 rows_examined=1204942
|
|
||||||
260914 4:00:03 query_time=5.309808 rows_examined=1205500
|
|
||||||
260915 4:00:04 query_time=5.348284 rows_examined=1207030
|
|
||||||
260915 23:04:05 query_time=0.671469 rows_examined=229443
|
|
||||||
260915 23:04:07 query_time=4.840010 rows_examined=1210525
|
|
||||||
260915 23:05:00 query_time=0.659826 rows_examined=229443
|
|
||||||
260915 23:05:01 query_time=4.653876 rows_examined=1210525
|
|
||||||
260915 23:08:21 query_time=0.929698 rows_examined=935362
|
|
||||||
260915 23:09:08 query_time=4.790929 rows_examined=0
|
|
||||||
260915 23:09:13 query_time=4.819872 rows_examined=0
|
|
||||||
260915 23:09:18 query_time=0.723314 rows_examined=0
|
|
||||||
260915 23:09:19 query_time=1.063310 rows_examined=0
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# 사용법: python3 summarize_analyze.py baseline [after]
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
|
|
||||||
decoder = json.JSONDecoder()
|
|
||||||
for prefix in sys.argv[1:]:
|
|
||||||
text = open(f"{prefix}_analyze.txt", encoding="utf-8").read()
|
|
||||||
names = [line.split("=== ")[1].split(" ===")[0] for line in text.splitlines() if line.startswith("=== ")]
|
|
||||||
docs, pos = [], 0
|
|
||||||
while True:
|
|
||||||
start = text.find("{", pos)
|
|
||||||
if start < 0:
|
|
||||||
break
|
|
||||||
doc, pos = decoder.raw_decode(text, start)
|
|
||||||
docs.append(doc)
|
|
||||||
for name, doc in zip(names, docs):
|
|
||||||
block = doc["query_block"]
|
|
||||||
print(f"{prefix:8} {name:16} server_time_ms={block.get('r_total_time_ms')}")
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
# 사용법: python3 summarize_explain.py baseline [after]
|
|
||||||
import glob
|
|
||||||
import json
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def find_table(node):
|
|
||||||
if isinstance(node, dict):
|
|
||||||
if isinstance(node.get("table"), dict):
|
|
||||||
return node["table"]
|
|
||||||
children = node.values()
|
|
||||||
elif isinstance(node, list):
|
|
||||||
children = node
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
for child in children:
|
|
||||||
found = find_table(child)
|
|
||||||
if found:
|
|
||||||
return found
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
def keys_of(node):
|
|
||||||
if isinstance(node, dict):
|
|
||||||
for k, v in node.items():
|
|
||||||
if k == "key":
|
|
||||||
yield v
|
|
||||||
else:
|
|
||||||
yield from keys_of(v)
|
|
||||||
elif isinstance(node, list):
|
|
||||||
for v in node:
|
|
||||||
yield from keys_of(v)
|
|
||||||
|
|
||||||
|
|
||||||
for prefix in sys.argv[1:]:
|
|
||||||
for path in sorted(glob.glob(f"{prefix}_explain_*.json")):
|
|
||||||
with open(path, encoding="utf-8") as f:
|
|
||||||
table = find_table(json.load(f))
|
|
||||||
key = table.get("key") or " ∩ ".join(keys_of(table.get("index_merge", {}))) or "-"
|
|
||||||
print(f"{path:40} access_type={str(table.get('access_type')):12} key={key:28} rows={table.get('rows')}")
|
|
||||||
@@ -63,24 +63,23 @@ WHERE MaestroID = 181
|
|||||||
AND RecordDateTime >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')
|
AND RecordDateTime >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')
|
||||||
AND RecordDateTime < DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') + INTERVAL 1 HOUR;
|
AND RecordDateTime < DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') + INTERVAL 1 HOUR;
|
||||||
|
|
||||||
-- 개선 쿼리 2: 함수 제거 (빠름) - 일일 랭킹
|
-- 개선 쿼리 2: 함수 제거 (빠름)
|
||||||
SELECT '=== Query 2: Daily ranking ===' AS msg;
|
SELECT '=== Query 2: Daily ranking ===' AS msg;
|
||||||
SELECT PlayerID, MAX(BestRecord) FROM best_record
|
SELECT PlayerID, COUNT(*) FROM best_record
|
||||||
WHERE MaestroID = 181
|
WHERE MaestroID = 181
|
||||||
AND AppID = 21
|
AND AppID = 21
|
||||||
AND RecordDateTime >= CURDATE()
|
AND RecordDateTime >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')
|
||||||
AND RecordDateTime < CURDATE() + INTERVAL 1 DAY
|
AND RecordDateTime < DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') + INTERVAL 1 HOUR
|
||||||
GROUP BY PlayerID
|
GROUP BY PlayerID
|
||||||
ORDER BY MAX(BestRecord) DESC
|
ORDER BY COUNT(*) DESC
|
||||||
LIMIT 10;
|
LIMIT 10;
|
||||||
|
|
||||||
-- 개선 쿼리 3: 월간 (함수 제거) - 월간 랭킹
|
-- 개선 쿼리 3: 월간 (함수 제거)
|
||||||
SELECT '=== Query 3: Monthly ranking ===' AS msg;
|
SELECT '=== Query 3: Monthly ranking ===' AS msg;
|
||||||
SELECT PlayerID, MAX(BestRecord) FROM best_record
|
SELECT PlayerID, MAX(BestRecord) FROM best_record
|
||||||
WHERE MaestroID = 181
|
WHERE MaestroID = 181
|
||||||
AND AppID = 21
|
AND RecordDateTime >= DATE_FORMAT(NOW(), '%Y-%m-01')
|
||||||
AND RecordDateTime >= CAST(DATE_FORMAT(CURDATE(), '%Y-%m-01') AS DATE)
|
AND RecordDateTime < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 MONTH), '%Y-%m-01')
|
||||||
AND RecordDateTime < CAST(DATE_FORMAT(CURDATE(), '%Y-%m-01') AS DATE) + INTERVAL 1 MONTH
|
|
||||||
GROUP BY PlayerID
|
GROUP BY PlayerID
|
||||||
ORDER BY MAX(BestRecord) DESC
|
ORDER BY MAX(BestRecord) DESC
|
||||||
LIMIT 10;
|
LIMIT 10;
|
||||||
|
|||||||
@@ -1,331 +0,0 @@
|
|||||||
# 안5. 애플리케이션(PHP/화면) 개선 실행 계획
|
|
||||||
|
|
||||||
> 참고: [`doc/plan/db/06-option5-application-layer.md`](../06-option5-application-layer.md) | 단계: **병행** | 난이도: 하~중 | 위험도: 낮음 | 예상 작업량: 2~4일
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 요약
|
|
||||||
|
|
||||||
DB 구조는 그대로 두고 PHP 코드의 비효율과 보안 이슈를 고친다:
|
|
||||||
|
|
||||||
| 항목 | 개선 내용 | 파일 수 | 영향 범위 |
|
|
||||||
|------|---------|--------|---------|
|
|
||||||
| **3-1. 기록 목록 API** | SQL Injection 제거 + COUNT 제거 + 상한 추가 | 3개 + 화면 1개 | 관리자 화면 |
|
|
||||||
| **3-2. 메뉴 N+1 쿼리** | 앱마다 조회 → 종류별 1회 조회 | 4개 | 학생 메뉴 |
|
|
||||||
| **3-4. 랭킹 코드 정리** | 중복 함수 → 공용 함수 1개 (**보류**) | 5개 파일 (12개 함수) | 랭킹 화면 |
|
|
||||||
| **3-3. 랭킹 캐시** | 선택 (측정 후 필요시) | 2개 + DB | 동시 접속 시 |
|
|
||||||
| **3-5. 작은 버그** | 각 파일 수정 중 처리 | 3개 파일 | 부분 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔄 실행 순서
|
|
||||||
|
|
||||||
### 1단계: 기록 목록 API 보안 + 성능 (우선순위 높음)
|
|
||||||
**소요: ~3시간 | 위험도: 낮음 | 롤백: git revert만 가능**
|
|
||||||
|
|
||||||
#### 대상 파일
|
|
||||||
```
|
|
||||||
src/web/server/record/
|
|
||||||
├── request_app_player_record_list.php
|
|
||||||
├── request_writing_player_record_list.php
|
|
||||||
└── request_license_timer_player_record_list.php
|
|
||||||
|
|
||||||
src/web/module/
|
|
||||||
└── maestro_section_record.html (화면 안내)
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 변경 내용
|
|
||||||
- ✅ SQL 문자열 연결 → PreparedStatement + bind_param()
|
|
||||||
- ✅ `get_player_record_total_count()` 호출 제거 (화면에서 미사용)
|
|
||||||
- ✅ "전체 보기" 상한 도입 (예: MAX 1,000건)
|
|
||||||
- ✅ 종료일 처리 통일 (`< DATE(?) + INTERVAL 1 DAY`)
|
|
||||||
- ✅ 자격증 목록 `AppID` 참조 수정
|
|
||||||
|
|
||||||
#### 테스트 항목
|
|
||||||
```
|
|
||||||
□ 과목 전체/묶음(1000~1003)/개별 앱 검색
|
|
||||||
□ 이름 검색 있음/없음, 기간 1일/1개월
|
|
||||||
□ "전체 보기" → 상한 안내 표시
|
|
||||||
□ 종료일 당일 기록 포함 여부
|
|
||||||
□ 보안: 이름 칸에 ' OR '1'='1 입력 → 결과 비거나 해당 검색만
|
|
||||||
□ 자격증 목록 정상 조회
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 체크리스트
|
|
||||||
- [x] 3개 파일 bind_param 변환 완료
|
|
||||||
- [x] COUNT 유지 (요청사항)
|
|
||||||
- [x] LIMIT 상한 없이 유지 (요청사항)
|
|
||||||
- [x] 종료일 < DATE(?) + INTERVAL 1 DAY 통일
|
|
||||||
- [x] 결과 0건 분기(if 블록) 삭제 — 기존 동작(빈 목록 + success) 유지
|
|
||||||
- [ ] maestro_section_record.html 상한 안내 추가 (생략)
|
|
||||||
- [ ] 스테이징 테스트 완료
|
|
||||||
- [ ] SQL Injection 테스트 통과
|
|
||||||
- [ ] 전후 검색 결과 건수 비교 통과
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 2단계: 랭킹 코드 정리 — ⏸️ 보류 (2026-09-15)
|
|
||||||
**소요: ~2시간 | 위험도: 낮음 | 이유: 안1 쿼리 조건 변경 시 공용 함수 1곳만 수정**
|
|
||||||
|
|
||||||
> **보류 사유 (검토 결과)**
|
|
||||||
> - 날짜 조건은 커밋 `629c8ff`에서 12곳 모두 인덱스 적용 형태로 이미 수정됨 → 원래 목적 달성
|
|
||||||
> - 실제 대상은 5개 파일·12개 함수이고, 기간 기준이 서버 시각(`app_ranking.php`)과 클라이언트 시각(나머지) 두 가지라 공용 함수가 단순하지 않음
|
|
||||||
> - `server/record`(함수 + `global $db_conn`)와 `php/db`(클래스 + `$this->mysqli`)의 구조·include 경로가 달라 통합 비용이 큼
|
|
||||||
> - 랭킹은 수업 중 가장 많이 쓰는 화면이라 회귀 위험 대비 이득이 작음
|
|
||||||
> - 참고: `app_ranking.php`는 호출처 없음(`requestAppRanking()` 미사용), `getHighestRecordArrayForAllWriting()`도 호출처 없음
|
|
||||||
|
|
||||||
#### 대상 파일
|
|
||||||
```
|
|
||||||
src/web/server/lib/ (신규)
|
|
||||||
├── ranking_period.php ← 새로 생성 (기간 조건 공용 함수)
|
|
||||||
|
|
||||||
src/web/server/record/
|
|
||||||
├── app_ranking.php (get_ranking_hour/day/month)
|
|
||||||
├── ranking_record_hour.php
|
|
||||||
├── ranking_record_day.php
|
|
||||||
└── ranking_record_month.php
|
|
||||||
|
|
||||||
src/web/php/db/
|
|
||||||
└── typing_exam_collection.php (getRankingRecord*, getRankingMinusRecord*)
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 변경 내용
|
|
||||||
- ✅ 공용 함수 `build_period_condition($column, $period, $date, $time)` 생성
|
|
||||||
- 반환: (SQL 조각, 타입 문자열, 바인딩 값 배열)
|
|
||||||
- 사용자 입력 금지: `$column`은 코드 고정값만
|
|
||||||
- ✅ 기존 엔드포인트 응답 형식 그대로 유지 (클라이언트 변경 없음)
|
|
||||||
- ✅ 10개 파일의 중복 쿼리 → 공용 함수 호출로 통합
|
|
||||||
|
|
||||||
#### 체크리스트
|
|
||||||
- [ ] `src/web/server/lib/ranking_period.php` 생성
|
|
||||||
- [ ] app_ranking.php 내부 구현만 변경
|
|
||||||
- [ ] ranking_record_*.php 내부 구현만 변경
|
|
||||||
- [ ] typing_exam_collection.php 내부 구현만 변경
|
|
||||||
- [ ] 스테이징 랭킹 조회 테스트
|
|
||||||
- [ ] 게임 클라이언트 변경 불필요 확인
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3단계: 메뉴 N+1 쿼리 제거 — ✅ 코드 완료 (2026-09-15, 새 메뉴 경로만)
|
|
||||||
**소요: ~2시간 | 위험도: 낮음 | 영향: 메뉴 진입 속도 (4 + 앱 수 → 약 6회 쿼리)**
|
|
||||||
|
|
||||||
> **검토 결과 및 결정**
|
|
||||||
> - 사용 중인 메뉴는 `client/main_menu.html` → `php/menu/menu_list.php` → `menu_collection.php` / `writing_collection.php` 경로 (탭 클릭마다 호출)
|
|
||||||
> - 옛 메뉴 `server/app/menu_active_typing_*_app_list.php`는 `start.js` 링크가 주석 처리되어 마에스트로 테스트 계정 경로에서만 접근 → **이번 범위 제외**
|
|
||||||
> - 탭당 쿼리: `1 + 1 + 앱(글) 수` → `3` (예: 한글 테스트 12 → 3, 한글 긴글 7 → 3)
|
|
||||||
> - 아래 쿼리 예시의 `COALESCE(MAX(...), 0)`은 **사용하지 않음**: `FLOAT`가 `DOUBLE`로 바뀌어 JSON 소수점이 길어질 수 있음 → `MAX(...) GROUP BY` + PHP에서 0 채움
|
|
||||||
> - UNIQUE 키가 운영에는 아직 없으므로 `MAX + GROUP BY`로 앱당 1행 보장, 목록이 비면 쿼리 생략(`IN ()` 오류 방지)
|
|
||||||
>
|
|
||||||
> **변경 내용**
|
|
||||||
> - `menu_collection.php`: `getTypingHighestRecordList()`를 `AppID IN (...)` 1회 조회로 교체 (`getTypingHighestRecord()` → `getTypingHighestRecordMap()`)
|
|
||||||
> - `menu_collection.php`: `getWritingHighestRecordList()`를 1회 조회로 교체
|
|
||||||
> - `writing_collection.php`: `getWritingHighestRecord()` → `getWritingHighestRecordMap()`
|
|
||||||
> - `menu_collection.php`: `getHighestRecordList()`에 `$appGroup` 인자 추가 (미정의 변수 버그 수정), `menu_list.php` 호출부 수정
|
|
||||||
> - `menu_collection.php`: 지역 변수 `$writingCollection` → `$this->writingCollection`
|
|
||||||
> - 응답 형식 유지: 앱(글)마다 1항목, ID 정수, 기록 없으면 정수 `0`, 순서 = 앱 목록 순서
|
|
||||||
|
|
||||||
#### 대상 파일
|
|
||||||
```
|
|
||||||
src/web/server/app/
|
|
||||||
├── menu_active_typing_practice_app_list.php
|
|
||||||
└── menu_active_typing_test_app_list.php
|
|
||||||
|
|
||||||
src/web/php/db/
|
|
||||||
├── menu_collection.php (getTypingHighestRecordList)
|
|
||||||
└── writing_collection.php (getWritingHighestRecord)
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 변경 내용
|
|
||||||
- ✅ 앱마다 조회 (N+1) → 종류별 1회 + LEFT JOIN 통합
|
|
||||||
- ✅ 기존 응답 형식 그대로 (기록 없는 앱도 AppHighestRecord=0)
|
|
||||||
- ✅ COALESCE(..., 0) 사용해 NULL → 0 변환
|
|
||||||
|
|
||||||
#### 쿼리 변경 예시
|
|
||||||
```php
|
|
||||||
// Before: 앱 수만큼 반복
|
|
||||||
for ($i = 0; $i < $count; $i++) {
|
|
||||||
SELECT MAX(AHR.HighestRecord)
|
|
||||||
FROM app A
|
|
||||||
INNER JOIN app_highest_record AHR ...
|
|
||||||
WHERE A.AppID = ?
|
|
||||||
}
|
|
||||||
|
|
||||||
// After: 1회 조회
|
|
||||||
SELECT A.AppID, COALESCE(MAX(AHR.HighestRecord), 0) AS AppHighestRecord
|
|
||||||
FROM app A
|
|
||||||
LEFT JOIN app_highest_record AHR
|
|
||||||
ON AHR.AppID = A.AppID AND AHR.MaestroID = ? AND AHR.PlayerID = ?
|
|
||||||
WHERE A.AppType = ? AND A.Status = 1
|
|
||||||
GROUP BY A.AppID
|
|
||||||
ORDER BY A.AppID;
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 테스트 항목
|
|
||||||
```
|
|
||||||
□ 새 메뉴(main_menu.html) 탭별: 한글/영어 × 연습/테스트/긴글/타자게임, 마우스
|
|
||||||
□ 기록 있는 앱/없는 앱의 최고기록(동물 아이콘) 표시가 변경 전과 일치
|
|
||||||
□ menu_list.php 응답 JSON의 highestRecordList를 변경 전후 비교 (소수점 자릿수 포함)
|
|
||||||
□ 기록이 전혀 없는 학생 계정으로 메뉴 진입 (오류 없이 모두 0)
|
|
||||||
□ PHP 에러 로그에 Warning/Notice 없음
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 체크리스트
|
|
||||||
- [ ] menu_active_typing_practice_app_list.php 수정 (범위 제외: 옛 메뉴)
|
|
||||||
- [ ] menu_active_typing_test_app_list.php 수정 (범위 제외: 옛 메뉴)
|
|
||||||
- [x] menu_collection.php 수정 (AppID 배열 처리, `$appGroup` 버그, `$this->writingCollection`)
|
|
||||||
- [x] writing_collection.php 수정 (`getWritingHighestRecordMap()`)
|
|
||||||
- [x] menu_list.php 호출부 수정
|
|
||||||
- [ ] 스테이징 메뉴 진입 테스트
|
|
||||||
- [ ] 기록 있는/없는 앱 표시 일치 확인
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 4단계: 작은 버그 수정 — ✅ 코드 완료 (2026-09-15)
|
|
||||||
**소요: ~30분 | 위험도: 매우 낮음**
|
|
||||||
|
|
||||||
> **검토 결과 및 결정**
|
|
||||||
> - PHP 7.3에서 `$x.length === 0`은 `$x . "length"` → `"Arraylength" === 0` → **항상 거짓**. 분기는 한 번도 실행된 적 없고 요청마다 에러 로그에 Warning만 남음. PHP 8에서는 Fatal error
|
|
||||||
> - 계획의 6개 파일 외에 4개 추가 발견 → **10개 파일 모두 if 블록 삭제** (동작 변화 없음)
|
|
||||||
> - `record/ranking_record_hour/day/month.php`, `record/history_record.php`, `record/request_app_highest_record.php`, `app/how_to_play.php`
|
|
||||||
> - (추가) `app/menu_active_app_list.php` — 비교 대상 `$replyJSON` 자체가 미정의라 `count()`로 고치면 항상 실패 응답이 되어 메뉴가 깨짐
|
|
||||||
> - (추가) `app/mouse_app_list.php`, `app/typing_app_list.php`, `player/search_player_list.php` — `search_player_list`는 검색 결과 0명일 때 지금처럼 빈 목록 표시 유지
|
|
||||||
> - `history_record.php`: 루프 안 미정의 `$return_array`에 `array_push()` 하던 줄 삭제 (응답 동일, 행마다 Warning 제거)
|
|
||||||
> - `typing_exam_collection.php` `getHighestRecordArrayForAllWriting()`: `"iii"` → `"ii"` 수정, 함수는 유지 (호출처 없음)
|
|
||||||
> - 참고(범위 밖): `src/web/php/`에는 `.htaccess`가 없고 스테이징 Dockerfile에 `php.ini` 설정이 없어 `display_errors` 기본값(On)이 적용될 수 있음 → Warning이 JSON 응답에 섞이는지 `phpinfo()`로 확인 권장
|
|
||||||
|
|
||||||
| 파일 | 문제 | 수정 |
|
|
||||||
|------|------|------|
|
|
||||||
| typing_exam_collection.php | bind_param("iii", …)에 값 2개만 | "ii"로 수정 또는 함수 삭제 |
|
|
||||||
| server/record/*.php 여러 파일 | `if($replyJSON.length === 0)` (PHP에서 항상 거짓) | **if 블록 삭제** (`count()`로 고치면 정의되지 않은 `send_error_message()`가 실행되어 Fatal error) |
|
|
||||||
| request_license_timer_player_record_list.php | 종료일 당일 기록 누락, 존재하지 않는 LS.AppID | 종료일은 1단계에서 수정 완료. AppID 참조는 화면이 3000만 보내므로 유지 (추후 정리) |
|
|
||||||
|
|
||||||
#### 체크리스트
|
|
||||||
- [x] typing_exam_collection.php bind_param `"iii"` → `"ii"` (함수 유지)
|
|
||||||
- [x] request_*_player_record_list.php 3개: if 블록 삭제 (1단계에서 처리)
|
|
||||||
- [x] 남은 파일 if 블록 삭제: ranking_record_hour/day/month.php, history_record.php, request_app_highest_record.php, app/how_to_play.php
|
|
||||||
- [x] 추가 발견 파일 if 블록 삭제: app/menu_active_app_list.php, app/mouse_app_list.php, app/typing_app_list.php, player/search_player_list.php
|
|
||||||
- [x] history_record.php 미정의 `$return_array` push 줄 삭제
|
|
||||||
- [ ] 스테이징 테스트: 결과·랭킹 화면, 시작 화면(히스토리·최고기록·게임 방법), 메뉴, 마에스트로 앱 활성화·기록·학생 검색(0명 포함)
|
|
||||||
- [ ] 스테이징 PHP 에러 로그에서 `Use of undefined constant length` Warning 사라졌는지 확인
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 5단계: 랭킹 캐시 — ⏸️ 이번 작업에서 제외 (2026-09-15)
|
|
||||||
|
|
||||||
> 1·3·4단계 스테이징/운영 적용 후 수업 시간대 랭킹 쿼리 부하를 측정해서 필요할 때 다시 검토합니다. 진행 시 2단계 보류로 랭킹 코드가 5개 파일·12개 함수에 흩어져 있다는 점을 고려해 캐시 적용 위치부터 재검토해야 합니다.
|
|
||||||
**소요: ~2시간 | 위험도: 낮음 | 조건: 1·2 완료 후 측정에서 필요 판단**
|
|
||||||
|
|
||||||
#### 배경
|
|
||||||
- 교실 수업: 학생 30명 동시 → 동일한 랭킹 쿼리 90회 실행
|
|
||||||
- 랭킹 화면 1시간 열어 둠 → 기록 변화 없어도 720회 쿼리 (5초마다)
|
|
||||||
|
|
||||||
#### 방법 (DB 캐시 테이블 권장)
|
|
||||||
```sql
|
|
||||||
-- ranking 테이블 백업 후 삭제
|
|
||||||
CREATE TABLE ranking_cache (
|
|
||||||
MaestroID INT UNSIGNED NOT NULL,
|
|
||||||
AppID INT UNSIGNED NOT NULL,
|
|
||||||
RankingType CHAR(10) NOT NULL,
|
|
||||||
CachedDateTime DATETIME NOT NULL,
|
|
||||||
Payload MEDIUMTEXT NOT NULL,
|
|
||||||
PRIMARY KEY (MaestroID, AppID, RankingType)
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 체크리스트
|
|
||||||
- [ ] 3-1·3-2 완료 후 성능 측정
|
|
||||||
- [ ] 랭킹 쿼리 슬로우 로그 확인 (필요시만 진행)
|
|
||||||
- [ ] ranking_cache 테이블 생성
|
|
||||||
- [ ] 캐시 조회/저장 로직 구현
|
|
||||||
- [ ] update_result_record.php에 캐시 무효화 추가
|
|
||||||
- [ ] ranking 테이블 백업 후 삭제 또는 유지 결정
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 예상 효과
|
|
||||||
|
|
||||||
| 화면 / API | 변경 전 | 변경 후 | 개선율 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 기록 목록 조회 | COUNT 1회 + 목록 1회 | 목록 1회 | **50% ↓** |
|
|
||||||
| 메뉴 진입 (앱 16개) | ~20회 쿼리 | ~6회 | **67% ↓** |
|
|
||||||
| 결과 화면 랭킹 (학생 30명) | 90회 | 3회 (캐시 미스) | **97% ↓** |
|
|
||||||
| 보안 | SQL Injection 취약 | 안전 (바인딩) | ✅ |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚠️ 주의사항
|
|
||||||
|
|
||||||
| 항목 | 위험 | 대응 |
|
|
||||||
|------|------|------|
|
|
||||||
| **검색 결과 범위 변경** | 과목 묶음 범위, 종료일 처리로 결과 건수 달라질 수 있음 | 변경 전후 같은 조건으로 건수 비교 |
|
|
||||||
| **bind_param 타입 오류** | `$types`와 `$params` 개수 불일치 | 항상 같은 줄 묶음에서 함께 추가 |
|
|
||||||
| **캐시 무효화 누락** | 새 기록 후 오래된 랭킹 표시 | 기록 저장 시 해당 캐시 DELETE |
|
|
||||||
| **응답 형식 변경** | 클라이언트가 다른 형식 기대 | 기존 응답 형식 유지 (LEFT JOIN + COALESCE) |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 스테이징 배포 절차
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. 각 단계별 개발
|
|
||||||
# 2. 로컬 테스트 통과
|
|
||||||
git add src/web/server/record/ src/web/module/ ...
|
|
||||||
git commit -m "3-1: 기록 목록 API SQL Injection 제거 및 성능 개선"
|
|
||||||
|
|
||||||
# 3. 스테이징 배포
|
|
||||||
git push origin 08-app-improvements
|
|
||||||
|
|
||||||
# 4. 스테이징 테스트 완료
|
|
||||||
# 5. 운영 서버 배포 (새벽 2시)
|
|
||||||
git push origin release
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 최종 체크리스트
|
|
||||||
|
|
||||||
### Phase 1: 기록 목록 API
|
|
||||||
- [x] 3개 파일 bind_param 변환 (2026-09-15 완료)
|
|
||||||
- request_app_player_record_list.php ✅
|
|
||||||
- request_writing_player_record_list.php ✅
|
|
||||||
- request_license_timer_player_record_list.php ✅
|
|
||||||
- [x] COUNT 유지, LIMIT 상한 없이 유지
|
|
||||||
- [x] 종료일 < DATE(?) + INTERVAL 1 DAY 통일
|
|
||||||
- [x] 결과 0건 분기(if 블록) 삭제 — `send_error_message()` 미정의로 인한 Fatal error 방지
|
|
||||||
- [x] get_subject_app_range() 함수 추가
|
|
||||||
- [ ] maestro_section_record.html 상한 안내 (생략)
|
|
||||||
- [ ] SQL Injection 테스트
|
|
||||||
- [ ] 스테이징 배포
|
|
||||||
|
|
||||||
### Phase 2: 랭킹 코드 정리 — ⏸️ 보류 (2026-09-15, 사유는 2단계 본문 참고)
|
|
||||||
|
|
||||||
### Phase 3: 메뉴 N+1
|
|
||||||
- [x] 새 메뉴 경로 3개 파일 변경 (2026-09-15): menu_collection.php, writing_collection.php, menu_list.php
|
|
||||||
- [x] `IN (...)` + `MAX ... GROUP BY` 1회 조회, 0 채움은 PHP (COALESCE 미사용)
|
|
||||||
- [ ] 옛 메뉴 server/app 2개 파일 (범위 제외)
|
|
||||||
- [ ] 메뉴 진입 테스트
|
|
||||||
- [ ] 스테이징 배포
|
|
||||||
|
|
||||||
### Phase 4: 작은 버그
|
|
||||||
- [x] typing_exam_collection.php `"iii"` → `"ii"` (2026-09-15)
|
|
||||||
- [x] `.length` if 블록 삭제: 13개 파일 (1단계 3개 + 4단계 10개)
|
|
||||||
- [x] history_record.php 미정의 변수 push 삭제
|
|
||||||
- [ ] ~~라이선스 타이머 재작성~~ (종료일은 1단계 완료, AppID 참조는 유지 결정)
|
|
||||||
- [ ] 스테이징 테스트
|
|
||||||
|
|
||||||
### Phase 5: 랭킹 캐시 — ⏸️ 이번 작업에서 제외 (2026-09-15, 측정 후 재검토)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔗 참고 문서
|
|
||||||
|
|
||||||
| 링크 | 설명 |
|
|
||||||
|------|------|
|
|
||||||
| [`06-option5-application-layer.md`](../06-option5-application-layer.md) | 전체 개선 계획 및 코드 예시 |
|
|
||||||
| [`00-overview.md`](00-overview.md) | DB 인덱스 개선 계획 (병행) |
|
|
||||||
| `AGENTS.md` | 프로젝트 아키텍처 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**작성일:** 2026-09-15
|
|
||||||
**상태:** 1·3·4단계 코드 완료, 2·5단계 보류 → ⏳ 스테이징 테스트 대기 (2026-09-15)
|
|
||||||
@@ -6,8 +6,6 @@
|
|||||||
|
|
||||||
## 📋 문서 구조
|
## 📋 문서 구조
|
||||||
|
|
||||||
### 안1: DB 인덱스 + 쿼리 최적화
|
|
||||||
|
|
||||||
| # | 파일 | 설명 | 소요시간 |
|
| # | 파일 | 설명 | 소요시간 |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 00 | `00-overview.md` | 전체 계획 및 사전 확인 | - |
|
| 00 | `00-overview.md` | 전체 계획 및 사전 확인 | - |
|
||||||
@@ -17,12 +15,6 @@
|
|||||||
| 04 | `04-verify.md` | **개선 후 성능 측정 및 비교** (EXPLAIN, 성능 비교) | 15분 |
|
| 04 | `04-verify.md` | **개선 후 성능 측정 및 비교** (EXPLAIN, 성능 비교) | 15분 |
|
||||||
| 05 | `05-checklist.md` | **최종 체크리스트** (성공 기준) | 10분 |
|
| 05 | `05-checklist.md` | **최종 체크리스트** (성공 기준) | 10분 |
|
||||||
|
|
||||||
### 안5: 애플리케이션 개선 (병행)
|
|
||||||
|
|
||||||
| # | 파일 | 설명 | 소요시간 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 08 | `08-application-layer-improvements.md` | PHP/화면 개선 전체 계획 (5단계) | 2~4일 |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🚀 빠른 시작
|
## 🚀 빠른 시작
|
||||||
@@ -75,30 +67,19 @@
|
|||||||
|
|
||||||
## 🔗 관련 문서
|
## 🔗 관련 문서
|
||||||
|
|
||||||
- **계획 (안1):** [`doc/plan/db/02-option1-index-and-query-rewrite.md`](../02-option1-index-and-query-rewrite.md)
|
- **계획:** [`doc/plan/db/02-option1-index-and-query-rewrite.md`](../02-option1-index-and-query-rewrite.md)
|
||||||
- **계획 (안5):** [`doc/plan/db/06-option5-application-layer.md`](../06-option5-application-layer.md)
|
|
||||||
- **운영 서버:** 260915-improve-production 디렉토리 (진행 예정)
|
- **운영 서버:** 260915-improve-production 디렉토리 (진행 예정)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📝 진행 상황
|
## 📝 진행 상황
|
||||||
|
|
||||||
### 안1 (DB 인덱스)
|
|
||||||
| 단계 | 상태 | 날짜 |
|
| 단계 | 상태 | 날짜 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 계획 수립 | ✅ 완료 | 2026-09-15 |
|
| 계획 수립 | ✅ 완료 | 2026-09-15 |
|
||||||
| 스테이징 테스트 | ⏳ 준비 중 | |
|
| 스테이징 테스트 | ⏳ 준비 중 | |
|
||||||
| 운영 서버 적용 | ⏳ 대기 중 | |
|
| 운영 서버 적용 | ⏳ 대기 중 | |
|
||||||
|
|
||||||
### 안5 (Application Layer)
|
|
||||||
| 단계 | 상태 | 날짜 |
|
|
||||||
|---|---|---|
|
|
||||||
| Phase 1: 기록 목록 API | ✅ 코드 완료 | 2026-09-15 |
|
|
||||||
| Phase 2: 랭킹 코드 정리 | ⏸️ 보류 (날짜 조건은 629c8ff에서 이미 수정됨) | 2026-09-15 |
|
|
||||||
| Phase 3: 메뉴 N+1 제거 | ✅ 코드 완료 (새 메뉴 경로) | 2026-09-15 |
|
|
||||||
| Phase 4: 작은 버그 | ✅ 코드 완료 (`.length` 분기 13개 파일 정리) | 2026-09-15 |
|
|
||||||
| Phase 5: 랭킹 캐시 | ⏸️ 이번 작업에서 제외 (측정 후 재검토) | 2026-09-15 |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 💾 저장 위치
|
## 💾 저장 위치
|
||||||
@@ -124,12 +105,6 @@ doc/plan/db/260915-improve-stage/
|
|||||||
|
|
||||||
## 다음 단계
|
## 다음 단계
|
||||||
|
|
||||||
### 안1 (DB 인덱스 - 진행 중)
|
1. **지금:** 01-premeasure.md부터 시작
|
||||||
1. **지금:** 01-premeasure.md부터 시작 → 05-checklist.md 완료
|
2. **스테이징 완료 후:** 260915-improve-production 디렉토리 생성
|
||||||
2. **스테이징 완료 후:** 260915-improve-production 디렉토리에서 운영 적용 (새벽 2시)
|
3. **운영 서버:** 동일한 절차 (새벽 2시)
|
||||||
|
|
||||||
### 안5 (Application Layer - 병행 권장)
|
|
||||||
1. **08-application-layer-improvements.md** 읽기 (5단계 실행 계획)
|
|
||||||
2. **각 단계별 개발** (3-1 → 3-4 → 3-2 → 3-5 순서)
|
|
||||||
3. **스테이징 배포** → 테스트
|
|
||||||
4. **운영 서버 배포** (안1 후 또는 동시 가능)
|
|
||||||
|
|||||||
@@ -17,31 +17,6 @@
|
|||||||
|
|
||||||
## ✅ 검증 항목별 결과
|
## ✅ 검증 항목별 결과
|
||||||
|
|
||||||
### 0️⃣ 쿼리 조건 개선 (7개 파일, 8+ 함수)
|
|
||||||
|
|
||||||
| 파일 | 함수 | 변경 내용 | 상태 |
|
|
||||||
|------|------|---------|------|
|
|
||||||
| `update_result_record.php` | `get_best_record()` | DATE/HOUR → 범위 조건 | ✅ 완료 |
|
|
||||||
| `app_ranking.php` | `get_ranking_hour/day/month()` | 함수 제거 + 월간 연도 버그 수정 | ✅ 완료 |
|
|
||||||
| `ranking_record_hour.php` | `get_ranking_record_hour()` | YEAR/MONTH/HOUR → 범위 조건 | ✅ 완료 |
|
|
||||||
| `ranking_record_day.php` | `get_ranking_record_day()` | YEAR/MONTH/DAYOFMONTH → 범위 조건 | ✅ 완료 |
|
|
||||||
| `ranking_record_month.php` | `get_ranking_record_month()` | YEAR/MONTH → 범위 조건 | ✅ 완료 |
|
|
||||||
| `history_record.php` | `get_history_record()` | DATE 함수 제거 + SQL Injection 방지 (상한 조건만 사용, 아래 ⚠️ 참고) | ✅ 완료 (후속 수정) |
|
|
||||||
| `typing_exam_collection.php` | 8개 함수 | 시간/일간/월간 조건 개선 (`getHistoryRecord()`는 아래 ⚠️ 참고) | ✅ 완료 (후속 수정) |
|
|
||||||
|
|
||||||
**검증 결과:**
|
|
||||||
- ✅ 결과 동일성: 모든 쿼리 일치 (EXCEPT로 확인)
|
|
||||||
- ✅ 성능 개선: 읽는 행 5,804행 → 1행 (5,804배), 비용 8.634 → 0.00488 (1,770배)
|
|
||||||
- ✅ 인덱스 활용: access_type ALL → range, key_length 8 → 13
|
|
||||||
|
|
||||||
> ⚠️ **후속 수정 (2026-09-15, 커밋 629c8ff 검토)**
|
|
||||||
> - **문제:** `history_record.php` `get_history_record()`와 `typing_exam_collection.php` `getHistoryRecord()`에 하한 조건 `RecordDateTime >= DATE(?) - INTERVAL 7 DAY`가 추가되어, 히스토리가 "기록이 있는 최근 7일"에서 "최근 8일(달력) 안의 기록"으로 바뀜 → 일주일 넘게 쉰 학생은 시작 화면 그래프와 결과 화면 히스토리가 비어 보임
|
|
||||||
> - **근거:** 요구사항 "마지막으로 플레이한 7일은 보여준다"([01-improvement-overview.md](../../01-improvement-overview.md)), 원래 계획([02-option1 D·E절](../../02-option1-index-and-query-rewrite.md))에도 상한 조건만 있었음
|
|
||||||
> - **수정:** 하한 조건 삭제, `RecordDateTime < DATE(?) + INTERVAL 1 DAY`만 유지 → 기존 `DATE(RecordDateTime) <= ?`와 결과 동일, 인덱스 `(MaestroID, PlayerID, AppID/WritingID, RecordDateTime)` 사용 유지. `bind_param` `'iisss'` → `'iiis'` (정수 ID를 문자열로 바인딩하던 타입도 정리)
|
|
||||||
> - **재검증 필요:** 8일보다 전 기록만 있는 학생 계정으로 변경 전 쿼리와 결과 비교, 일반 앱·긴글의 시작·결과 화면 히스토리 표시 확인
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 1️⃣ 인덱스 추가 (5개)
|
### 1️⃣ 인덱스 추가 (5개)
|
||||||
|
|
||||||
| 테이블 | 인덱스 | 상태 | 위험도 |
|
| 테이블 | 인덱스 | 상태 | 위험도 |
|
||||||
@@ -190,9 +165,9 @@ SELECT COUNT(DISTINCT MaestroID, PlayerID, WritingID) unique FROM typing_exam_hi
|
|||||||
- ON DUPLICATE KEY UPDATE 추가
|
- ON DUPLICATE KEY UPDATE 추가
|
||||||
- 또는 try-catch 추가
|
- 또는 try-catch 추가
|
||||||
|
|
||||||
- [x] ✅ 쿼리 최적화
|
- [ ] 🟡 쿼리 최적화
|
||||||
- DATE/HOUR 함수 → 범위 조건으로 변경
|
- DATE/HOUR 함수 → 범위 조건으로 변경
|
||||||
- 7개 파일, 8+ 함수 완료 (2026-09-15)
|
- (별도 작업)
|
||||||
|
|
||||||
### 모니터링 (⭐)
|
### 모니터링 (⭐)
|
||||||
|
|
||||||
|
|||||||
@@ -8,28 +8,6 @@
|
|||||||
|
|
||||||
## 📋 개선사항 요약
|
## 📋 개선사항 요약
|
||||||
|
|
||||||
### 0️⃣ 쿼리 조건 수정 (7개 파일, 8+ 함수)
|
|
||||||
|
|
||||||
**변경 내용:**
|
|
||||||
- DATE()/HOUR()/MONTH()/YEAR()/DAYOFMONTH() 함수 제거
|
|
||||||
- 범위 조건(>=, <)으로 변환하여 인덱스 활용 가능
|
|
||||||
- bind_param 파라미터 순서 최적화
|
|
||||||
|
|
||||||
**적용된 파일:**
|
|
||||||
1. `update_result_record.php` - `get_best_record()`
|
|
||||||
2. `app_ranking.php` - `get_ranking_hour/day/month()` (+ 월간 연도 버그 수정)
|
|
||||||
3. `ranking_record_hour.php` - `get_ranking_record_hour()`
|
|
||||||
4. `ranking_record_day.php` - `get_ranking_record_day()`
|
|
||||||
5. `ranking_record_month.php` - `get_ranking_record_month()`
|
|
||||||
6. `history_record.php` - `get_history_record()` (+ SQL Injection 방지)
|
|
||||||
7. `typing_exam_collection.php` - 8개 함수 (시간/일간/월간)
|
|
||||||
|
|
||||||
**검증 결과:** ✅ 모든 쿼리 결과 동일, 성능 1,770배 개선
|
|
||||||
|
|
||||||
> ⚠️ **후속 수정 (2026-09-15):** 6번 `get_history_record()`와 7번 `getHistoryRecord()`에 하한 조건(`>= DATE(?) - INTERVAL 7 DAY`)이 추가되어 "기록이 있는 최근 7일" 동작이 "최근 8일 안의 기록"으로 달라졌던 것을 확인하고, 상한 조건만 남기도록 수정함 (`bind_param` `'iiis'`). 자세한 내용은 [FINAL-REPORT.md](FINAL-REPORT.md) 참고. 두 히스토리 쿼리는 재검증 필요
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 1️⃣ 인덱스 추가 (4개 테이블)
|
### 1️⃣ 인덱스 추가 (4개 테이블)
|
||||||
|
|
||||||
| 테이블 | 인덱스명 | 칼럼 | 용도 |
|
| 테이블 | 인덱스명 | 칼럼 | 용도 |
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ WHERE RecordDateTime >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')
|
|||||||
- [ ] `src/web/server/app/` - 앱 랭킹 쿼리
|
- [ ] `src/web/server/app/` - 앱 랭킹 쿼리
|
||||||
- [ ] `src/game/` - 게임 엔진 내 쿼리 (있다면)
|
- [ ] `src/game/` - 게임 엔진 내 쿼리 (있다면)
|
||||||
|
|
||||||
**현재 상태:** ✅ 검증 완료 - 소스 코드 개선됨 (2026-09-15)
|
**현재 상태:** ℹ️ 미검증 (소스 코드 추가 검색 필요)
|
||||||
|
|
||||||
### 2️⃣ 선택사항 (Robustness)
|
### 2️⃣ 선택사항 (Robustness)
|
||||||
|
|
||||||
|
|||||||
@@ -1,907 +0,0 @@
|
|||||||
# 운영 서버 부하·용량 확인 방법 (260916)
|
|
||||||
|
|
||||||
> 서비스 중인 초코마에 운영 서버(AWS EC2 + MariaDB)에서 아래 3가지를 확인하기 위한 **방법 모음**입니다.
|
|
||||||
> 각 항목마다 여러 방법을 나열했으니, 권한·설치 가능 여부·측정 기간에 맞춰 골라서 쓰세요.
|
|
||||||
>
|
|
||||||
> | 확인 항목 | 문서 위치 |
|
|
||||||
> |---|---|
|
|
||||||
> | ① EC2 인스턴스에서 MariaDB에 걸리는 성능 부하 | [A. MariaDB 성능 부하 측정](#a-mariadb-성능-부하-측정) |
|
|
||||||
> | ② 접속 서비스(chocomae / chocoadmin)별 pool 할당·부하 | [B. 접속 서비스별 연결 pool·부하 측정](#b-접속-서비스별-연결-pool부하-측정) |
|
|
||||||
> | ③ `best_record` 등 기록 테이블에 데이터가 몇 개까지 들어가는지 | [C. 테이블 최대 저장 가능 행 수](#c-테이블-최대-저장-가능-행-수) |
|
|
||||||
>
|
|
||||||
> ⚠️ 이 문서는 **측정 방법만** 다룹니다. 실제 값은 `result/`에 저장하고, 결론은 [90-결과-기록-양식](#90-결과-기록-양식)에 채웁니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 0. 사전 준비
|
|
||||||
|
|
||||||
### 0-1. 용어 정리
|
|
||||||
|
|
||||||
- 질문의 **`best_score` 테이블**은 실제 스키마에 없습니다. 점수/기록을 담는 테이블은 아래 4개입니다. 이 문서에서는 이 4개를 "기록 테이블"로 부릅니다.
|
|
||||||
|
|
||||||
| 테이블 | 내용 | PK |
|
|
||||||
|---|---|---|
|
|
||||||
| `best_record` | 게임 플레이 기록 (가장 큼, 약 121만 행) | `BestRecordID INT UNSIGNED AUTO_INCREMENT` |
|
|
||||||
| `app_highest_record` | 앱별 최고 기록 | `AppHighestRecordID INT UNSIGNED AUTO_INCREMENT` |
|
|
||||||
| `typing_exam_record` | 타자 시험 기록 (약 13만 행) | `TypingExamRecordID INT UNSIGNED AUTO_INCREMENT` |
|
|
||||||
| `typing_exam_highest_record` | 타자 시험 최고 기록 | `TypingExamHighestRecordID INT UNSIGNED AUTO_INCREMENT` |
|
|
||||||
|
|
||||||
### 0-2. 접속 경로 3가지
|
|
||||||
|
|
||||||
측정 방법마다 필요한 접속 경로가 다릅니다.
|
|
||||||
|
|
||||||
| 경로 | 접속 방법 | 할 수 있는 것 |
|
|
||||||
|---|---|---|
|
|
||||||
| **(가) EC2 SSH** | `ssh ubuntu@13.124.33.235` (chocomae.jisangs.com) | OS 지표(CPU/메모리/디스크 I/O), 설정 파일, 로그 파일, 로컬 mariadb 접속 |
|
|
||||||
| **(나) 원격 DB 클라이언트** | `mariadb -h chocomae.jinaju.com -P 3306 -u <계정> -p chocomae` | SQL로 가능한 모든 측정 (상태 변수, PROCESSLIST, EXPLAIN) |
|
|
||||||
| **(다) 시놀로지 SSH** | `ssh happyhome@jisangs.synology.me` | chocoadmin 컨테이너 설정·로그, 시놀로지→운영 DB 연결 확인 |
|
|
||||||
|
|
||||||
> ⚠️ 2026-09-15 작업에 쓰던 임시 계정 `jisangs`는 작업 후 **삭제**했습니다. 이번 측정에도 조회 전용 계정이 필요하니, 아래 중 하나를 먼저 정하세요.
|
|
||||||
>
|
|
||||||
> 1. 관리자(root) 계정으로 직접 측정 (가장 간단, 권한 문제 없음)
|
|
||||||
> 2. 측정 전용 임시 계정을 다시 만들고 끝나면 삭제
|
|
||||||
> ```sql
|
|
||||||
> -- 관리자 계정으로 실행
|
|
||||||
> CREATE USER 'perfcheck'@'182.217.174.221' IDENTIFIED BY '<임시 비밀번호>';
|
|
||||||
> GRANT SELECT, PROCESS, REPLICATION CLIENT ON *.* TO 'perfcheck'@'182.217.174.221';
|
|
||||||
> GRANT SELECT ON mysql.slow_log TO 'perfcheck'@'182.217.174.221';
|
|
||||||
> -- 측정 종료 후
|
|
||||||
> -- DROP USER 'perfcheck'@'182.217.174.221';
|
|
||||||
> ```
|
|
||||||
> 3. EC2에 SSH로 들어가 `localhost` 소켓으로 접속 (원격 계정을 새로 만들지 않아도 됨)
|
|
||||||
|
|
||||||
### 0-3. 측정에 필요한 권한
|
|
||||||
|
|
||||||
| 측정 내용 | 필요 권한 |
|
|
||||||
|---|---|
|
|
||||||
| `SHOW GLOBAL STATUS`, `SHOW VARIABLES`, `information_schema.TABLES` | 기본 (일반 계정 가능) |
|
|
||||||
| `SHOW FULL PROCESSLIST` (다른 계정 세션까지 보기), `SHOW ENGINE INNODB STATUS` | `PROCESS` |
|
|
||||||
| `mysql.slow_log` 조회 | `mysql.slow_log` SELECT |
|
|
||||||
| `SET GLOBAL ...` (slow log 켜기, `userstat` 켜기) | `SUPER` |
|
|
||||||
| OS 지표, 설정 파일, 로그 파일 | EC2 SSH (`ubuntu` 계정, 일부는 `sudo`) |
|
|
||||||
|
|
||||||
### 0-4. 결과 저장 위치
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd doc/plan/db/260916-load-and-capacity-check/result
|
|
||||||
```
|
|
||||||
|
|
||||||
> 개인정보·비밀번호 해시가 섞일 수 있는 파일(`*grants*`, 덤프)은 커밋하지 마세요. 2026-09-15 작업의 관례를 따릅니다.
|
|
||||||
|
|
||||||
### 0-5. MariaDB가 도커인지 호스트 설치인지 먼저 확인
|
|
||||||
|
|
||||||
문서마다 명령어가 달라지므로 **가장 먼저** 확인합니다. (EC2 SSH)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}'
|
|
||||||
systemctl status mariadb --no-pager | head -5
|
|
||||||
ls -l /var/lib/mysql | head -5
|
|
||||||
```
|
|
||||||
|
|
||||||
- 도커면: 이후 모든 `mariadb ...` 명령 앞에 `sudo docker exec -i <컨테이너명> ` 을 붙입니다.
|
|
||||||
- 호스트 설치면: 명령을 그대로 씁니다. (README 기준 설정은 `/etc/mysql`, 로그는 `/var/log/mysql`)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## A. MariaDB 성능 부하 측정
|
|
||||||
|
|
||||||
> "지금 이 EC2에서 MariaDB가 얼마나 힘들어하는가"를 보는 방법들입니다.
|
|
||||||
> **OS 레벨(A-1)** 과 **DB 레벨(A-2~A-5)** 을 같이 봐야 원인을 가릴 수 있습니다.
|
|
||||||
|
|
||||||
### A-0. 방법 비교
|
|
||||||
|
|
||||||
| 방법 | 보는 것 | 설치 필요 | 측정 부하 | 지속 관찰 | 추천도 |
|
|
||||||
|---|---|---|---|---|---|
|
|
||||||
| A-1 OS 지표 | CPU·메모리·디스크 I/O·스왑 | 없음(일부 `sysstat`) | 매우 낮음 | 스냅샷~단기 | ★★★ |
|
|
||||||
| A-2 상태 변수 델타 | QPS, 버퍼 풀 적중률, 임시 테이블, 잠금 | 없음 | 매우 낮음 | 단기 | ★★★ |
|
|
||||||
| A-3 PROCESSLIST·INNODB STATUS | 지금 실행 중인 쿼리, 대기·잠금 | 없음 | 매우 낮음 | 스냅샷 | ★★★ |
|
|
||||||
| A-4 slow query log | 느린 쿼리 목록·빈도 | 없음 | 낮음(설정 주의) | 장기 | ★★★ |
|
|
||||||
| A-5 userstat / performance_schema | 쿼리 다이제스트별·계정별 누적 부하 | 없음(설정 변경) | 낮음~중간 | 장기 | ★★☆ |
|
|
||||||
| A-6 모니터링 도구 | 시계열 그래프, 알림 | 있음 | 낮음 | 상시 | ★★☆ |
|
|
||||||
|
|
||||||
**추천 조합:** 먼저 A-1 + A-2 + A-3으로 현재 상태를 잡고, A-4를 24시간 돌려 실제 서비스 쿼리를 확인합니다. 상시 감시가 필요해지면 A-6.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 A-1. OS 레벨 지표 (EC2 SSH)
|
|
||||||
|
|
||||||
**A-1-1. 한 번에 훑기**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 인스턴스 사양·부하 평균
|
|
||||||
nproc; free -h; uptime
|
|
||||||
|
|
||||||
# 프로세스별 CPU·메모리 상위 10개 (mysqld가 몇 위인지)
|
|
||||||
ps -eo pid,comm,pcpu,pmem,rss --sort=-pcpu | head -11
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-1-2. 실시간 관찰**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
top -b -n 3 -d 5 | grep -E 'Cpu|Mem|mysqld' > os_top.txt
|
|
||||||
cat os_top.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-1-3. CPU·디스크 I/O 시계열 (sysstat 필요)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt-get install -y sysstat # 이미 있으면 생략
|
|
||||||
|
|
||||||
# 5초 간격 12회 = 1분치 CPU·메모리·스왑
|
|
||||||
vmstat 5 12 > os_vmstat.txt
|
|
||||||
|
|
||||||
# 5초 간격 12회 디스크 I/O (await, %util 확인)
|
|
||||||
iostat -dx 5 12 > os_iostat.txt
|
|
||||||
|
|
||||||
# mysqld 프로세스만 따로
|
|
||||||
pidstat -p $(pgrep -o mysqld) 5 12 > os_pidstat_mysqld.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**판단 기준**
|
|
||||||
|
|
||||||
| 지표 | 정상 | 주의 |
|
|
||||||
|---|---|---|
|
|
||||||
| `vmstat` `r`(실행 대기) | vCPU 수 이하 | vCPU 수보다 계속 큼 → CPU 포화 |
|
|
||||||
| `vmstat` `si/so`(스왑) | 0 | 0보다 큼 → 메모리 부족, DB 성능 급락 |
|
|
||||||
| `iostat` `%util` | 50% 이하 | 90% 이상 지속 → 디스크 I/O 병목 |
|
|
||||||
| `iostat` `await` | 10ms 이하(EBS gp3) | 수십 ms 이상 → I/O 대기 |
|
|
||||||
| `free -h` `available` | 여유 있음 | 0에 가까움 → 버퍼 풀 축소 검토 |
|
|
||||||
|
|
||||||
**A-1-4. 도커로 돌고 있다면**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo docker stats --no-stream
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-1-5. AWS CloudWatch (SSH 없이 확인)**
|
|
||||||
|
|
||||||
EC2 콘솔 → 대상 인스턴스 → **모니터링** 탭에서 `CPUUtilization`, `EBSReadOps`/`EBSWriteOps`, `NetworkIn/Out`을 기간별로 봅니다. 기본 지표는 5분 간격이며, 메모리·디스크 사용률은 CloudWatch Agent를 설치해야 나옵니다. **과거 추이**를 보는 데 가장 편합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 A-2. MariaDB 상태 변수 델타 측정
|
|
||||||
|
|
||||||
절대 누적값은 서버 기동 이후 합계라 의미가 약합니다. **일정 시간 동안의 증가량(델타)** 을 봐야 합니다.
|
|
||||||
|
|
||||||
**A-2-1. 가장 간단한 방법 — `mariadb-admin`의 상대값 출력**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 10초 간격 6회, 이전 값 대비 증가량만 출력
|
|
||||||
mariadb-admin -h chocomae.jinaju.com -u <계정> -p extended-status -i 10 -c 6 -r \
|
|
||||||
| grep -vE '\|\s+0\s+\|' > db_status_delta.txt
|
|
||||||
|
|
||||||
cat db_status_delta.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-2-2. 요약 한 줄 보기**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 5초 간격으로 Queries/초, Threads, Opens, Slow queries 표시 (Ctrl+C로 종료)
|
|
||||||
mariadb-admin -h chocomae.jinaju.com -u <계정> -p status -i 5
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-2-3. 직접 SQL로 60초 델타 뽑기**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p chocomae -N -B -e "
|
|
||||||
SHOW GLOBAL STATUS;" > st1.txt
|
|
||||||
sleep 60
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p chocomae -N -B -e "
|
|
||||||
SHOW GLOBAL STATUS;" > st2.txt
|
|
||||||
|
|
||||||
join st1.txt st2.txt | awk '{d=$3-$2; if (d>0) printf "%-40s %12d\n", $1, d}' \
|
|
||||||
| sort -k2 -nr | head -40 > db_status_delta_60s.txt
|
|
||||||
|
|
||||||
cat db_status_delta_60s.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-2-4. 꼭 봐야 할 값**
|
|
||||||
|
|
||||||
| 상태 변수 | 의미 | 해석 |
|
|
||||||
|---|---|---|
|
|
||||||
| `Questions`, `Com_select`, `Com_insert` | 처리한 쿼리 수 | 60초 델타 ÷ 60 = QPS |
|
|
||||||
| `Threads_connected` / `Threads_running` | 연결 수 / 실제 실행 중 | `Threads_running`이 지속적으로 vCPU 수 이상이면 과부하 |
|
|
||||||
| `Innodb_buffer_pool_read_requests` vs `Innodb_buffer_pool_reads` | 논리 읽기 vs 디스크 읽기 | 적중률 = (1 - reads/read_requests) × 100, **99% 미만이면 버퍼 풀 부족 의심** |
|
|
||||||
| `Created_tmp_disk_tables` | 디스크 임시 테이블 | 증가하면 `GROUP BY`/`ORDER BY`가 디스크로 넘어감 |
|
|
||||||
| `Select_scan`, `Select_full_join` | 풀 스캔 쿼리 수 | 증가하면 인덱스 미사용 쿼리 존재 |
|
|
||||||
| `Slow_queries` | 느린 쿼리 수 | A-4와 함께 확인 |
|
|
||||||
| `Table_locks_waited`, `Innodb_row_lock_waits`, `Innodb_row_lock_time_avg` | 잠금 대기 | 0에 가까워야 정상 |
|
|
||||||
| `Aborted_connects`, `Connection_errors_max_connections` | 연결 실패 | 0보다 크면 B 항목에서 원인 추적 |
|
|
||||||
|
|
||||||
**A-2-5. 버퍼 풀 적중률·크기 한 번에 계산**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SELECT
|
|
||||||
(SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES
|
|
||||||
WHERE VARIABLE_NAME='innodb_buffer_pool_size')/1024/1024 AS buffer_pool_mb,
|
|
||||||
(SELECT ROUND(SUM(DATA_LENGTH+INDEX_LENGTH)/1024/1024,1) FROM information_schema.TABLES
|
|
||||||
WHERE TABLE_SCHEMA='chocomae') AS chocomae_total_mb,
|
|
||||||
ROUND(100 - (
|
|
||||||
(SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME='Innodb_buffer_pool_reads') /
|
|
||||||
(SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME='Innodb_buffer_pool_read_requests')
|
|
||||||
) * 100, 3) AS hit_rate_pct;" > db_buffer_pool.txt
|
|
||||||
|
|
||||||
cat db_buffer_pool.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> `chocomae_total_mb`가 `buffer_pool_mb`보다 작으면 데이터 전체가 메모리에 올라가므로 디스크 I/O 부하는 거의 없습니다. 이 값은 C-3(실용적 상한 계산)에서 다시 씁니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 A-3. 실행 중인 쿼리·잠금 관찰
|
|
||||||
|
|
||||||
**A-3-1. 지금 무엇이 돌고 있는가**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, LEFT(INFO,120) AS query
|
|
||||||
FROM information_schema.PROCESSLIST
|
|
||||||
WHERE COMMAND <> 'Sleep'
|
|
||||||
ORDER BY TIME DESC;"
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-3-2. 1초 간격으로 반복 관찰 (부하가 걸리는 시간대에)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
for i in $(seq 1 60); do
|
|
||||||
date +%FT%T
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p<비밀번호> -N -B -e "
|
|
||||||
SELECT COUNT(*) AS running FROM information_schema.PROCESSLIST WHERE COMMAND<>'Sleep';"
|
|
||||||
sleep 1
|
|
||||||
done > db_running_1min.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> 비밀번호를 명령줄에 쓰면 셸 히스토리에 남습니다. `~/.my.cnf`(`[client]` 섹션)에 적어두고 `-p`를 빼는 편이 안전합니다.
|
|
||||||
|
|
||||||
**A-3-3. InnoDB 내부 상태 (잠금·대기·I/O)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "SHOW ENGINE INNODB STATUS\G" > db_innodb_status.txt
|
|
||||||
|
|
||||||
grep -A12 'TRANSACTIONS' db_innodb_status.txt
|
|
||||||
grep -A10 'BUFFER POOL AND MEMORY' db_innodb_status.txt
|
|
||||||
grep -A8 'LATEST DETECTED DEADLOCK' db_innodb_status.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-3-4. 대기 중인 잠금만 콕 집어 보기**
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- MariaDB 10.5+ (information_schema.INNODB_TRX + metadata lock 정보)
|
|
||||||
SELECT trx_id, trx_state, trx_started, trx_wait_started, trx_mysql_thread_id, LEFT(trx_query,100)
|
|
||||||
FROM information_schema.INNODB_TRX
|
|
||||||
ORDER BY trx_started;
|
|
||||||
|
|
||||||
SELECT * FROM information_schema.METADATA_LOCK_INFO; -- 플러그인 설치 시
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 A-4. Slow query log 분석
|
|
||||||
|
|
||||||
2026-09-15 작업 때 이미 켰던 경로라 재사용이 쉽습니다.
|
|
||||||
|
|
||||||
**A-4-1. 현재 설정 확인**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SHOW GLOBAL VARIABLES WHERE Variable_name IN
|
|
||||||
('slow_query_log','slow_query_log_file','long_query_time','log_output',
|
|
||||||
'log_queries_not_using_indexes','log_slow_admin_statements','min_examined_row_limit');" > slow_log_settings.txt
|
|
||||||
|
|
||||||
cat slow_log_settings.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-4-2. 측정 기간에만 임계값 낮추기 (`SUPER` 필요)**
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 원래 값을 먼저 기록해 두고 실행
|
|
||||||
SET GLOBAL long_query_time = 0.5; -- 0.5초 이상 쿼리를 기록
|
|
||||||
SET GLOBAL slow_query_log = ON;
|
|
||||||
-- 측정 종료 후 원래 값으로 복원 (예: 3초)
|
|
||||||
-- SET GLOBAL long_query_time = 3;
|
|
||||||
```
|
|
||||||
|
|
||||||
> ⚠️ `log_queries_not_using_indexes`는 켜지 마세요. 인덱스를 안 쓰는 모든 쿼리가 기록돼 로그가 폭증합니다. `log_output`에 `TABLE`이 포함돼 있으면 `mysql.slow_log`가 계속 커지고 자동으로 비워지지 않습니다.
|
|
||||||
|
|
||||||
**A-4-3. 파일 로그 분석 (EC2 SSH)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 요약: 실행 시간 합계가 큰 순서로 정렬
|
|
||||||
sudo mariadb-dumpslow -s t -t 20 /var/log/mysql/mariadb-slow.log > slow_top20.txt
|
|
||||||
cat slow_top20.txt
|
|
||||||
|
|
||||||
# 더 정밀한 분석이 필요하면 (percona-toolkit 설치 필요)
|
|
||||||
sudo apt-get install -y percona-toolkit
|
|
||||||
sudo pt-query-digest /var/log/mysql/mariadb-slow.log > slow_digest.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**A-4-4. 테이블 로그 분석 (`log_output`에 `TABLE`이 있을 때)**
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 일자별 건수
|
|
||||||
SELECT DATE(start_time) AS d, COUNT(*) AS cnt, ROUND(MAX(query_time_sec),1) AS max_sec
|
|
||||||
FROM (SELECT start_time, TIME_TO_SEC(query_time) AS query_time_sec FROM mysql.slow_log) t
|
|
||||||
GROUP BY d ORDER BY d;
|
|
||||||
|
|
||||||
-- 계정·호스트별 느린 쿼리 (B 항목에서 서비스 구분에 활용)
|
|
||||||
SELECT user_host, COUNT(*) AS cnt, ROUND(AVG(TIME_TO_SEC(query_time)),2) AS avg_sec
|
|
||||||
FROM mysql.slow_log GROUP BY user_host ORDER BY cnt DESC;
|
|
||||||
```
|
|
||||||
|
|
||||||
> 2026-09-15 측정에서는 slow log에 **애플리케이션 쿼리가 한 건도 없었고**, 매일 04:00 백업 덤프의 `best_record` 전체 SELECT(약 5초)만 기록됐습니다. 이번에도 같은 항목이 계속 잡히니 성능 저하로 오해하지 마세요.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 A-5. 누적 통계 (userstat / performance_schema)
|
|
||||||
|
|
||||||
**A-5-1. MariaDB `userstat` (가볍고 설치 불필요, `SUPER` 필요)**
|
|
||||||
|
|
||||||
```sql
|
|
||||||
SET GLOBAL userstat = 1; -- 켠 시점부터 누적 (재시작하면 꺼짐)
|
|
||||||
|
|
||||||
-- 잠시 서비스 트래픽을 받은 뒤
|
|
||||||
SELECT * FROM information_schema.CLIENT_STATISTICS\G -- 접속 호스트별
|
|
||||||
SELECT * FROM information_schema.USER_STATISTICS\G -- 계정별
|
|
||||||
SELECT * FROM information_schema.TABLE_STATISTICS
|
|
||||||
WHERE TABLE_SCHEMA='chocomae' ORDER BY ROWS_READ DESC;
|
|
||||||
SELECT * FROM information_schema.INDEX_STATISTICS
|
|
||||||
WHERE TABLE_SCHEMA='chocomae' ORDER BY ROWS_READ DESC;
|
|
||||||
|
|
||||||
FLUSH CLIENT_STATISTICS; -- 구간 측정을 하려면 초기화 후 다시 수집
|
|
||||||
```
|
|
||||||
|
|
||||||
- **B 항목(서비스별 부하)에 가장 직접적인 방법**입니다. `CLIENT_STATISTICS`는 접속 호스트별 `CONCURRENT_CONNECTIONS`, `CONNECTED_TIME`, `BUSY_TIME`, `ROWS_READ`, `SELECT_COMMANDS` 등을 보여줍니다.
|
|
||||||
- `INDEX_STATISTICS`에 안 나오는 인덱스는 **한 번도 안 쓰인 인덱스**입니다. 불필요한 인덱스 정리 판단에 쓰세요.
|
|
||||||
- 영구 적용하려면 설정 파일에 `userstat=1`을 넣고 재시작해야 합니다.
|
|
||||||
|
|
||||||
**A-5-2. performance_schema 다이제스트 (기본 OFF)**
|
|
||||||
|
|
||||||
```sql
|
|
||||||
SHOW VARIABLES LIKE 'performance_schema'; -- OFF면 아래는 못 씀
|
|
||||||
```
|
|
||||||
|
|
||||||
OFF인 경우 `/etc/mysql/my.cnf`(또는 `conf.d/*.cnf`)에 `performance_schema=ON`을 넣고 **재시작**해야 합니다. 서비스 중단이 생기므로 급하지 않으면 A-4/A-5-1로 대체하세요.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 총 실행 시간이 큰 쿼리 유형 순
|
|
||||||
SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR,
|
|
||||||
ROUND(SUM_TIMER_WAIT/1e12,2) AS total_sec,
|
|
||||||
ROUND(AVG_TIMER_WAIT/1e9,2) AS avg_ms,
|
|
||||||
SUM_ROWS_EXAMINED, SUM_ROWS_SENT
|
|
||||||
FROM performance_schema.events_statements_summary_by_digest
|
|
||||||
WHERE SCHEMA_NAME='chocomae'
|
|
||||||
ORDER BY SUM_TIMER_WAIT DESC LIMIT 20;
|
|
||||||
|
|
||||||
-- 계정별 부하 (B 항목에도 사용)
|
|
||||||
SELECT * FROM performance_schema.events_statements_summary_by_account_by_event_name
|
|
||||||
WHERE EVENT_NAME='statement/sql/select' ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 A-6. 상시 모니터링 도구
|
|
||||||
|
|
||||||
| 도구 | 설치 위치 | 특징 |
|
|
||||||
|---|---|---|
|
|
||||||
| `mytop` / `innotop` | EC2 (`apt-get install mytop percona-toolkit`) | 터미널 실시간 대시보드. QPS·슬로우·연결·실행 쿼리를 한 화면에서 봄. 가장 가볍게 시작 가능 |
|
|
||||||
| Netdata | EC2 (에이전트 1개) | 설치 5분, MySQL 플러그인 자동 인식, 웹 UI로 시계열 확인 |
|
|
||||||
| Prometheus + `mysqld_exporter` + Grafana | 수집기는 시놀로지, exporter는 EC2 | 장기 보관·대시보드·알림. 이미 시놀로지 도커가 있으니 구성 부담이 적음 |
|
|
||||||
| Percona PMM | 도커 1개 + 에이전트 | MySQL 전용 대시보드·쿼리 분석기(QAN)가 강력. 리소스는 좀 더 씀 |
|
|
||||||
| AWS CloudWatch (+Agent) | EC2 | 인스턴스 지표·알림. DB 내부 지표는 안 보임 |
|
|
||||||
|
|
||||||
**mytop 예시**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo apt-get install -y mytop
|
|
||||||
mytop -h 127.0.0.1 -u root -p --dbname chocomae
|
|
||||||
```
|
|
||||||
|
|
||||||
> **선택 가이드:** 이번처럼 "한 번 확인"이면 A-1~A-5로 충분합니다. "앞으로 계속 보겠다"면 `mysqld_exporter` + 시놀로지 Grafana 조합이 운영 부담 대비 효과가 가장 좋습니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## B. 접속 서비스별 연결 pool·부하 측정
|
|
||||||
|
|
||||||
### B-0. 먼저 알아야 할 구조
|
|
||||||
|
|
||||||
| 서비스 | 위치 | 접속 방식 | pool 존재 여부 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| **chocomae** (PHP) | 같은 EC2 | `new mysqli($db_host, ...)` — [connect_db.php:17](../../../../src/web/server/setup/connect_db.php#L17), `localhost`(또는 도커 호스트명) | **pool 없음.** PHP 요청마다 새 연결을 맺고 요청이 끝나면 끊습니다. `p:` 접두사(persistent)를 쓰지 않으므로, 동시 연결 수의 상한은 사실상 **Apache의 동시 프로세스 수(MaxRequestWorkers)** 입니다 |
|
|
||||||
| **chocoadmin** (Next.js/Node) | 시놀로지 도커 | 인터넷 경유로 `chocomae.jinaju.com:3306` | Node의 MySQL 드라이버(`mysql2` 등)를 쓰면 **커넥션 풀 존재**. `connectionLimit` 기본값은 보통 10. 컨테이너/프로세스 수만큼 배수가 됨 |
|
|
||||||
| **배치/백업** | EC2 cron, 시놀로지 cron | 단발 연결 | 매일 04:00 풀백업이 대표적 |
|
|
||||||
|
|
||||||
**따라서 확인할 것은 3가지입니다.**
|
|
||||||
1. DB가 허용하는 상한 (`max_connections`)과 실제 최대 사용치 (`Max_used_connections`)
|
|
||||||
2. 출처별 현재·최대 연결 수 (EC2 로컬 vs 시놀로지 공인 IP)
|
|
||||||
3. 각 애플리케이션 쪽 설정값 (Apache 워커 수, Node pool `connectionLimit`)
|
|
||||||
|
|
||||||
### B-0-1. 방법 비교
|
|
||||||
|
|
||||||
| 방법 | 보는 것 | 서비스 구분 가능? | 필요 권한 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| B-1 연결 상한·사용치 | 전체 연결 수, 한계 근접 여부 | ✗ | 기본 |
|
|
||||||
| B-2 PROCESSLIST 집계 | 출처 IP·계정별 현재 연결 수 | ○ (IP로) | `PROCESS` |
|
|
||||||
| B-3 userstat | 출처별 누적 연결 시간·쿼리 수·읽은 행 수 | ◎ (가장 정확) | `SUPER` + 조회 |
|
|
||||||
| B-4 계정 분리 | 서비스별 완전 분리 + 상한 제한 | ◎ | `CREATE USER`, `GRANT` |
|
|
||||||
| B-5 애플리케이션 설정 | pool 할당값 자체 | ◎ | 서버 접근 |
|
|
||||||
| B-6 네트워크 소켓 | TCP 연결 수·상태 | ○ (IP로) | EC2 SSH |
|
|
||||||
| B-7 주기 샘플링 | 시간대별 추이 | ○ | `PROCESS` + cron |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-1. 연결 상한과 실제 사용치
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SHOW GLOBAL VARIABLES WHERE Variable_name IN
|
|
||||||
('max_connections','max_user_connections','thread_handling','thread_pool_size',
|
|
||||||
'wait_timeout','interactive_timeout','back_log','table_open_cache','open_files_limit');
|
|
||||||
SHOW GLOBAL STATUS WHERE Variable_name IN
|
|
||||||
('Threads_connected','Threads_running','Threads_created','Threads_cached',
|
|
||||||
'Max_used_connections','Max_used_connections_time','Connections',
|
|
||||||
'Aborted_connects','Aborted_clients','Connection_errors_max_connections');" > conn_limits.txt
|
|
||||||
|
|
||||||
cat conn_limits.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**해석**
|
|
||||||
|
|
||||||
| 값 | 의미 |
|
|
||||||
|---|---|
|
|
||||||
| `Max_used_connections` / `max_connections` | **연결 여유율.** 80%를 넘으면 상한을 올리거나 pool을 줄여야 합니다 |
|
|
||||||
| `Max_used_connections_time` | 최고치를 찍은 시각 → 그 시간대에 무슨 작업이 있었는지 추적 |
|
|
||||||
| `Connection_errors_max_connections` | 0보다 크면 **연결 거부가 실제로 발생**한 것 |
|
|
||||||
| `Aborted_connects` | 인증 실패·타임아웃. 시놀로지↔AWS 인터넷 구간 문제의 신호일 수 있음 |
|
|
||||||
| `Threads_created` ≫ `Connections`의 일부 | 스레드 캐시 부족 (`thread_cache_size` 조정 대상) |
|
|
||||||
| `wait_timeout` | pool의 유휴 연결이 이 시간을 넘기면 서버가 끊습니다. chocoadmin에서 간헐적 `ECONNRESET`/`Connection lost`가 난다면 1순위 원인 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-2. PROCESSLIST로 출처별 집계
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SELECT USER,
|
|
||||||
SUBSTRING_INDEX(HOST, ':', 1) AS client_ip,
|
|
||||||
DB,
|
|
||||||
COUNT(*) AS conns,
|
|
||||||
SUM(COMMAND <> 'Sleep') AS active,
|
|
||||||
SUM(COMMAND = 'Sleep') AS idle,
|
|
||||||
MAX(TIME) AS max_idle_or_run_sec
|
|
||||||
FROM information_schema.PROCESSLIST
|
|
||||||
GROUP BY USER, client_ip, DB
|
|
||||||
ORDER BY conns DESC;" > conn_by_source.txt
|
|
||||||
|
|
||||||
cat conn_by_source.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**읽는 법**
|
|
||||||
|
|
||||||
- `client_ip`가 `localhost`/`127.0.0.1`/도커 내부 IP(`172.x`) → **chocomae(PHP)**
|
|
||||||
- `client_ip`가 시놀로지 공인 IP → **chocoadmin**
|
|
||||||
- `idle`이 크고 `max_idle_or_run_sec`이 수백 초 → pool이 유휴 연결을 계속 붙잡고 있는 상태 (정상이지만 `max_connections` 여유를 잡아먹음)
|
|
||||||
- `active`가 계속 큼 → 실제 쿼리 부하
|
|
||||||
|
|
||||||
> 시놀로지 공인 IP를 모른다면 시놀로지에서 `curl -s ifconfig.me` 로 확인하세요. README 기준 출발지 IP는 `182.217.174.221`입니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-3. userstat으로 출처별 누적 부하 (가장 정확)
|
|
||||||
|
|
||||||
```sql
|
|
||||||
SET GLOBAL userstat = 1;
|
|
||||||
FLUSH CLIENT_STATISTICS; -- 구간 측정 시작점
|
|
||||||
|
|
||||||
-- (서비스 트래픽을 받는 동안 대기: 예를 들어 1시간)
|
|
||||||
|
|
||||||
SELECT CLIENT,
|
|
||||||
TOTAL_CONNECTIONS, CONCURRENT_CONNECTIONS,
|
|
||||||
ROUND(CONNECTED_TIME/60,1) AS connected_min,
|
|
||||||
ROUND(BUSY_TIME,1) AS busy_sec,
|
|
||||||
ROUND(CPU_TIME,1) AS cpu_sec,
|
|
||||||
ROWS_READ, ROWS_SENT, SELECT_COMMANDS, UPDATE_COMMANDS, OTHER_COMMANDS
|
|
||||||
FROM information_schema.CLIENT_STATISTICS
|
|
||||||
ORDER BY BUSY_TIME DESC;
|
|
||||||
```
|
|
||||||
|
|
||||||
- `BUSY_TIME`·`CPU_TIME` = **그 출처가 DB를 실제로 점유한 시간**입니다. "chocomae와 chocoadmin 중 어느 쪽이 DB를 더 쓰는가"에 대한 가장 직접적인 답입니다.
|
|
||||||
- `USER_STATISTICS`는 같은 형식을 **계정 단위**로 보여줍니다. B-4(계정 분리)를 먼저 하면 IP가 아니라 계정만으로 깔끔하게 구분됩니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-4. 서비스별 DB 계정 분리 + 연결 상한 지정 (구조 개선)
|
|
||||||
|
|
||||||
지금은 chocomae와 chocoadmin이 **같은 `chocomae` 계정**을 쓸 가능성이 큽니다(README 기준 계정은 `root`/`chocomae`/`backup` 3개). 계정을 나누면 측정과 제어가 동시에 쉬워집니다.
|
|
||||||
|
|
||||||
```sql
|
|
||||||
-- 관리자 계정으로 실행
|
|
||||||
CREATE USER 'chocoadmin'@'182.217.174.221' IDENTIFIED BY '<새 비밀번호>';
|
|
||||||
GRANT SELECT, INSERT, UPDATE, DELETE ON chocomae.* TO 'chocoadmin'@'182.217.174.221';
|
|
||||||
|
|
||||||
-- 이 계정 하나가 쓸 수 있는 동시 연결 수 상한 (폭주 시 서비스 보호)
|
|
||||||
ALTER USER 'chocoadmin'@'182.217.174.221' WITH MAX_USER_CONNECTIONS 20;
|
|
||||||
|
|
||||||
FLUSH PRIVILEGES;
|
|
||||||
SHOW GRANTS FOR 'chocoadmin'@'182.217.174.221';
|
|
||||||
```
|
|
||||||
|
|
||||||
- 계정을 나눈 뒤에는 B-2/B-3의 집계가 `USER` 기준으로 바로 읽힙니다.
|
|
||||||
- `MAX_USER_CONNECTIONS`를 걸어두면 chocoadmin 쪽 pool 설정 실수로 운영 서비스가 연결을 못 맺는 사고를 막습니다.
|
|
||||||
- ⚠️ 계정 변경은 chocoadmin 배포와 함께 진행해야 하니, 측정만이 목적이라면 B-2/B-3(IP 기준)으로 충분합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-5. 애플리케이션 쪽 설정 확인 (pool 할당값 자체)
|
|
||||||
|
|
||||||
**B-5-1. chocomae (PHP / Apache) — EC2 SSH**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 동시 처리 가능한 요청 수 = 사실상 최대 동시 DB 연결 수
|
|
||||||
apache2ctl -V | grep -i 'Server MPM'
|
|
||||||
grep -RnE 'MaxRequestWorkers|ServerLimit|StartServers|MaxConnectionsPerChild' /etc/apache2/mods-available/mpm_*.conf /etc/apache2/apache2.conf
|
|
||||||
|
|
||||||
# php-fpm을 쓴다면
|
|
||||||
grep -RnE '^(pm|pm\.max_children|pm\.start_servers|pm\.max_spare_servers)' /etc/php/*/fpm/pool.d/*.conf 2>/dev/null
|
|
||||||
|
|
||||||
# persistent connection 관련 설정 (현재 코드는 사용 안 함)
|
|
||||||
php -i | grep -iE 'mysqli.allow_persistent|mysqli.max_persistent|mysqli.max_links|default_socket_timeout'
|
|
||||||
```
|
|
||||||
|
|
||||||
> **판단:** `MaxRequestWorkers`(prefork 기본 150) ≤ `max_connections`여야 합니다. 그렇지 않으면 트래픽 급증 시 PHP가 "Too many connections"를 만납니다.
|
|
||||||
>
|
|
||||||
> 현재 코드는 요청마다 연결을 새로 맺습니다(`new mysqli`). 연결 비용이 부담되면 `p:localhost` 형태의 persistent 연결을 검토할 수 있지만, 연결이 프로세스에 남아 `max_connections`를 오래 점유하므로 **먼저 B-1의 여유율을 확인한 뒤** 결정하세요.
|
|
||||||
|
|
||||||
**B-5-2. chocoadmin (Next.js / Node) — 시놀로지 SSH**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /volume1/docker/service/jinaju/chocoadmin
|
|
||||||
|
|
||||||
# pool 설정값 찾기
|
|
||||||
grep -RniE 'createPool|connectionLimit|pool|queueLimit|connectTimeout|enableKeepAlive' \
|
|
||||||
--include='*.ts' --include='*.js' --include='*.mjs' . | grep -v node_modules | head -40
|
|
||||||
|
|
||||||
# 환경변수 (비밀번호는 출력하지 말 것)
|
|
||||||
grep -vE 'PASS|PWD|SECRET|TOKEN' .env.production
|
|
||||||
|
|
||||||
# 실행 중인 컨테이너·프로세스 수 (pool이 몇 배로 늘어나는지)
|
|
||||||
sudo docker ps --filter name=chocoadmin
|
|
||||||
sudo docker exec chocoadmin sh -c 'ps -eo pid,comm | head'
|
|
||||||
```
|
|
||||||
|
|
||||||
**확인 포인트**
|
|
||||||
|
|
||||||
| 항목 | 확인 내용 |
|
|
||||||
|---|---|
|
|
||||||
| `connectionLimit` | 명시하지 않았다면 `mysql2` 기본값 10 |
|
|
||||||
| 컨테이너/워커 수 | pool은 **프로세스마다 하나**입니다. Next.js를 여러 워커로 띄우면 `connectionLimit × 워커 수`가 실제 상한 |
|
|
||||||
| 모듈 스코프 재사용 | pool을 요청마다 만들면 연결이 계속 늘어납니다. 모듈 최상단에서 한 번만 생성하는지 확인 |
|
|
||||||
| `connectTimeout`, `enableKeepAlive` | 시놀로지→AWS 인터넷 구간이라 지연·끊김 대비 필요 |
|
|
||||||
| `wait_timeout`(B-1) 대비 유휴 시간 | 서버가 먼저 끊으면 죽은 연결을 재사용하다 오류가 납니다 |
|
|
||||||
|
|
||||||
**B-5-3. chocoadmin 쪽 실제 연결 확인 (시놀로지 SSH)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 컨테이너에서 운영 DB로 맺은 연결 수
|
|
||||||
sudo docker exec chocoadmin sh -c "ss -tn state established '( dport = :3306 )' 2>/dev/null | wc -l" \
|
|
||||||
|| sudo netstat -tn | grep ':3306' | wc -l
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-6. 네트워크 소켓 레벨 확인 (EC2 SSH)
|
|
||||||
|
|
||||||
DB에 로그인하지 않고도 **누가 3306에 붙어 있는지** 셀 수 있습니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 출처 IP별 3306 연결 수
|
|
||||||
sudo ss -tn state established '( sport = :3306 )' \
|
|
||||||
| awk 'NR>1 {split($5,a,":"); print a[1]}' | sort | uniq -c | sort -nr > conn_by_ip_ss.txt
|
|
||||||
|
|
||||||
cat conn_by_ip_ss.txt
|
|
||||||
|
|
||||||
# 프로세스까지 같이 보기
|
|
||||||
sudo ss -tnp state established '( sport = :3306 )' | head -30
|
|
||||||
|
|
||||||
# TIME_WAIT 등 상태별 집계 (연결을 자주 맺고 끊는지 확인 — PHP 특성상 많을 수 있음)
|
|
||||||
sudo ss -tan '( sport = :3306 )' | awk 'NR>1 {print $1}' | sort | uniq -c
|
|
||||||
```
|
|
||||||
|
|
||||||
> `TIME_WAIT`가 수천 개면 "요청마다 연결/해제"의 비용이 눈에 보이는 수준이라는 뜻입니다. persistent 연결이나 pool 도입을 검토할 근거가 됩니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 방법 B-7. 시간대별 추이 샘플링 (권장: 24시간)
|
|
||||||
|
|
||||||
한 번의 스냅샷으로는 피크를 놓칩니다. cron으로 1분마다 찍어 CSV로 모읍니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# EC2에 저장: /home/ubuntu/conn_sample.sh
|
|
||||||
cat > /home/ubuntu/conn_sample.sh <<'EOS'
|
|
||||||
#!/bin/bash
|
|
||||||
TS=$(date +%FT%T)
|
|
||||||
mariadb -N -B -e "
|
|
||||||
SELECT '$TS', USER, SUBSTRING_INDEX(HOST,':',1), COUNT(*), SUM(COMMAND<>'Sleep')
|
|
||||||
FROM information_schema.PROCESSLIST GROUP BY USER, 3;" >> /home/ubuntu/conn_sample.tsv
|
|
||||||
mariadb -N -B -e "
|
|
||||||
SELECT '$TS','__global__','-',
|
|
||||||
(SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME='Threads_connected'),
|
|
||||||
(SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME='Threads_running');" \
|
|
||||||
>> /home/ubuntu/conn_sample.tsv
|
|
||||||
EOS
|
|
||||||
chmod +x /home/ubuntu/conn_sample.sh
|
|
||||||
|
|
||||||
# 1분마다 실행
|
|
||||||
( crontab -l 2>/dev/null; echo "* * * * * /home/ubuntu/conn_sample.sh" ) | crontab -
|
|
||||||
```
|
|
||||||
|
|
||||||
수집 후 정리:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 시간대별 최대 연결 수
|
|
||||||
awk -F'\t' '$2=="__global__" {split($1,t,"T"); split(t[2],h,":"); \
|
|
||||||
key=t[1]" "h[1]"시"; if ($4>m[key]) m[key]=$4} END {for (k in m) print k, m[k]}' \
|
|
||||||
/home/ubuntu/conn_sample.tsv | sort > conn_hourly_peak.txt
|
|
||||||
|
|
||||||
cat conn_hourly_peak.txt
|
|
||||||
|
|
||||||
# 측정 끝나면 cron 제거
|
|
||||||
crontab -l | grep -v conn_sample.sh | crontab -
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## C. 테이블 최대 저장 가능 행 수
|
|
||||||
|
|
||||||
> "`best_record`에 데이터가 몇 개까지 들어갈 수 있나"는 상한이 **세 겹**입니다. 셋 중 **가장 먼저 걸리는 것**이 실제 한계입니다.
|
|
||||||
>
|
|
||||||
> | 구분 | 상한 요인 | 대략적인 값 |
|
|
||||||
> |---|---|---|
|
|
||||||
> | C-1 논리적 상한 | PK `INT UNSIGNED AUTO_INCREMENT` 최대값 | **4,294,967,295 (약 42.9억)** |
|
|
||||||
> | C-2 물리적 상한 | InnoDB 테이블스페이스 / 디스크 여유 공간 | 디스크 여유 ÷ 행당 바이트 |
|
|
||||||
> | C-3 실용적 상한 | 버퍼 풀·인덱스 크기 대비 성능이 버티는 지점 | 보통 **위 둘보다 훨씬 먼저** 도달 |
|
|
||||||
|
|
||||||
### 방법 C-1. 논리적 상한 — AUTO_INCREMENT 소진까지
|
|
||||||
|
|
||||||
기록 테이블 4개 모두 PK가 `INT UNSIGNED AUTO_INCREMENT`이므로 **42.9억**이 상한입니다. 중요한 점은 **행을 삭제해도 AUTO_INCREMENT 값은 되돌아가지 않는다**는 것입니다. 즉 "현재 행 수"가 아니라 "지금까지 발급된 ID 값"이 기준입니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SELECT TABLE_NAME,
|
|
||||||
TABLE_ROWS AS approx_rows,
|
|
||||||
AUTO_INCREMENT AS next_id,
|
|
||||||
4294967295 - AUTO_INCREMENT AS remaining_ids,
|
|
||||||
ROUND(AUTO_INCREMENT / 4294967295 * 100, 4) AS used_pct
|
|
||||||
FROM information_schema.TABLES
|
|
||||||
WHERE TABLE_SCHEMA='chocomae' AND AUTO_INCREMENT IS NOT NULL
|
|
||||||
ORDER BY used_pct DESC;" > capacity_auto_increment.txt
|
|
||||||
|
|
||||||
cat capacity_auto_increment.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**남은 기간 계산**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p chocomae -e "
|
|
||||||
SELECT DATE_FORMAT(RecordDateTime,'%Y-%m') AS ym, COUNT(*) AS cnt
|
|
||||||
FROM best_record
|
|
||||||
WHERE RecordDateTime >= DATE_SUB(CURDATE(), INTERVAL 13 MONTH)
|
|
||||||
GROUP BY ym ORDER BY ym;" > capacity_monthly_load.txt
|
|
||||||
|
|
||||||
cat capacity_monthly_load.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> 남은 기간 = `remaining_ids` ÷ (월 적재량 × 12)
|
|
||||||
>
|
|
||||||
> **2026-09-15 기준 개략 계산:** 월 평균 약 57,968행 → 연 약 69.6만 행. 42.9억 ÷ 69.6만 ≈ **6,000년 이상**.
|
|
||||||
> 지금 증가 속도가 100배가 되어도 60년이 넘습니다. → **AUTO_INCREMENT는 실질적인 제약이 아닙니다.**
|
|
||||||
>
|
|
||||||
> 단, 아래 경우는 소진이 빨라지니 `used_pct`를 연 1회 확인하세요.
|
|
||||||
> - `INSERT ... ON DUPLICATE KEY UPDATE` / `REPLACE`를 많이 쓰면 실패한 INSERT도 ID를 소비합니다
|
|
||||||
> - 대량 삭제 후 재적재를 반복하는 경우
|
|
||||||
>
|
|
||||||
> **넘어갈 조짐이 보이면:** `ALTER TABLE best_record MODIFY BestRecordID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;` (테이블 재구성이 필요해 시간과 디스크 여유가 많이 듭니다. 미리 계획하세요)
|
|
||||||
|
|
||||||
### 방법 C-2. 물리적 상한 — 디스크 여유 공간
|
|
||||||
|
|
||||||
**C-2-1. 현재 테이블 크기와 행당 바이트**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SELECT TABLE_NAME,
|
|
||||||
TABLE_ROWS AS approx_rows,
|
|
||||||
ROUND(DATA_LENGTH/1024/1024,1) AS data_mb,
|
|
||||||
ROUND(INDEX_LENGTH/1024/1024,1) AS index_mb,
|
|
||||||
ROUND((DATA_LENGTH+INDEX_LENGTH)/1024/1024,1) AS total_mb,
|
|
||||||
ROUND(DATA_FREE/1024/1024,1) AS free_mb,
|
|
||||||
ROUND((DATA_LENGTH+INDEX_LENGTH)/NULLIF(TABLE_ROWS,0), 1) AS bytes_per_row
|
|
||||||
FROM information_schema.TABLES
|
|
||||||
WHERE TABLE_SCHEMA='chocomae'
|
|
||||||
ORDER BY (DATA_LENGTH+INDEX_LENGTH) DESC;" > capacity_table_sizes.txt
|
|
||||||
|
|
||||||
cat capacity_table_sizes.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> `TABLE_ROWS`는 InnoDB 추정치입니다. 정확한 값이 필요하면 `SELECT COUNT(*) FROM best_record;`를 쓰되, 운영 시간대에는 부하를 고려하세요.
|
|
||||||
|
|
||||||
**C-2-2. 디스크 여유 (EC2 SSH)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
df -h /var/lib/mysql
|
|
||||||
sudo du -sh /var/lib/mysql
|
|
||||||
sudo du -sh /var/lib/mysql/chocomae/*.ibd 2>/dev/null | sort -h | tail -10
|
|
||||||
```
|
|
||||||
|
|
||||||
**C-2-3. 계산**
|
|
||||||
|
|
||||||
```
|
|
||||||
추가 가능 행 수 ≈ (디스크 여유 바이트 × 0.8) ÷ bytes_per_row
|
|
||||||
남은 기간(년) ≈ 추가 가능 행 수 ÷ (월 적재량 × 12)
|
|
||||||
```
|
|
||||||
|
|
||||||
> 0.8은 안전 계수입니다. 백업·바이너리 로그·임시 파일·`ALTER` 시 임시 테이블 공간을 남겨둬야 합니다. 특히 **인덱스 추가나 `BIGINT` 변경 같은 온라인 DDL은 테이블 크기만큼의 여유 공간을 추가로 요구**합니다.
|
|
||||||
>
|
|
||||||
> **2026-09-15 기준 개략 계산:** `best_record`는 약 121만 행에 data 72.5MB + index 72.1MB ≈ 145MB → **행당 약 125바이트**. 42.9억 행을 다 채우면 약 537GB가 필요합니다. 즉 **디스크가 AUTO_INCREMENT보다 훨씬 먼저 한계**입니다. 현재 `df -h` 결과로 실제 여유를 확인하세요.
|
|
||||||
|
|
||||||
**C-2-4. InnoDB 자체 상한(참고)**
|
|
||||||
|
|
||||||
- 테이블스페이스 최대 크기: 페이지 16KB 기준 **64TB** (`SHOW VARIABLES LIKE 'innodb_page_size'`로 확인)
|
|
||||||
- `innodb_file_per_table`이 ON이면 테이블마다 `.ibd` 파일 → 파일시스템 최대 파일 크기도 확인 대상 (ext4는 16TB)
|
|
||||||
- 실무에서 여기에 닿는 일은 없습니다. 디스크 여유(C-2-2)가 먼저 걸립니다.
|
|
||||||
|
|
||||||
### 방법 C-3. 실용적 상한 — 성능이 버티는 지점 (가장 중요)
|
|
||||||
|
|
||||||
디스크가 남아도 **인덱스가 버퍼 풀을 넘어가는 순간** 조회 성능이 급격히 나빠집니다. "몇 개까지 넣을 수 있나"의 현실적인 답은 대개 여기입니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p -e "
|
|
||||||
SELECT
|
|
||||||
ROUND((SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES
|
|
||||||
WHERE VARIABLE_NAME='innodb_buffer_pool_size')/1024/1024, 0) AS buffer_pool_mb,
|
|
||||||
ROUND((SELECT SUM(DATA_LENGTH+INDEX_LENGTH) FROM information_schema.TABLES
|
|
||||||
WHERE TABLE_SCHEMA='chocomae')/1024/1024, 1) AS chocomae_total_mb,
|
|
||||||
ROUND((SELECT SUM(INDEX_LENGTH) FROM information_schema.TABLES
|
|
||||||
WHERE TABLE_SCHEMA='chocomae')/1024/1024, 1) AS chocomae_index_mb;" \
|
|
||||||
> capacity_buffer_pool.txt
|
|
||||||
|
|
||||||
cat capacity_buffer_pool.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
**판단 기준**
|
|
||||||
|
|
||||||
| 상태 | 의미 | 조치 |
|
|
||||||
|---|---|---|
|
|
||||||
| `chocomae_total_mb` < `buffer_pool_mb` | 데이터 전체가 메모리에 상주. 디스크 읽기 거의 없음 | 여유 있음 |
|
|
||||||
| `chocomae_index_mb` < `buffer_pool_mb` < `chocomae_total_mb` | 인덱스는 메모리, 데이터는 일부만 | 정상 범위. 버퍼 풀 적중률(A-2-5) 감시 |
|
|
||||||
| `buffer_pool_mb` < `chocomae_index_mb` | 인덱스조차 다 못 올림 | **성능 급락 구간.** 버퍼 풀 증설 / 아카이빙 / 파티셔닝 필요 |
|
|
||||||
|
|
||||||
**한계 도달 시점 추정**
|
|
||||||
|
|
||||||
```
|
|
||||||
현재 인덱스 크기 ÷ 현재 행 수 = 행당 인덱스 바이트
|
|
||||||
(버퍼 풀 크기 × 0.8 - 현재 인덱스 크기) ÷ 행당 인덱스 바이트 = 여유 행 수
|
|
||||||
여유 행 수 ÷ (월 적재량 × 12) = 남은 기간(년)
|
|
||||||
```
|
|
||||||
|
|
||||||
> 인덱스 크기는 2026-09-15 작업에서 인덱스 5개 + UNIQUE 2개를 추가한 뒤의 값으로 다시 재야 정확합니다. 인덱스가 늘면 행당 바이트도 늘어납니다.
|
|
||||||
|
|
||||||
**추가 확인: 실제 메모리 여유 (EC2 SSH)**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
free -h
|
|
||||||
# 버퍼 풀을 키울 때는 (버퍼 풀 + 연결당 버퍼 × max_connections + OS) < 물리 메모리 여야 합니다
|
|
||||||
mariadb -e "SHOW VARIABLES WHERE Variable_name IN
|
|
||||||
('innodb_buffer_pool_size','sort_buffer_size','join_buffer_size','read_buffer_size',
|
|
||||||
'read_rnd_buffer_size','tmp_table_size','max_heap_table_size','max_connections');"
|
|
||||||
```
|
|
||||||
|
|
||||||
### 방법 C-4. 증가 속도 기반 예측 (한 번에 정리)
|
|
||||||
|
|
||||||
아래 쿼리 하나로 세 상한을 같이 뽑을 수 있습니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mariadb -h chocomae.jinaju.com -u <계정> -p chocomae -e "
|
|
||||||
SELECT
|
|
||||||
t.TABLE_NAME,
|
|
||||||
t.TABLE_ROWS AS approx_rows,
|
|
||||||
t.AUTO_INCREMENT AS next_id,
|
|
||||||
ROUND((t.DATA_LENGTH+t.INDEX_LENGTH)/1024/1024,1) AS total_mb,
|
|
||||||
ROUND((t.DATA_LENGTH+t.INDEX_LENGTH)/NULLIF(t.TABLE_ROWS,0),1) AS bytes_per_row,
|
|
||||||
ROUND((4294967295 - t.AUTO_INCREMENT) / (:monthly_rows * 12), 1) AS years_to_autoinc_limit,
|
|
||||||
ROUND((4294967295 - t.AUTO_INCREMENT)
|
|
||||||
* (t.DATA_LENGTH+t.INDEX_LENGTH)/NULLIF(t.TABLE_ROWS,0)
|
|
||||||
/1024/1024/1024, 1) AS gb_needed_for_autoinc_limit
|
|
||||||
FROM information_schema.TABLES t
|
|
||||||
WHERE t.TABLE_SCHEMA='chocomae'
|
|
||||||
AND t.TABLE_NAME IN ('best_record','app_highest_record',
|
|
||||||
'typing_exam_record','typing_exam_highest_record');" > capacity_projection.txt
|
|
||||||
|
|
||||||
cat capacity_projection.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
> `:monthly_rows` 자리에는 C-1에서 구한 **월 평균 적재량**(2026-09 기준 약 57968)을 숫자로 직접 넣으세요. MariaDB CLI에는 바인드 변수가 없습니다.
|
|
||||||
|
|
||||||
### 방법 C-5. 상한에 가까워졌을 때의 대응 (기존 문서 연결)
|
|
||||||
|
|
||||||
| 대응 | 효과 | 문서 |
|
|
||||||
|---|---|---|
|
|
||||||
| 인덱스·쿼리 최적화 | 같은 데이터로 더 오래 버팀 | [02-option1-index-and-query-rewrite.md](../02-option1-index-and-query-rewrite.md) |
|
|
||||||
| 일별 요약 테이블 | 랭킹 조회가 원본 테이블을 안 읽음 | [03-option2-daily-summary-tables.md](../03-option2-daily-summary-tables.md) |
|
|
||||||
| 아카이빙 (오래된 기록 분리) | 활성 테이블 크기 감소 → 버퍼 풀 여유 | [04-option3-archiving.md](../04-option3-archiving.md) |
|
|
||||||
| 파티셔닝 (날짜 기준) | 조회 시 읽는 파티션만 접근 | [05-option4-partitioning.md](../05-option4-partitioning.md) |
|
|
||||||
| DB 분리 (RDS 등) | 웹/DB 리소스 경합 해소 | [09-aws-db-separation.md](../09-aws-db-separation.md) |
|
|
||||||
| 시놀로지 복제 | 읽기 부하(chocoadmin) 분산 | [08-synology-replication-setup.md](../08-synology-replication-setup.md) |
|
|
||||||
|
|
||||||
> chocoadmin이 DB를 많이 읽는 것으로 B-3에서 확인된다면, **복제본을 두고 chocoadmin만 복제본을 보게 하는 것**이 가장 효과가 큰 조치입니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 90. 결과 기록 양식
|
|
||||||
|
|
||||||
측정 후 아래 표를 채워 넣으세요.
|
|
||||||
|
|
||||||
### A. MariaDB 부하
|
|
||||||
|
|
||||||
| 항목 | 측정값 | 측정 방법 | 판단 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| vCPU / 메모리 | | A-1-1 | |
|
|
||||||
| CPU 사용률 (peak) | | A-1-3 / A-1-5 | |
|
|
||||||
| 스왑 사용 | | A-1-3 | 0이어야 정상 |
|
|
||||||
| 디스크 %util / await | | A-1-3 | |
|
|
||||||
| QPS (평균 / peak) | | A-2-1 | |
|
|
||||||
| `Threads_running` (peak) | | A-2-4 | vCPU 이하면 정상 |
|
|
||||||
| 버퍼 풀 적중률 | | A-2-5 | 99% 이상 |
|
|
||||||
| 디스크 임시 테이블 (60초) | | A-2-3 | |
|
|
||||||
| 잠금 대기 | | A-2-4 / A-3-3 | |
|
|
||||||
| 느린 쿼리 (24시간) | | A-4 | 백업 SELECT 제외 |
|
|
||||||
|
|
||||||
### B. 서비스별 연결
|
|
||||||
|
|
||||||
| 항목 | chocomae (EC2) | chocoadmin (시놀로지) | 측정 방법 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 접속 방식 | `new mysqli` (pool 없음) | Node pool | B-0 |
|
|
||||||
| 설정상 최대 연결 | Apache MaxRequestWorkers = | connectionLimit × 워커 수 = | B-5 |
|
|
||||||
| 현재 연결 수 | | | B-2 |
|
|
||||||
| 최대 연결 수 (24h) | | | B-7 |
|
|
||||||
| 유휴 연결 수 | | | B-2 |
|
|
||||||
| 누적 BUSY_TIME | | | B-3 |
|
|
||||||
| 읽은 행 수 | | | B-3 |
|
|
||||||
| 전체 `max_connections` | | 여유율: | B-1 |
|
|
||||||
| 연결 거부 발생 | | | B-1 |
|
|
||||||
|
|
||||||
### C. 테이블 용량
|
|
||||||
|
|
||||||
| 테이블 | 현재 행 수 | next_id | AUTO_INCREMENT 사용률 | total_mb | 행당 바이트 | 디스크 기준 남은 행 | 남은 기간 |
|
|
||||||
|---|---|---|---|---|---|---|---|
|
|
||||||
| best_record | | | | | | | |
|
|
||||||
| app_highest_record | | | | | | | |
|
|
||||||
| typing_exam_record | | | | | | | |
|
|
||||||
| typing_exam_highest_record | | | | | | | |
|
|
||||||
|
|
||||||
| 항목 | 값 |
|
|
||||||
|---|---|
|
|
||||||
| 월 평균 적재량 | |
|
|
||||||
| `innodb_buffer_pool_size` | |
|
|
||||||
| chocomae 전체 크기 (data+index) | |
|
|
||||||
| 디스크 여유 (`/var/lib/mysql`) | |
|
|
||||||
| **가장 먼저 걸리는 상한** | (AUTO_INCREMENT / 디스크 / 버퍼 풀) |
|
|
||||||
| **예상 도달 시점** | |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 91. 주의사항
|
|
||||||
|
|
||||||
1. **측정 자체가 부하입니다.** `SELECT COUNT(*)`나 `SHOW ENGINE INNODB STATUS`를 반복 실행하지 마세요. 정확한 행 수가 꼭 필요할 때만 한 번 실행합니다.
|
|
||||||
2. **`SET GLOBAL`로 바꾼 값은 반드시 복원합니다.** 변경 전 값을 파일로 먼저 저장하세요 (`long_query_time`, `slow_query_log`, `userstat`).
|
|
||||||
3. **`log_queries_not_using_indexes`는 켜지 않습니다.** 로그가 폭증합니다.
|
|
||||||
4. **cron 샘플링(B-7)은 측정이 끝나면 지웁니다.** 지우지 않으면 TSV가 무한히 커집니다.
|
|
||||||
5. **매일 04:00 풀백업**이 돌고 있습니다. 이 시간대 측정값은 백업 부하가 섞이니 따로 표시하세요.
|
|
||||||
6. **비밀번호를 명령줄에 쓰지 마세요.** 셸 히스토리와 `ps` 출력에 남습니다. `~/.my.cnf`(권한 600)를 쓰세요.
|
|
||||||
```ini
|
|
||||||
[client]
|
|
||||||
host=chocomae.jinaju.com
|
|
||||||
user=perfcheck
|
|
||||||
password=<비밀번호>
|
|
||||||
```
|
|
||||||
7. **임시 계정·임시 권한은 측정 후 회수합니다.** (`DROP USER`, `REVOKE`)
|
|
||||||
8. **README에 평문으로 남아 있는 DB 비밀번호**(`root`/`chocomae`/`backup`이 모두 같은 값)는 이 작업과 별개로 교체가 필요합니다.
|
|
||||||
@@ -1,381 +0,0 @@
|
|||||||
# 웹 계층(Apache) 부하·용량 분석
|
|
||||||
|
|
||||||
> 2026-04-14 AWS 인스턴스 업그레이드의 배경을 현재 사양에서 재검증하고,
|
|
||||||
> Apache 워커·KeepAlive·DB 연결이 실제로 병목인지 실측으로 판정합니다.
|
|
||||||
> - 작성일: 2026-09-16
|
|
||||||
> - 대상: AWS EC2 `t3a.medium` (2 vCPU, 4GB) — Apache 2.4.58 + mod_php7 + MariaDB
|
|
||||||
> - 선행 작업: [260915-improve-production](../260915-improve-production/07-post-analysis.md) (인덱스·쿼리 개선, 9/15 23:00 적용)
|
|
||||||
> - 관련 문서: [00-check-methods.md](00-check-methods.md) (측정 방법), [09-aws-db-separation.md](../09-aws-db-separation.md) (DB 분리 검토)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. 배경: 2026-04-14 업그레이드는 왜 했나
|
|
||||||
|
|
||||||
당시 파악된 장애 경로입니다.
|
|
||||||
|
|
||||||
```
|
|
||||||
동시 접속 증가
|
|
||||||
→ Apache MaxRequestWorkers 가 감당 못 함
|
|
||||||
→ 서버 waiting 과 CPU steal 급등
|
|
||||||
→ t2.micro 의 CPU 크레딧 소진
|
|
||||||
→ 약 10초간 무응답
|
|
||||||
```
|
|
||||||
|
|
||||||
당시 분석이 내린 결론은 **`t3.micro` + `MaxRequestWorkers 50`** 이었습니다. 근거는 "서비스 사이클 34초 중 서버 점유 1초(약 3%)" 라는 점유율 모델이었고, 이를 근거로 평상시 동시 사용자 약 800명까지 안정적이라고 추정했습니다.
|
|
||||||
|
|
||||||
**실제로는 그보다 큰 `t3a.medium` 으로 갔습니다.** 즉 문서의 권고안과 실제 구성이 다르므로, 그 문서의 수치는 현재 상태를 설명하지 못합니다.
|
|
||||||
|
|
||||||
| | t2.micro (당시) | t3a.medium (현재) |
|
|
||||||
|---|---|---|
|
|
||||||
| vCPU / 메모리 | 1 / 1GB | 2 / 4GB |
|
|
||||||
| 크레딧 베이스라인 | 10% | 20% |
|
|
||||||
| 시간당 크레딧 | 6 (최대 144) | 24 (최대 576) |
|
|
||||||
|
|
||||||
### 1-1. 당시 계산 모델의 한계
|
|
||||||
|
|
||||||
기록해둡니다. 같은 모델을 다시 쓰지 않기 위해서입니다.
|
|
||||||
|
|
||||||
- **"1 페이지 로드 = 1 요청"이 아닙니다.** `index.html` 하나에 script/link 11개 + jQuery `.load()` 로 header/section/footer 3개를 더 받고, 그 뒤에 PHP 엔드포인트가 붙습니다 ([src/web/main/index.html:36](../../../../src/web/main/index.html#L36)).
|
|
||||||
- **0.5초는 CPU 시간이 아니라 응답 시간**입니다. 3% 를 "CPU 여유"로 읽으면 안 되고 "워커 점유율"로만 읽어야 합니다.
|
|
||||||
- **평균 모델은 버스트를 설명하지 못합니다.** 문제는 평균이 아니라 수업 시작 시각에 몰리는 순간입니다.
|
|
||||||
- **"평상시 500명 → 800명"은 측정값이 아니라** 위 모델에서 나온 추정치입니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. 측정 결과
|
|
||||||
|
|
||||||
### 2-1. CPU 크레딧 / steal — 문제 없음 ✅
|
|
||||||
|
|
||||||
피크 시간대(12:50~15:00) vmstat 로그 779개 샘플에서 `st`(steal) 컬럼을 직접 집계했습니다.
|
|
||||||
원본: [result/peaktime_steal_summary.txt](result/peaktime_steal_summary.txt)
|
|
||||||
|
|
||||||
| | 9/14 (개선 전) | 9/15 (개선 전) | 9/16 (개선 후) |
|
|
||||||
|---|---|---|---|
|
|
||||||
| steal 평균 | 0.003% | 0.021% | 0.010% |
|
|
||||||
| steal 최대 | 1% | 2% | 1% |
|
|
||||||
| us+sy 평균 | 13.50% | 9.48% | **2.79%** |
|
|
||||||
| 베이스라인(20%) 초과 샘플 | 109개 (14.0%) | 65개 (8.3%) | **1개 (0.1%)** |
|
|
||||||
| swpd / si / so | 0 / 0 / 0 | 0 / 0 / 0 | 0 / 0 / 0 |
|
|
||||||
|
|
||||||
`t3a.medium` 의 크레딧 베이스라인은 **인스턴스 전체 CPU의 20%** 이고, 이는 vmstat 의 `us+sy` 20% 와 같은 값입니다. 개선 전에도 피크 평균이 13.5% 로 베이스라인 미만이었으므로 **피크 시간에도 크레딧은 순증하고 있었습니다.**
|
|
||||||
|
|
||||||
→ **4월 장애의 직접 원인(크레딧 소진 → 스로틀링)은 현재 사양에서 재현되지 않습니다.**
|
|
||||||
|
|
||||||
> ⚠️ 스왑이 없습니다(`swpd`/`si`/`so` 모두 0). 메모리 한계에 닿으면 느려지는 게 아니라 OOM Killer 가 동작하고, RSS 가 가장 큰 `mysqld` 가 1순위 표적입니다. 메모리 여유는 별도 감시 대상입니다.
|
|
||||||
|
|
||||||
### 2-2. Apache 설정 현황
|
|
||||||
|
|
||||||
```bash
|
|
||||||
apache2ctl -V | grep -i "Server MPM"
|
|
||||||
ls /etc/apache2/mods-enabled/ | grep mpm
|
|
||||||
grep -RiE "^[[:space:]]*(MaxRequestWorkers|MaxClients|ServerLimit|StartServers|MaxConnectionsPerChild)" /etc/apache2/
|
|
||||||
grep -rihE '^\s*(KeepAlive|MaxKeepAliveRequests|KeepAliveTimeout)' /etc/apache2/apache2.conf /etc/apache2/conf-enabled/ /etc/apache2/sites-enabled/
|
|
||||||
apache2ctl -M | grep -iE 'php|proxy_fcgi|http2|status'
|
|
||||||
```
|
|
||||||
|
|
||||||
| 항목 | 값 | 비고 |
|
|
||||||
|---|---|---|
|
|
||||||
| Apache | 2.4.58 (Ubuntu) | 호스트 설치. 도커 아님 |
|
|
||||||
| MPM | **prefork** | mod_php 때문에 고정 |
|
|
||||||
| `StartServers` | 5 | |
|
|
||||||
| `ServerLimit` | **400** | Debian 기본 150에서 상향돼 있음 |
|
|
||||||
| `MaxRequestWorkers` | **400** | 〃 |
|
|
||||||
| `MaxConnectionsPerChild` | 0 | 자식 프로세스 무한 재사용 |
|
|
||||||
| `KeepAlive` | On | |
|
|
||||||
| `KeepAliveTimeout` | **5** | 워커 점유의 주 원인 (2-5 참조) |
|
|
||||||
| `MaxKeepAliveRequests` | 100 | |
|
|
||||||
| PHP | `php7_module` (mod_php) | PHP-FPM 없음 |
|
|
||||||
| HTTP/2 | **미적용** | `mod_http2` 없음 → 브라우저가 origin당 연결 최대 6개 |
|
|
||||||
| `mod_status` | 있음 | `Require local` (`/etc/apache2/mods-enabled/status.conf`) |
|
|
||||||
|
|
||||||
`mods-available/mpm_event.conf`·`mpm_worker.conf` 의 150은 **비활성 MPM** 이므로 무관합니다.
|
|
||||||
|
|
||||||
### 2-3. Apache 실부하 — 병목 아님 ✅
|
|
||||||
|
|
||||||
`curl -s http://localhost/server-status?auto` 누적값 (`RestartTime` 9/12 06:44 이후 394,325초 = 4일 13시간)
|
|
||||||
|
|
||||||
| 지표 | 계산 | 값 |
|
|
||||||
|---|---|---|
|
|
||||||
| 총 요청 | `Total Accesses` 1,398,433 | **3.55 req/s** |
|
|
||||||
| 평균 응답 시간 | `Total Duration` 21,596,481ms ÷ 요청 수 | **15.4 ms** |
|
|
||||||
| 요청당 CPU | (`CPUChildrenUser` 822.34 + `CPUChildrenSystem` 835.02)초 ÷ 요청 수 | **1.19 ms** |
|
|
||||||
| Apache 총 CPU 점유 | 1,657초 ÷ 394,325초 | **코어 1개의 0.42%** |
|
|
||||||
| 응답 1건 평균 크기 | 4,093,249KB ÷ 요청 수 | 2.9 KB |
|
|
||||||
|
|
||||||
메모리 (`/proc/*/smaps_rollup` 의 PSS 합계, 유휴 시각 기준):
|
|
||||||
|
|
||||||
```
|
|
||||||
apache2 14개 / PSS 합계 29MB / 1개당 평균 2MB
|
|
||||||
```
|
|
||||||
|
|
||||||
> PSS 합계는 공유 페이지를 중복 없이 한 번만 계산하므로 Apache 전체의 실제 메모리 비용입니다.
|
|
||||||
> 단, 이 값은 **유휴 자식** 기준입니다. PHP 요청을 처리한 자식은 더 커지므로 피크 재측정이 필요합니다.
|
|
||||||
|
|
||||||
### 2-4. DB 연결 — 제약 아님 ✅
|
|
||||||
|
|
||||||
| 지표 | 값 |
|
|
||||||
|---|---|
|
|
||||||
| `max_connections` | 151 |
|
|
||||||
| `Max_used_connections` (MariaDB 시작 이래 고수위) | **27** |
|
|
||||||
| 요청 대비 신규 DB 연결 비율 | 요청 130건당 36건 = **28%** |
|
|
||||||
|
|
||||||
요청의 28%만 DB를 타고(나머지는 정적 파일), 연결 하나가 수 ms만 삽니다. 동시 DB 연결은 0.04개 수준으로, 151에 닿으려면 초당 만 단위 신규 연결이 필요합니다.
|
|
||||||
|
|
||||||
→ **`MaxRequestWorkers 400` 이 `max_connections 151` 을 넘는 것은 실무상 문제가 되지 않습니다.**
|
|
||||||
|
|
||||||
### 2-5. KeepAlive 점유 구조 — 확정 ✅ (2026-09-17 측정)
|
|
||||||
|
|
||||||
scoreboard 분해 샘플 (`curl -s http://localhost/server-status?auto` 의 `Scoreboard:` 행)
|
|
||||||
|
|
||||||
| 시각 | busy | idle | K(KeepAlive 대기) | W(전송) | R(수신) | 구간 요청률 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| 20:16 | 2 | 8 | 1 | 1 | 0 | — |
|
|
||||||
| 20:30:25 | 15 | 3 | 11 | 1 | 3 | — |
|
|
||||||
| 20:30:30 | 15 | 5 | 6 | 1 | 2 | 2.2 req/s |
|
|
||||||
| 20:30:40 | 7 | 7 | 5 | 1 | 0 | 2.2 req/s |
|
|
||||||
| 20:33:12 | 9 | 6 | 8 | 1 | 0 | — |
|
|
||||||
| 20:33:20 | 5 | 9 | 3 | 1 | 0 | 1.5 req/s |
|
|
||||||
| 20:33:30 | 14 | **0** | 11 | 1 | 2 | 13 req/s |
|
|
||||||
|
|
||||||
**busy 워커의 70~80%가 `K`(KeepAlive 대기)** 입니다. 실제 작업 중인 `W` 는 일관되게 1개입니다.
|
|
||||||
|
|
||||||
prefork 에서는 워커가 **요청 처리 중**만이 아니라 **TCP 연결이 열려 있는 내내** 점유됩니다. 응답을 다 보낸 뒤에도 `KeepAliveTimeout`(5초) 동안 자식 프로세스가 연결을 붙잡습니다. 워커 점유 효율은 15ms / 5,000ms = **0.3%** 입니다.
|
|
||||||
|
|
||||||
**2026-09-17 피크 780샘플로 관계가 확정됐습니다.** 5장 참조 — `K` 는 요청률에 선형 비례합니다.
|
|
||||||
(위 저녁 샘플만 보고 "비례하지 않는다"고 판단했던 것은 표본 부족에 따른 오판이었습니다.)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. 결론
|
|
||||||
|
|
||||||
### 3-1. 확정된 것
|
|
||||||
|
|
||||||
| 항목 | 결론 |
|
|
||||||
|---|---|
|
|
||||||
| CPU 크레딧 / steal | 문제 없음. steal 최대 2%, 피크에도 베이스라인 미달 |
|
|
||||||
| Apache CPU | 코어의 0.42% |
|
|
||||||
| Apache 메모리 | 14프로세스 29MB (유휴 기준) |
|
|
||||||
| 평상시 워커 | 400 중 2~15개 사용 |
|
|
||||||
| DB 연결 상한 151 | 제약 아님. 고수위 27 |
|
|
||||||
| `MaxRequestWorkers 400` | **유지.** 9/17 피크 busy 204(51%)로 적정 (5장) |
|
|
||||||
|
|
||||||
**현재 지표는 전부 여유입니다. 지금 설정을 바꿀 이유가 없습니다.**
|
|
||||||
|
|
||||||
### 3-2. 분석 중 폐기한 가설
|
|
||||||
|
|
||||||
같은 오류를 반복하지 않기 위해 기록합니다.
|
|
||||||
|
|
||||||
| 가설 | 왜 틀렸나 |
|
|
||||||
|---|---|
|
|
||||||
| mod_php 자식 1개당 10~30MB → 400개면 OOM | 실측 PSS 2MB (유휴). 400개여도 800MB 수준 |
|
|
||||||
| 워커 1개 = DB 연결 1개 → 400 > 151 은 결함 | 요청의 28%만 DB 사용. `K` 상태 워커는 DB 연결을 안 씀. 고수위 27 |
|
|
||||||
| Little's law 로 동시 요청 0.055개 → 120이면 13배 여유 | `Total Duration` 은 **처리 시간**만 포함. KeepAlive 점유가 빠져 실측(busy 2~15)과 100배 차이 |
|
|
||||||
| `K ≈ 요청률 × KeepAliveTimeout` 선형 외삽 | 2.2 req/s 와 13 req/s 모두 `K=11`. 버스트에서 연결 재사용이 작동 |
|
|
||||||
| `MaxRequestWorkers 120` 권장 | **9/17 피크 busy 최대 204.** 120으로 조였다면 수업 시간에 요청이 큐에 쌓였음 (5-3절) |
|
|
||||||
| `K` 는 요청률에 비례하지 않는다 (저녁 샘플 7개 기준) | 780샘플 회귀에서 `K = 1.28 × req/s`, 상관 0.862. 표본 부족에 따른 오판 |
|
|
||||||
| 외부에서 `/server-status` 403 확인 | 도메인 오류로 무효. SSL 인증서는 `www_chocomae_com` ([ssl/README:7](../../../../ssl/README#L7)), `chocomae.jinaju.com` 은 http 전용 |
|
|
||||||
|
|
||||||
### 3-3. DB 분리 검토([09번 문서](../09-aws-db-separation.md))에 주는 시사점
|
|
||||||
|
|
||||||
4월 장애가 Apache 워커 + 인스턴스 크레딧에서 비롯됐다면, DB를 RDS로 분리해도 웹 계층 문제는 그대로 남습니다. 반면 9/16 실측은 DB 개선만으로 피크 CPU가 3.4배 줄었음을 보여줍니다.
|
|
||||||
|
|
||||||
→ **09번 문서의 "DB 분리 불필요" 결론을 강화합니다.**
|
|
||||||
|
|
||||||
다만 09번 문서 2장의 원인 진단이 "DB와 PHP의 리소스 경쟁"으로만 서술돼 있고 **인스턴스 크레딧이라는 세 번째 원인이 빠져 있습니다.** 4월 이력을 반영한 보완이 필요합니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. 남은 측정
|
|
||||||
|
|
||||||
### 4-1. 피크 모니터링 (등록 완료)
|
|
||||||
|
|
||||||
`/home/ubuntu/temp/apache-peak.sh` — 평일 12:50부터 10초 간격 780회(130분). 기존 vmstat 모니터링과 같은 시각에 돌아 로그를 나란히 대조할 수 있습니다.
|
|
||||||
|
|
||||||
```
|
|
||||||
50 12 * * 1-5 /home/ubuntu/temp/chocomae-peaktime-monitoring.sh
|
|
||||||
50 12 * * 1-5 /home/ubuntu/temp/apache-peak.sh >> /home/ubuntu/temp/apache-peak.cron.log 2>&1
|
|
||||||
0 0 * * 1 find /home/ubuntu/temp \( -name "vmstat_*.log" -o -name "apache_*.log" \) -mtime +30 -delete
|
|
||||||
```
|
|
||||||
|
|
||||||
수집 컬럼: `time busy idle K W R total_accesses db_conn db_max db_total`
|
|
||||||
|
|
||||||
> - `sleep $(( 10 - $(date +%s) % 10 ))` 으로 10초 격자에 고정 — vmstat 로그와 시각이 어긋나지 않습니다.
|
|
||||||
> - DB 조회는 `sudo -n /usr/bin/mariadb` 경유 (OS 계정 `ubuntu` 는 DB 직접 접속 권한 없음, NOPASSWD sudo 가능).
|
|
||||||
> - `db_conn`(`Threads_connected`) 은 순간값이라 짧은 PHP 연결을 대부분 놓칩니다. 판정에는 `db_max`(`Max_used_connections`, 고수위)를 쓰세요.
|
|
||||||
|
|
||||||
### 4-2. 판정 기준
|
|
||||||
|
|
||||||
| 관측 | 판단 |
|
|
||||||
|---|---|
|
|
||||||
| 피크 `busy` 최대가 400에 근접 | 워커가 병목. `KeepAliveTimeout` 단축 우선 검토 |
|
|
||||||
| `K` 가 `busy` 의 대부분이고 요청률과 무관하게 큼 | `KeepAliveTimeout` 5→2초. 워커 수요 감소, CPU 여유(0.42%)로 TLS 재핸드셰이크 흡수 가능 |
|
|
||||||
| 피크 `busy` 최대가 100 미만 | 400은 과하지만 해가 없음. 변경 불필요 |
|
|
||||||
| `idle=0` 샘플이 잦음 | `StartServers`/`MinSpareServers` 상향 검토 |
|
|
||||||
| `db_max` 가 27에서 오름 | DB 연결 재평가 |
|
|
||||||
|
|
||||||
### 4-3. 미확인 항목
|
|
||||||
|
|
||||||
- [ ] 외부에서 `/server-status` 접근 차단 확인 (도메인 정정 후 재시도)
|
|
||||||
```bash
|
|
||||||
curl -s -o /dev/null -w 'jinaju http : %{http_code}\n' http://chocomae.jinaju.com/server-status
|
|
||||||
curl -s -o /dev/null -w 'chocomae https: %{http_code}\n' https://www.chocomae.com/server-status
|
|
||||||
```
|
|
||||||
`403` 이면 정상. 리버스 프록시를 거치면 `Require local` 이 프록시 IP를 통과시킬 수 있어 실제 응답 확인이 필요합니다.
|
|
||||||
- [ ] EC2 크레딧 모드가 Unlimited 인지 Standard 인지 (콘솔 → EC2 → 인스턴스 → 크레딧 사양, 또는 CloudWatch `CPUSurplusCreditsCharged`)
|
|
||||||
- [ ] PHP `opcache.enable` / `memory_consumption` / `memory_limit`
|
|
||||||
```bash
|
|
||||||
grep -rhE '^\s*(memory_limit|opcache\.enable|opcache\.memory_consumption)' /etc/php/*/apache2/php.ini /etc/php/*/apache2/conf.d/
|
|
||||||
```
|
|
||||||
- [ ] 피크 시각 자식 프로세스 PSS 재측정 (유휴 2MB 가 아니라 실제 값)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. 피크 측정 결과 (2026-09-17)
|
|
||||||
|
|
||||||
원본: [result/peaktime/apache_20260917-1250.log](result/peaktime/apache_20260917-1250.log), [result/peaktime/vmstat_20260917-1250.log](result/peaktime/vmstat_20260917-1250.log)
|
|
||||||
측정 구간 12:50:01~14:59:50, 10초 간격 780샘플.
|
|
||||||
|
|
||||||
### 5-1. 요약
|
|
||||||
|
|
||||||
| 항목 | 값 | 상한 대비 |
|
|
||||||
|---|---|---|
|
|
||||||
| **busy 워커 최대** | **204** (13:54:00) | `MaxRequestWorkers` 400의 **51%** |
|
|
||||||
| 자식 프로세스 최대 (busy+idle) | 230 | `ServerLimit` 400의 57.5% |
|
|
||||||
| busy 평균 | 52.9 | |
|
|
||||||
| busy ≥ 100 샘플 | 110개 (14.1%) | |
|
|
||||||
| busy ≥ 150 샘플 | 50개 (6.4%) | |
|
|
||||||
| busy ≥ 200 샘플 | 3개 | |
|
|
||||||
| `K`(KeepAlive 대기) 최대 | 152 (13:52:50) | **busy 의 69%** |
|
|
||||||
| `W`(전송) 최대 / 평균 | 4 / 1.06 | |
|
|
||||||
| `idle=0` 샘플 | 39개 (5.0%) | |
|
|
||||||
| 요청률 최대 | **132.4 req/s** (14:01:40) | 평균 22.3 req/s |
|
|
||||||
| DB 신규 연결 최대 | 31.7 conn/s | 평균 8.1 conn/s |
|
|
||||||
| `Max_used_connections` | **27** (변동 없음) | `max_connections` 151의 18% |
|
|
||||||
|
|
||||||
같은 시각 vmstat:
|
|
||||||
|
|
||||||
| 항목 | 값 |
|
|
||||||
|---|---|
|
|
||||||
| us+sy 평균 / p95 / 최대 | 2.14% / 5% / **9%** |
|
|
||||||
| 크레딧 베이스라인(20%) 초과 샘플 | **0개** |
|
|
||||||
| steal 평균 / 최대 | 0.000% / **0%** |
|
|
||||||
| swpd / si / so | 0 / 0 / 0 |
|
|
||||||
| free 최소 / cache 평균 | 396MB / 2,455MB |
|
|
||||||
|
|
||||||
### 5-2. 시간대별 추이
|
|
||||||
|
|
||||||
수업 교시에 맞춰 뚜렷한 파형이 나옵니다.
|
|
||||||
|
|
||||||
| 구간 | busy 평균 | busy 최대 | K 평균 | req/s 평균 |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| 12:50 | 13.3 | 25 | 8.0 | 7.3 |
|
|
||||||
| 13:00 | 17.5 | 32 | 9.4 | 6.2 |
|
|
||||||
| 13:10 | 4.6 | 16 | 1.8 | 0.8 |
|
|
||||||
| 13:20 | 4.3 | 14 | 2.1 | 1.3 |
|
|
||||||
| 13:30 | 10.3 | 26 | 5.4 | 5.5 |
|
|
||||||
| 13:40 | 46.9 | 94 | 33.6 | 33.0 |
|
|
||||||
| **13:50** | **155.9** | **204** | **111.6** | **66.9** |
|
|
||||||
| 14:00 | 115.2 | 176 | 79.7 | 46.6 |
|
|
||||||
| 14:10 | 52.9 | 84 | 36.2 | 16.9 |
|
|
||||||
| 14:20 | 65.7 | 106 | 46.0 | 26.1 |
|
|
||||||
| 14:30 | 42.8 | 79 | 30.6 | 15.9 |
|
|
||||||
| 14:40 | 83.4 | 121 | 56.9 | 33.3 |
|
|
||||||
| 14:50 | 74.5 | 120 | 50.9 | 29.6 |
|
|
||||||
|
|
||||||
최대 부하 구간(13:50~14:00)은 busy 평균 156 / 최대 204, K 평균 112, 67 req/s 입니다.
|
|
||||||
|
|
||||||
> 피크 요청률 132 req/s 는 4일 누적 평균 3.55 req/s 의 **37배**입니다.
|
|
||||||
> 누적 평균으로 용량을 계산하면 안 되는 이유가 이 숫자입니다.
|
|
||||||
|
|
||||||
### 5-3. 워커 수요 모델 (780샘플 회귀)
|
|
||||||
|
|
||||||
| 관계 | 회귀식 | 상관계수 |
|
|
||||||
|---|---|---|
|
|
||||||
| 요청률 → `K` | `K = 1.28 × req/s + 7.9` | 0.862 |
|
|
||||||
| 요청률 → `busy` | `busy ≈ 1.74 × req/s` | 0.860 |
|
|
||||||
|
|
||||||
**`K` 는 요청률에 선형 비례합니다.** 9/16 저녁 샘플 7개로 "비례하지 않는다"고 본 것은 오판이었습니다.
|
|
||||||
|
|
||||||
`KeepAliveTimeout` 이 5초인데 계수가 1.28 이라는 것은, 연결 하나가 평균 **약 3.9개 요청**을 처리하고 끊긴다는 뜻입니다(5 ÷ 1.28). `MaxKeepAliveRequests 100` 설정 대비로는 재사용률이 낮지만, 재사용 자체는 작동하고 있습니다.
|
|
||||||
|
|
||||||
이 모델로 상한 도달점을 계산하면:
|
|
||||||
|
|
||||||
```
|
|
||||||
현재 (KeepAliveTimeout 5초): 400 워커 ÷ 1.74 = 약 230 req/s 에서 포화
|
|
||||||
9/17 실측 피크 = 132 req/s
|
|
||||||
→ 여유 약 1.74배
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5-4. 판정
|
|
||||||
|
|
||||||
| 항목 | 판정 |
|
|
||||||
|---|---|
|
|
||||||
| `MaxRequestWorkers 400` | ✅ **적정. 유지.** 피크 51% 사용 |
|
|
||||||
| `max_connections 151` | ✅ 적정. 고수위 27 (18%) |
|
|
||||||
| CPU / 메모리 / steal | ✅ 전부 여유. 피크에도 us+sy 최대 9%, steal 0% |
|
|
||||||
| `KeepAliveTimeout 5` | ⚠️ 워커의 69%를 소비. 여유가 1.74배뿐이므로 성장 대비 검토 대상 |
|
|
||||||
| `idle=0` 5.0% | ⚠️ 예비 워커 소진 구간 존재. `MinSpareServers` 검토 대상 |
|
|
||||||
|
|
||||||
**120으로 낮췄다면 피크에 요청이 큐에 쌓였습니다.** 실측 204 > 120 이고, busy≥150 샘플이 50개(6.4%)였습니다. 4월 분석의 50은 더 말할 것도 없습니다. `MaxRequestWorkers 400` 은 근거 있는 설정이었습니다.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. 권고
|
|
||||||
|
|
||||||
### 6-1. 지금 할 것 — 없음 (필수 변경 사항 없음)
|
|
||||||
|
|
||||||
모든 지표가 상한 대비 여유입니다. 서비스에 문제가 없으므로 긴급히 바꿀 설정은 없습니다.
|
|
||||||
|
|
||||||
### 6-2. 선택 — 성장 대비 (트래픽 1.7배 이상 증가가 예상될 때)
|
|
||||||
|
|
||||||
**A. `KeepAliveTimeout` 5초 → 2초**
|
|
||||||
|
|
||||||
```apache
|
|
||||||
KeepAliveTimeout 2
|
|
||||||
```
|
|
||||||
|
|
||||||
`K` 계수가 1.28 → 약 0.51 로 줄어 `busy ≈ 0.97 × req/s` 가 됩니다.
|
|
||||||
|
|
||||||
| | 포화 요청률 | 9/17 피크 대비 여유 |
|
|
||||||
|---|---|---|
|
|
||||||
| 현재 (5초) | 약 230 req/s | 1.74배 |
|
|
||||||
| 변경 후 (2초) | 약 410 req/s | **3.1배** |
|
|
||||||
|
|
||||||
메모리도 DB 연결도 늘지 않고 여유만 1.8배가 됩니다. 비용은 TCP·TLS 재핸드셰이크 증가인데, 피크 CPU 가 us+sy 최대 9% 라 충분히 흡수됩니다.
|
|
||||||
|
|
||||||
**B. `MaxConnectionsPerChild` 0 → 10000**
|
|
||||||
|
|
||||||
```apache
|
|
||||||
MaxConnectionsPerChild 10000
|
|
||||||
```
|
|
||||||
|
|
||||||
자식 프로세스를 영원히 재활용하지 않는 현재 설정은 mod_php 누수가 누적됩니다. 위험도 낮은 위생 조치입니다.
|
|
||||||
|
|
||||||
**C. `MinSpareServers` 검토**
|
|
||||||
|
|
||||||
`idle=0` 샘플이 39개(5.0%)이고 그때 busy 평균이 89였습니다. 예비 워커가 떨어지면 다음 요청은 fork 를 기다립니다. 13:40~13:50 구간처럼 busy 가 10 → 204 로 급등할 때 특히 영향이 있습니다.
|
|
||||||
|
|
||||||
현재 값을 먼저 확인해야 합니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
grep -E 'MinSpareServers|MaxSpareServers' /etc/apache2/mods-enabled/mpm_prefork.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
Debian 기본값(5 / 10)이라면 피크 busy 평균 53 에 비해 지나치게 작습니다. 20 / 50 정도로 올리면 fork 급증 구간이 완만해집니다.
|
|
||||||
|
|
||||||
적용은 무중단입니다.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo cp /etc/apache2/mods-available/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.conf.bak-$(date +%Y%m%d)
|
|
||||||
sudo apache2ctl configtest && sudo systemctl reload apache2
|
|
||||||
```
|
|
||||||
|
|
||||||
### 6-3. 재측정
|
|
||||||
|
|
||||||
설정을 바꾸면 같은 스크립트로 하루 더 측정해 `K` 계수가 예상대로 내려갔는지 확인하세요. cron 은 평일 12:50 에 계속 돌고 있습니다.
|
|
||||||
|
|
||||||
### 6-4. 남은 확인 항목
|
|
||||||
|
|
||||||
- [ ] EC2 크레딧 모드 (Unlimited / Standard) — 9/17 steal 0%, 베이스라인 초과 0샘플이라 실질 위험은 낮음
|
|
||||||
- [ ] 외부에서 `/server-status` 접근 차단 확인
|
|
||||||
- [ ] PHP `opcache.enable` 여부
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# 운영 서버(EC2) /home/ubuntu/temp/apache-peak.sh 사본 — 평일 12:50 cron 등록
|
|
||||||
# 10초 간격 780회 = 130분 (12:50~15:00). vmstat 모니터링과 같은 시각에 실행.
|
|
||||||
LOG="/home/ubuntu/temp/apache_$(date +%Y%m%d-%H%M).log"
|
|
||||||
echo "time busy idle K W R total_accesses db_conn db_max db_total" > "$LOG"
|
|
||||||
for i in $(seq 1 780); do
|
|
||||||
s=$(curl -s http://localhost/server-status?auto)
|
|
||||||
sb=$(echo "$s" | awk -F': ' '/^Scoreboard/{print $2}')
|
|
||||||
db=$(sudo -n /usr/bin/mariadb -N -B -e "SHOW GLOBAL STATUS WHERE Variable_name IN ('Connections','Max_used_connections','Threads_connected')" 2>/dev/null \
|
|
||||||
| awk '{v[$1]=$2} END{printf "%s %s %s", (v["Threads_connected"]?v["Threads_connected"]:"NA"), (v["Max_used_connections"]?v["Max_used_connections"]:"NA"), (v["Connections"]?v["Connections"]:"NA")}')
|
|
||||||
echo "$(date +%H:%M:%S) \
|
|
||||||
$(echo "$s" | awk -F': ' '/^BusyWorkers/{print $2}') \
|
|
||||||
$(echo "$s" | awk -F': ' '/^IdleWorkers/{print $2}') \
|
|
||||||
$(echo "$sb" | tr -cd 'K' | wc -c) \
|
|
||||||
$(echo "$sb" | tr -cd 'W' | wc -c) \
|
|
||||||
$(echo "$sb" | tr -cd 'R' | wc -c) \
|
|
||||||
$(echo "$s" | awk -F': ' '/^Total Accesses/{print $2}') \
|
|
||||||
${db:-NA NA NA}" >> "$LOG"
|
|
||||||
sleep $(( 10 - $(date +%s) % 10 ))
|
|
||||||
done
|
|
||||||
@@ -1,781 +0,0 @@
|
|||||||
time busy idle K W R total_accesses db_conn db_max db_total
|
|
||||||
12:50:01 10 5 9 1 0 1463870 1 27 597304
|
|
||||||
12:50:10 8 7 7 1 0 1463891 1 27 597325
|
|
||||||
12:50:20 16 12 6 1 0 1463967 1 27 597339
|
|
||||||
12:50:30 4 14 0 1 0 1463982 1 27 597344
|
|
||||||
12:50:40 12 5 11 1 0 1464031 1 27 597357
|
|
||||||
12:50:50 10 6 3 1 0 1464065 1 27 597365
|
|
||||||
12:51:00 2 11 0 1 0 1464074 1 27 597370
|
|
||||||
12:51:10 8 9 1 1 0 1464204 1 27 597371
|
|
||||||
12:51:20 1 9 0 1 0 1464212 1 27 597372
|
|
||||||
12:51:30 4 6 3 1 0 1464219 1 27 597375
|
|
||||||
12:51:40 21 11 6 1 1 1464454 1 27 597382
|
|
||||||
12:51:51 7 15 4 1 1 1464484 1 27 597393
|
|
||||||
12:52:00 8 9 3 1 0 1464562 1 27 597400
|
|
||||||
12:52:10 12 4 5 1 1 1464619 1 27 597409
|
|
||||||
12:52:20 13 3 8 1 2 1464670 1 27 597425
|
|
||||||
12:52:30 13 4 12 1 0 1464713 1 27 597443
|
|
||||||
12:52:40 19 11 8 1 0 1464985 1 27 597456
|
|
||||||
12:52:50 14 7 9 2 2 1465017 1 27 597469
|
|
||||||
12:53:00 16 6 10 1 2 1465114 1 27 597489
|
|
||||||
12:53:10 11 10 7 1 1 1465168 1 27 597529
|
|
||||||
12:53:20 17 10 10 1 3 1465259 1 27 597554
|
|
||||||
12:53:30 14 4 11 1 2 1465291 1 27 597565
|
|
||||||
12:53:40 10 10 7 1 1 1465411 1 27 597585
|
|
||||||
12:53:50 14 5 12 1 1 1465498 1 27 597610
|
|
||||||
12:54:00 11 9 6 1 0 1465567 1 27 597634
|
|
||||||
12:54:11 13 5 10 1 0 1465652 1 27 597652
|
|
||||||
12:54:20 20 5 17 1 2 1465773 1 27 597668
|
|
||||||
12:54:30 15 9 13 1 0 1465952 1 27 597688
|
|
||||||
12:54:40 18 4 16 1 0 1466160 1 27 597718
|
|
||||||
12:54:50 19 10 9 1 1 1466238 1 27 597745
|
|
||||||
12:55:00 6 14 2 1 1 1466269 1 27 597756
|
|
||||||
12:55:10 16 9 12 1 2 1466412 1 27 597772
|
|
||||||
12:55:20 9 12 4 1 3 1466436 1 27 597791
|
|
||||||
12:55:30 19 12 13 1 3 1466517 1 27 597804
|
|
||||||
12:55:40 17 4 8 1 3 1466587 1 27 597817
|
|
||||||
12:55:50 18 3 15 1 2 1466722 1 27 597844
|
|
||||||
12:56:00 22 3 15 1 1 1466898 1 27 597861
|
|
||||||
12:56:10 22 2 10 1 3 1467089 1 27 597880
|
|
||||||
12:56:20 23 3 20 1 2 1467203 1 27 597901
|
|
||||||
12:56:31 25 11 11 1 1 1467358 1 27 597934
|
|
||||||
12:56:40 16 11 7 1 4 1467391 1 27 597957
|
|
||||||
12:56:50 19 5 12 1 4 1467431 1 27 597980
|
|
||||||
12:57:00 15 9 8 1 3 1467461 1 27 598005
|
|
||||||
12:57:10 8 10 4 1 1 1467491 1 27 598027
|
|
||||||
12:57:20 11 4 8 1 2 1467510 1 27 598038
|
|
||||||
12:57:30 19 10 4 1 3 1467540 1 27 598062
|
|
||||||
12:57:40 15 6 9 1 1 1467577 1 27 598078
|
|
||||||
12:57:50 7 9 2 1 0 1467593 1 27 598089
|
|
||||||
12:58:00 11 4 5 1 1 1467656 1 27 598100
|
|
||||||
12:58:10 11 11 6 1 1 1467686 1 27 598128
|
|
||||||
12:58:20 22 8 15 1 0 1467848 1 27 598165
|
|
||||||
12:58:30 17 7 10 1 0 1467924 1 27 598187
|
|
||||||
12:58:40 8 12 6 1 0 1467997 1 27 598199
|
|
||||||
12:58:51 4 10 0 1 2 1468018 1 27 598205
|
|
||||||
12:59:00 10 5 6 1 3 1468029 1 27 598215
|
|
||||||
12:59:10 16 3 14 1 1 1468065 1 27 598238
|
|
||||||
12:59:20 18 6 10 1 0 1468138 1 27 598266
|
|
||||||
12:59:30 12 6 8 1 1 1468164 1 27 598277
|
|
||||||
12:59:40 6 7 3 1 1 1468175 1 27 598283
|
|
||||||
12:59:50 14 6 8 1 3 1468197 1 27 598294
|
|
||||||
13:00:00 10 6 5 1 4 1468300 1 27 598305
|
|
||||||
13:00:10 11 7 6 1 4 1468319 1 27 598322
|
|
||||||
13:00:21 20 0 16 2 2 1468492 1 27 598335
|
|
||||||
13:00:30 4 25 0 1 2 1468502 1 27 598338
|
|
||||||
13:00:40 7 12 3 1 0 1468523 1 27 598344
|
|
||||||
13:00:50 17 4 14 1 0 1468598 1 27 598367
|
|
||||||
13:01:00 21 2 14 1 2 1468657 1 27 598395
|
|
||||||
13:01:10 23 25 5 1 4 1468823 1 27 598433
|
|
||||||
13:01:20 17 21 10 1 2 1468938 1 27 598447
|
|
||||||
13:01:30 8 22 3 1 3 1469080 1 27 598452
|
|
||||||
13:01:40 19 9 11 1 7 1469191 1 27 598467
|
|
||||||
13:01:51 31 0 23 1 3 1469315 1 27 598516
|
|
||||||
13:02:00 18 17 15 1 1 1469462 1 27 598539
|
|
||||||
13:02:10 15 11 13 1 0 1469560 1 27 598567
|
|
||||||
13:02:20 30 4 26 1 0 1469676 1 27 598599
|
|
||||||
13:02:30 16 10 11 1 0 1469716 1 27 598619
|
|
||||||
13:02:40 22 11 13 1 0 1469839 1 27 598649
|
|
||||||
13:02:50 13 13 3 1 4 1469875 1 27 598668
|
|
||||||
13:03:00 14 9 7 1 5 1469942 1 27 598686
|
|
||||||
13:03:10 23 8 16 1 3 1470022 1 27 598720
|
|
||||||
13:03:20 15 9 9 1 5 1470071 1 27 598733
|
|
||||||
13:03:30 29 10 24 1 1 1470184 1 27 598772
|
|
||||||
13:03:40 14 16 9 1 3 1470256 1 27 598786
|
|
||||||
13:03:50 25 9 14 1 5 1470356 1 27 598821
|
|
||||||
13:04:00 20 5 9 1 3 1470394 1 27 598851
|
|
||||||
13:04:11 21 10 13 1 3 1470477 1 27 598876
|
|
||||||
13:04:20 16 12 5 1 4 1470506 1 27 598902
|
|
||||||
13:04:30 32 9 20 1 4 1470619 1 27 598956
|
|
||||||
13:04:40 21 12 4 1 3 1470774 1 27 598974
|
|
||||||
13:04:50 16 11 8 1 7 1470826 1 27 598993
|
|
||||||
13:05:00 24 6 12 1 11 1470901 1 27 599026
|
|
||||||
13:05:10 25 12 11 1 8 1470953 1 27 599052
|
|
||||||
13:05:20 28 3 24 1 3 1471098 1 27 599083
|
|
||||||
13:05:30 18 15 11 1 2 1471135 1 27 599117
|
|
||||||
13:05:40 18 5 15 1 2 1471168 1 27 599139
|
|
||||||
13:05:50 15 8 12 1 1 1471215 1 27 599169
|
|
||||||
13:06:00 20 3 10 1 3 1471262 1 27 599189
|
|
||||||
13:06:10 15 9 3 1 9 1471297 1 27 599206
|
|
||||||
13:06:20 27 4 8 1 9 1471355 1 27 599227
|
|
||||||
13:06:31 11 13 5 1 4 1471375 1 27 599239
|
|
||||||
13:06:40 8 11 1 1 4 1471390 1 27 599249
|
|
||||||
13:06:50 12 5 6 1 5 1471404 1 27 599262
|
|
||||||
13:07:00 17 5 1 1 6 1471419 1 27 599277
|
|
||||||
13:07:10 11 9 3 1 7 1471431 1 27 599287
|
|
||||||
13:07:20 21 7 6 1 6 1471450 1 27 599306
|
|
||||||
13:07:30 16 8 6 1 5 1471474 1 27 599326
|
|
||||||
13:07:40 20 4 11 1 4 1471544 1 27 599351
|
|
||||||
13:07:50 12 11 2 1 8 1471558 1 27 599365
|
|
||||||
13:08:00 11 9 0 1 7 1471568 1 27 599370
|
|
||||||
13:08:10 32 17 28 1 3 1471631 1 27 599406
|
|
||||||
13:08:20 13 27 5 1 3 1471669 1 27 599434
|
|
||||||
13:08:30 9 21 3 1 1 1471692 1 27 599447
|
|
||||||
13:08:40 14 8 7 1 1 1471725 1 27 599472
|
|
||||||
13:08:50 19 8 7 1 3 1471757 1 27 599503
|
|
||||||
13:09:00 13 10 6 1 6 1471776 1 27 599518
|
|
||||||
13:09:10 12 8 4 1 3 1471796 1 27 599535
|
|
||||||
13:09:20 17 3 12 1 4 1471824 1 27 599562
|
|
||||||
13:09:30 8 17 2 1 4 1471857 1 27 599570
|
|
||||||
13:09:40 19 5 3 1 5 1471893 1 27 599591
|
|
||||||
13:09:50 19 1 10 1 5 1471921 1 27 599614
|
|
||||||
13:10:00 10 9 3 1 3 1471935 1 27 599622
|
|
||||||
13:10:10 16 10 10 1 2 1472031 1 27 599664
|
|
||||||
13:10:20 9 9 5 1 2 1472053 1 27 599677
|
|
||||||
13:10:30 7 10 1 1 4 1472065 1 27 599687
|
|
||||||
13:10:40 10 5 6 1 2 1472081 1 27 599702
|
|
||||||
13:10:50 3 8 2 1 0 1472089 1 27 599706
|
|
||||||
13:11:00 3 9 1 1 1 1472096 1 27 599713
|
|
||||||
13:11:10 9 4 7 1 1 1472106 1 27 599723
|
|
||||||
13:11:20 10 4 6 1 0 1472125 1 27 599742
|
|
||||||
13:11:30 2 9 0 1 1 1472129 1 27 599743
|
|
||||||
13:11:40 4 7 2 1 1 1472133 1 27 599747
|
|
||||||
13:11:50 6 5 2 1 1 1472140 1 27 599754
|
|
||||||
13:12:00 5 7 0 1 2 1472150 1 27 599764
|
|
||||||
13:12:10 3 8 1 1 1 1472153 1 27 599766
|
|
||||||
13:12:20 11 4 2 1 2 1472190 1 27 599777
|
|
||||||
13:12:30 6 7 2 1 3 1472195 1 27 599780
|
|
||||||
13:12:40 7 6 3 1 1 1472201 1 27 599786
|
|
||||||
13:12:50 5 7 2 1 2 1472208 1 27 599792
|
|
||||||
13:13:00 6 6 4 1 1 1472214 1 27 599798
|
|
||||||
13:13:10 3 8 1 1 0 1472217 1 27 599800
|
|
||||||
13:13:20 3 8 2 1 0 1472225 1 27 599808
|
|
||||||
13:13:30 2 9 0 1 0 1472230 1 27 599812
|
|
||||||
13:13:41 2 8 1 1 0 1472232 1 27 599814
|
|
||||||
13:13:50 4 6 0 1 0 1472237 1 27 599819
|
|
||||||
13:14:00 2 8 0 1 1 1472239 1 27 599821
|
|
||||||
13:14:10 2 8 0 1 1 1472244 1 27 599826
|
|
||||||
13:14:20 4 6 2 1 1 1472250 1 27 599832
|
|
||||||
13:14:30 3 7 0 1 2 1472251 1 27 599834
|
|
||||||
13:14:40 8 3 4 1 1 1472262 1 27 599845
|
|
||||||
13:14:50 2 9 0 1 1 1472265 1 27 599847
|
|
||||||
13:15:00 5 6 0 1 1 1472271 1 27 599852
|
|
||||||
13:15:10 3 8 0 1 2 1472272 1 27 599853
|
|
||||||
13:15:20 2 9 0 1 1 1472273 1 27 599854
|
|
||||||
13:15:30 2 9 1 1 0 1472275 1 27 599856
|
|
||||||
13:15:40 1 9 0 1 0 1472281 1 27 599861
|
|
||||||
13:15:50 1 9 0 1 0 1472282 1 27 599862
|
|
||||||
13:16:01 3 7 2 1 0 1472288 1 27 599868
|
|
||||||
13:16:10 5 5 3 1 1 1472294 1 27 599874
|
|
||||||
13:16:20 4 6 3 1 0 1472300 1 27 599880
|
|
||||||
13:16:30 1 9 0 1 0 1472301 1 27 599881
|
|
||||||
13:16:40 3 7 0 1 2 1472302 1 27 599882
|
|
||||||
13:16:50 6 4 0 1 5 1472303 1 27 599883
|
|
||||||
13:17:00 4 6 1 1 2 1472305 1 27 599885
|
|
||||||
13:17:10 6 4 4 1 0 1472310 1 27 599890
|
|
||||||
13:17:20 1 9 0 1 0 1472311 1 27 599891
|
|
||||||
13:17:30 1 9 0 1 0 1472312 1 27 599892
|
|
||||||
13:17:40 1 9 0 1 0 1472313 1 27 599893
|
|
||||||
13:17:50 6 4 5 1 0 1472321 1 27 599901
|
|
||||||
13:18:00 2 14 0 1 0 1472332 1 27 599910
|
|
||||||
13:18:10 1 9 0 1 0 1472338 1 27 599911
|
|
||||||
13:18:20 2 8 0 1 1 1472339 1 27 599912
|
|
||||||
13:18:30 3 7 0 1 2 1472340 1 27 599913
|
|
||||||
13:18:40 6 4 0 1 5 1472341 1 27 599914
|
|
||||||
13:18:50 8 4 2 1 1 1472354 1 27 599927
|
|
||||||
13:19:00 7 4 6 1 0 1472364 1 27 599936
|
|
||||||
13:19:10 2 9 1 1 0 1472367 1 27 599939
|
|
||||||
13:19:20 5 6 2 1 2 1472372 1 27 599944
|
|
||||||
13:19:30 6 6 3 1 2 1472386 1 27 599958
|
|
||||||
13:19:40 9 4 4 1 0 1472397 1 27 599969
|
|
||||||
13:19:50 2 8 1 1 0 1472402 1 27 599971
|
|
||||||
13:20:00 3 7 0 1 2 1472407 1 27 599976
|
|
||||||
13:20:10 4 6 0 1 3 1472408 1 27 599977
|
|
||||||
13:20:20 4 6 1 1 2 1472410 1 27 599979
|
|
||||||
13:20:30 3 10 0 1 2 1472415 1 27 599984
|
|
||||||
13:20:40 5 7 4 1 0 1472422 1 27 599990
|
|
||||||
13:20:51 2 8 1 1 0 1472426 1 27 599992
|
|
||||||
13:21:00 1 9 0 1 0 1472427 1 27 599993
|
|
||||||
13:21:10 4 6 2 1 0 1472434 1 27 600000
|
|
||||||
13:21:20 4 6 2 1 1 1472437 1 27 600003
|
|
||||||
13:21:30 4 11 0 1 2 1472449 1 27 600012
|
|
||||||
13:21:40 5 7 2 1 2 1472457 1 27 600018
|
|
||||||
13:21:50 2 9 0 1 1 1472459 1 27 600019
|
|
||||||
13:22:00 3 8 2 1 0 1472467 1 27 600027
|
|
||||||
13:22:10 6 5 4 1 1 1472476 1 27 600036
|
|
||||||
13:22:20 2 9 0 1 1 1472477 1 27 600037
|
|
||||||
13:22:30 4 7 3 1 0 1472483 1 27 600043
|
|
||||||
13:22:40 8 3 6 1 1 1472495 1 27 600054
|
|
||||||
13:22:50 2 9 0 1 1 1472498 1 27 600055
|
|
||||||
13:23:00 1 9 0 1 0 1472500 1 27 600056
|
|
||||||
13:23:10 6 4 5 1 0 1472507 1 27 600063
|
|
||||||
13:23:20 3 9 1 1 1 1472514 1 27 600069
|
|
||||||
13:23:30 5 7 3 1 1 1472524 1 27 600079
|
|
||||||
13:23:40 4 8 3 1 0 1472535 1 27 600090
|
|
||||||
13:23:50 6 6 5 1 0 1472552 1 27 600107
|
|
||||||
13:24:00 3 9 0 1 2 1472556 1 27 600111
|
|
||||||
13:24:10 14 1 12 1 1 1472582 1 27 600142
|
|
||||||
13:24:20 5 11 0 1 1 1472598 1 27 600148
|
|
||||||
13:24:30 6 5 5 1 0 1472609 1 27 600155
|
|
||||||
13:24:40 7 4 3 1 0 1472619 1 27 600165
|
|
||||||
13:24:50 2 9 0 1 1 1472620 1 27 600166
|
|
||||||
13:25:00 4 7 2 1 1 1472627 1 27 600173
|
|
||||||
13:25:10 4 8 0 1 3 1472632 1 27 600178
|
|
||||||
13:25:20 7 5 4 1 2 1472639 1 27 600185
|
|
||||||
13:25:30 4 8 0 1 0 1472644 1 27 600190
|
|
||||||
13:25:41 3 7 1 1 1 1472648 1 27 600192
|
|
||||||
13:25:50 2 8 0 1 1 1472653 1 27 600197
|
|
||||||
13:26:00 1 9 0 1 0 1472654 1 27 600198
|
|
||||||
13:26:10 3 7 2 1 0 1472660 1 27 600204
|
|
||||||
13:26:20 3 7 2 1 0 1472666 1 27 600210
|
|
||||||
13:26:30 4 6 3 1 0 1472675 1 27 600219
|
|
||||||
13:26:40 4 6 3 1 0 1472681 1 27 600225
|
|
||||||
13:26:50 6 4 5 1 0 1472693 1 27 600237
|
|
||||||
13:27:00 2 11 0 1 1 1472698 1 27 600242
|
|
||||||
13:27:10 2 8 1 1 0 1472708 1 27 600249
|
|
||||||
13:27:20 6 5 1 1 0 1472716 1 27 600255
|
|
||||||
13:27:30 3 7 2 1 0 1472727 1 27 600265
|
|
||||||
13:27:40 3 7 2 1 0 1472733 1 27 600271
|
|
||||||
13:27:50 2 8 1 1 0 1472737 1 27 600275
|
|
||||||
13:28:00 5 6 0 1 2 1472752 1 27 600290
|
|
||||||
13:28:10 11 7 10 1 0 1472868 1 27 600296
|
|
||||||
13:28:20 3 9 1 1 0 1472877 1 27 600298
|
|
||||||
13:28:30 7 4 6 1 0 1472892 1 27 600313
|
|
||||||
13:28:40 8 8 7 1 0 1472964 1 27 600327
|
|
||||||
13:28:50 1 12 0 1 0 1472972 1 27 600332
|
|
||||||
13:29:00 4 6 3 1 0 1472986 1 27 600343
|
|
||||||
13:29:10 7 9 6 1 0 1473099 1 27 600344
|
|
||||||
13:29:20 9 6 0 1 0 1473158 1 27 600353
|
|
||||||
13:29:30 4 7 0 1 1 1473168 1 27 600355
|
|
||||||
13:29:40 3 8 0 1 2 1473169 1 27 600356
|
|
||||||
13:29:50 5 6 2 1 1 1473182 1 27 600364
|
|
||||||
13:30:00 15 3 8 1 0 1473348 1 27 600368
|
|
||||||
13:30:10 9 8 4 1 4 1473380 1 27 600374
|
|
||||||
13:30:20 9 8 7 1 1 1473402 1 27 600394
|
|
||||||
13:30:31 2 11 0 1 0 1473414 1 27 600401
|
|
||||||
13:30:40 3 8 2 1 0 1473420 1 27 600406
|
|
||||||
13:30:50 5 6 3 1 1 1473426 1 27 600412
|
|
||||||
13:31:00 4 8 1 1 2 1473438 1 27 600424
|
|
||||||
13:31:10 5 7 2 1 1 1473442 1 27 600428
|
|
||||||
13:31:20 4 8 1 1 0 1473451 1 27 600434
|
|
||||||
13:31:30 15 2 14 1 0 1473520 1 27 600443
|
|
||||||
13:31:40 7 15 5 1 0 1473638 1 27 600456
|
|
||||||
13:31:50 16 1 13 1 0 1473759 1 27 600465
|
|
||||||
13:32:00 6 10 3 1 1 1473770 1 27 600472
|
|
||||||
13:32:10 7 8 2 1 4 1473777 1 27 600479
|
|
||||||
13:32:20 6 8 3 1 1 1473788 1 27 600486
|
|
||||||
13:32:30 2 9 1 1 0 1473795 1 27 600489
|
|
||||||
13:32:40 8 13 6 1 1 1473833 1 27 600500
|
|
||||||
13:32:51 16 3 10 1 4 1473858 1 27 600522
|
|
||||||
13:33:00 8 9 1 1 3 1473869 1 27 600529
|
|
||||||
13:33:10 15 1 14 1 0 1473995 1 27 600549
|
|
||||||
13:33:20 10 7 4 1 4 1474012 1 27 600563
|
|
||||||
13:33:30 9 7 3 1 5 1474018 1 27 600568
|
|
||||||
13:33:40 12 4 7 1 3 1474035 1 27 600585
|
|
||||||
13:33:50 10 12 6 1 2 1474056 1 27 600604
|
|
||||||
13:34:00 8 9 1 1 3 1474070 1 27 600614
|
|
||||||
13:34:10 11 5 9 1 1 1474185 1 27 600624
|
|
||||||
13:34:20 12 4 7 2 2 1474318 1 27 600631
|
|
||||||
13:34:30 22 9 10 1 4 1474466 1 27 600647
|
|
||||||
13:34:40 23 7 2 1 7 1474699 1 27 600656
|
|
||||||
13:34:50 26 2 15 1 7 1474850 1 27 600680
|
|
||||||
13:35:00 15 12 2 1 3 1474971 1 27 600697
|
|
||||||
13:35:11 5 13 3 1 0 1475131 1 27 600701
|
|
||||||
13:35:20 9 7 5 1 3 1475147 1 27 600715
|
|
||||||
13:35:30 20 0 14 1 5 1475216 1 27 600736
|
|
||||||
13:35:40 20 7 6 1 1 1475264 1 27 600766
|
|
||||||
13:35:50 13 9 8 1 4 1475297 1 27 600794
|
|
||||||
13:36:00 15 7 10 1 4 1475516 1 27 600809
|
|
||||||
13:36:10 13 9 9 1 3 1475723 1 27 600812
|
|
||||||
13:36:20 14 7 9 1 3 1475847 1 27 600833
|
|
||||||
13:36:30 5 11 2 1 1 1475958 1 27 600836
|
|
||||||
13:36:40 9 6 5 1 3 1475974 1 27 600849
|
|
||||||
13:36:50 12 3 8 1 3 1475989 1 27 600865
|
|
||||||
13:37:01 9 9 5 1 3 1476004 1 27 600875
|
|
||||||
13:37:10 12 4 7 1 4 1476023 1 27 600892
|
|
||||||
13:37:20 13 6 5 1 4 1476042 1 27 600908
|
|
||||||
13:37:30 8 11 2 1 2 1476065 1 27 600929
|
|
||||||
13:37:40 5 9 1 1 2 1476075 1 27 600934
|
|
||||||
13:37:50 3 7 2 1 0 1476094 1 27 600940
|
|
||||||
13:38:00 5 6 2 1 2 1476101 1 27 600941
|
|
||||||
13:38:10 6 5 0 1 5 1476102 1 27 600942
|
|
||||||
13:38:20 17 3 8 1 6 1476122 1 27 600954
|
|
||||||
13:38:30 8 13 0 1 3 1476140 1 27 600964
|
|
||||||
13:38:40 5 9 3 1 0 1476154 1 27 600971
|
|
||||||
13:38:50 12 8 10 1 1 1476179 1 27 600996
|
|
||||||
13:39:00 9 9 4 1 4 1476198 1 27 601013
|
|
||||||
13:39:10 25 9 11 1 6 1476418 1 27 601027
|
|
||||||
13:39:21 9 16 4 1 3 1476439 1 27 601038
|
|
||||||
13:39:30 13 6 9 1 0 1476464 1 27 601058
|
|
||||||
13:39:40 4 11 3 1 0 1476482 1 27 601072
|
|
||||||
13:39:50 3 11 1 1 0 1476493 1 27 601081
|
|
||||||
13:40:00 9 3 6 1 2 1476590 1 27 601082
|
|
||||||
13:40:10 10 7 7 1 2 1476604 1 27 601093
|
|
||||||
13:40:20 5 9 2 1 2 1476613 1 27 601099
|
|
||||||
13:40:30 6 9 2 1 2 1476726 1 27 601107
|
|
||||||
13:40:40 1 9 0 1 0 1476731 1 27 601108
|
|
||||||
13:40:50 6 4 5 1 0 1476742 1 27 601119
|
|
||||||
13:41:00 20 6 15 1 4 1476910 1 27 601129
|
|
||||||
13:41:10 19 5 13 1 4 1477011 1 27 601156
|
|
||||||
13:41:20 15 21 7 1 2 1477265 1 27 601173
|
|
||||||
13:41:30 16 11 11 1 0 1477393 1 27 601190
|
|
||||||
13:41:41 19 8 10 1 2 1477591 1 27 601205
|
|
||||||
13:41:50 30 9 23 1 5 1477880 1 27 601222
|
|
||||||
13:42:00 20 13 16 1 2 1478178 1 27 601256
|
|
||||||
13:42:10 39 21 24 1 1 1478845 1 27 601291
|
|
||||||
13:42:20 39 14 36 1 1 1479559 1 27 601316
|
|
||||||
13:42:30 34 22 20 1 1 1480027 1 27 601345
|
|
||||||
13:42:40 48 0 38 2 1 1480442 1 27 601388
|
|
||||||
13:42:50 42 5 30 1 5 1480806 1 27 601422
|
|
||||||
13:43:00 46 29 35 1 4 1481187 1 27 601486
|
|
||||||
13:43:10 20 45 17 1 0 1481256 1 27 601526
|
|
||||||
13:43:20 34 21 25 1 1 1481641 1 27 601572
|
|
||||||
13:43:30 61 12 52 1 1 1482176 1 27 601652
|
|
||||||
13:43:40 55 18 38 1 1 1482822 1 27 601710
|
|
||||||
13:43:50 37 26 26 1 1 1483115 1 27 601745
|
|
||||||
13:44:01 49 8 34 1 0 1483525 1 27 601806
|
|
||||||
13:44:10 33 19 29 1 2 1483963 2 27 601857
|
|
||||||
13:44:20 62 0 54 2 2 1484341 1 27 601922
|
|
||||||
13:44:30 37 33 19 1 6 1484614 1 27 601977
|
|
||||||
13:44:40 49 12 32 1 2 1484868 1 27 602034
|
|
||||||
13:44:51 56 0 46 2 2 1485327 1 27 602101
|
|
||||||
13:45:00 50 18 36 1 2 1485516 1 27 602165
|
|
||||||
13:45:11 71 0 47 3 2 1486021 1 27 602266
|
|
||||||
13:45:20 51 17 35 1 2 1486246 1 27 602329
|
|
||||||
13:45:30 37 21 30 1 1 1486535 1 27 602375
|
|
||||||
13:45:40 41 7 30 1 2 1486703 1 27 602421
|
|
||||||
13:45:50 41 17 23 1 6 1486995 1 27 602464
|
|
||||||
13:46:02 57 0 42 4 8 1487383 1 27 602537
|
|
||||||
13:46:10 73 38 44 1 6 1487646 1 27 602612
|
|
||||||
13:46:20 60 41 50 1 3 1487931 1 27 602705
|
|
||||||
13:46:30 40 50 36 1 2 1488128 1 27 602769
|
|
||||||
13:46:41 56 24 33 1 5 1488646 1 27 602863
|
|
||||||
13:46:50 58 13 38 1 13 1488915 1 27 602926
|
|
||||||
13:47:00 72 0 38 1 12 1489136 1 27 603024
|
|
||||||
13:47:11 63 8 49 1 12 1489406 1 27 603096
|
|
||||||
13:47:20 65 11 49 1 6 1489629 1 27 603184
|
|
||||||
13:47:30 75 10 49 1 2 1490030 1 27 603278
|
|
||||||
13:47:40 48 28 42 1 2 1490367 1 27 603352
|
|
||||||
13:47:50 67 6 53 1 9 1490685 1 27 603458
|
|
||||||
13:48:00 62 17 24 1 10 1491042 1 27 603554
|
|
||||||
13:48:10 67 4 48 1 9 1491427 1 27 603635
|
|
||||||
13:48:20 64 9 49 1 4 1491689 1 27 603710
|
|
||||||
13:48:30 76 1 54 1 6 1492144 1 27 603816
|
|
||||||
13:48:40 93 13 83 1 4 1492883 1 27 603942
|
|
||||||
13:48:50 90 19 72 2 6 1493416 1 27 604070
|
|
||||||
13:49:00 61 38 48 1 3 1493729 1 27 604139
|
|
||||||
13:49:10 75 22 50 1 4 1494359 1 27 604238
|
|
||||||
13:49:20 56 31 42 1 8 1494663 1 27 604303
|
|
||||||
13:49:31 58 29 37 1 9 1495008 1 27 604413
|
|
||||||
13:49:40 74 9 51 1 7 1495572 1 27 604512
|
|
||||||
13:49:50 94 0 65 2 8 1496322 1 27 604621
|
|
||||||
13:50:00 78 36 55 1 8 1496649 1 27 604740
|
|
||||||
13:50:10 103 2 68 1 11 1497052 1 27 604847
|
|
||||||
13:50:20 127 9 94 1 10 1497703 1 27 605023
|
|
||||||
13:50:30 115 13 97 1 5 1498681 1 27 605175
|
|
||||||
13:50:40 120 11 87 1 6 1499878 1 27 605321
|
|
||||||
13:50:51 126 0 103 1 10 1500590 1 27 605511
|
|
||||||
13:51:00 159 9 110 2 15 1501662 1 27 605672
|
|
||||||
13:51:10 144 15 108 1 19 1502516 1 27 605855
|
|
||||||
13:51:20 158 0 102 3 14 1503364 1 27 606033
|
|
||||||
13:51:30 134 16 101 1 15 1504153 1 27 606205
|
|
||||||
13:51:40 136 7 77 1 19 1504865 1 27 606344
|
|
||||||
13:51:50 171 33 127 1 20 1506177 1 27 606523
|
|
||||||
13:52:00 183 11 151 1 9 1507425 1 27 606735
|
|
||||||
13:52:10 171 17 132 1 6 1508513 1 27 606955
|
|
||||||
13:52:20 161 17 129 1 11 1509221 1 27 607161
|
|
||||||
13:52:30 120 51 76 1 14 1509694 1 27 607326
|
|
||||||
13:52:40 155 7 99 1 22 1510477 1 27 607509
|
|
||||||
13:52:50 187 35 152 1 14 1511493 1 27 607796
|
|
||||||
13:53:00 160 52 109 1 12 1512289 1 27 608061
|
|
||||||
13:53:10 189 13 137 1 14 1513225 1 27 608321
|
|
||||||
13:53:20 175 17 127 1 17 1514014 1 27 608524
|
|
||||||
13:53:30 166 16 139 1 17 1514583 1 27 608753
|
|
||||||
13:53:41 203 0 141 1 17 1515375 2 27 609052
|
|
||||||
13:53:50 175 35 116 1 18 1516006 1 27 609267
|
|
||||||
13:54:00 204 1 136 2 18 1516840 1 27 609578
|
|
||||||
13:54:10 152 49 115 1 17 1517392 1 27 609805
|
|
||||||
13:54:20 169 22 123 1 13 1518046 1 27 610091
|
|
||||||
13:54:30 163 18 133 1 21 1518573 1 27 610320
|
|
||||||
13:54:40 174 34 116 1 20 1519604 1 27 610576
|
|
||||||
13:54:50 178 20 125 1 16 1520167 1 27 610824
|
|
||||||
13:55:00 153 38 108 1 13 1520887 1 27 611058
|
|
||||||
13:55:10 186 1 144 1 16 1521509 1 27 611324
|
|
||||||
13:55:21 188 21 141 1 16 1522244 1 27 611599
|
|
||||||
13:55:30 136 65 102 1 16 1522790 1 27 611788
|
|
||||||
13:55:40 181 10 117 1 19 1523280 1 27 612023
|
|
||||||
13:55:50 132 49 101 1 12 1523636 1 27 612214
|
|
||||||
13:56:00 185 21 132 1 20 1524398 1 27 612491
|
|
||||||
13:56:10 153 44 97 1 19 1525050 2 27 612689
|
|
||||||
13:56:20 137 50 96 1 12 1525505 2 27 612887
|
|
||||||
13:56:30 154 23 112 1 17 1526069 1 27 613136
|
|
||||||
13:56:40 162 26 107 1 23 1526757 1 27 613387
|
|
||||||
13:56:50 171 8 113 1 23 1527223 1 27 613637
|
|
||||||
13:57:00 157 20 102 1 20 1527773 1 27 613895
|
|
||||||
13:57:11 167 0 120 1 14 1528507 1 27 614158
|
|
||||||
13:57:20 124 69 88 1 14 1528958 1 27 614390
|
|
||||||
13:57:30 141 42 101 1 17 1529408 1 27 614629
|
|
||||||
13:57:40 151 22 112 1 16 1529776 1 27 614853
|
|
||||||
13:57:50 151 25 103 1 17 1530436 1 27 615112
|
|
||||||
13:58:00 170 1 124 1 17 1531011 1 27 615410
|
|
||||||
13:58:10 145 24 114 1 7 1531522 1 27 615684
|
|
||||||
13:58:20 200 30 144 1 11 1532129 1 27 615977
|
|
||||||
13:58:30 141 79 98 1 17 1532539 1 27 616216
|
|
||||||
13:58:40 137 73 100 1 22 1532924 1 27 616440
|
|
||||||
13:58:50 135 65 89 1 20 1533261 1 27 616652
|
|
||||||
13:59:00 148 42 97 1 19 1533812 1 27 616852
|
|
||||||
13:59:11 158 27 108 1 16 1534342 1 27 617109
|
|
||||||
13:59:20 163 13 107 1 22 1534712 1 27 617329
|
|
||||||
13:59:30 148 19 99 1 21 1535357 1 27 617515
|
|
||||||
13:59:40 162 1 116 1 14 1535986 1 27 617755
|
|
||||||
13:59:50 163 0 121 1 8 1536440 1 27 618028
|
|
||||||
14:00:00 161 0 122 2 17 1537050 1 27 618315
|
|
||||||
14:00:10 176 40 106 1 22 1537687 1 27 618572
|
|
||||||
14:00:20 148 58 109 1 17 1538264 1 27 618811
|
|
||||||
14:00:30 153 43 123 1 15 1538917 1 27 619121
|
|
||||||
14:00:40 126 62 84 1 11 1539583 1 27 619383
|
|
||||||
14:00:50 147 31 110 1 14 1540184 1 27 619606
|
|
||||||
14:01:00 164 24 96 1 15 1541372 1 27 619838
|
|
||||||
14:01:10 153 28 101 1 17 1541903 1 27 620112
|
|
||||||
14:01:20 151 20 95 1 25 1542366 1 27 620337
|
|
||||||
14:01:30 143 35 99 1 20 1542968 1 27 620559
|
|
||||||
14:01:40 159 10 119 1 21 1544292 1 27 620779
|
|
||||||
14:01:50 162 36 112 1 17 1545126 1 27 621011
|
|
||||||
14:02:00 149 39 113 1 15 1545678 1 27 621253
|
|
||||||
14:02:10 137 41 102 1 11 1546116 1 27 621481
|
|
||||||
14:02:20 152 16 114 1 18 1546616 1 27 621737
|
|
||||||
14:02:30 139 37 100 1 12 1547094 1 27 622054
|
|
||||||
14:02:40 140 26 108 1 19 1547551 1 27 622331
|
|
||||||
14:02:51 138 19 84 1 18 1548611 3 27 622581
|
|
||||||
14:03:00 118 30 72 1 16 1549006 1 27 622771
|
|
||||||
14:03:10 120 18 77 1 16 1549382 1 27 622960
|
|
||||||
14:03:20 135 13 95 1 17 1549816 1 27 623201
|
|
||||||
14:03:30 113 61 58 1 17 1550200 1 27 623411
|
|
||||||
14:03:40 123 41 98 1 10 1550592 1 27 623578
|
|
||||||
14:03:50 111 43 79 1 9 1551632 1 27 623746
|
|
||||||
14:04:01 161 0 123 2 5 1552329 1 27 624029
|
|
||||||
14:04:11 89 114 62 1 6 1553247 1 27 624169
|
|
||||||
14:04:20 83 111 63 1 7 1553820 1 27 624307
|
|
||||||
14:04:30 117 67 78 1 12 1554573 1 27 624461
|
|
||||||
14:04:40 95 79 64 1 8 1554831 1 27 624621
|
|
||||||
14:04:50 100 63 56 2 9 1555198 1 27 624757
|
|
||||||
14:05:00 94 59 70 2 9 1555579 1 27 624881
|
|
||||||
14:05:10 136 7 91 1 9 1556025 1 27 625045
|
|
||||||
14:05:20 77 57 55 1 10 1556255 1 27 625177
|
|
||||||
14:05:30 113 11 90 1 9 1556570 1 27 625343
|
|
||||||
14:05:40 127 1 89 2 10 1556940 1 27 625510
|
|
||||||
14:05:50 90 32 65 1 10 1557273 1 27 625611
|
|
||||||
14:06:00 110 6 96 1 5 1557744 1 27 625778
|
|
||||||
14:06:10 88 34 51 1 16 1558073 1 27 625914
|
|
||||||
14:06:20 97 18 65 1 16 1558367 1 27 626047
|
|
||||||
14:06:31 92 14 57 1 5 1558697 1 27 626175
|
|
||||||
14:06:40 88 9 61 1 8 1558886 1 27 626292
|
|
||||||
14:06:50 87 2 60 1 14 1559132 1 27 626402
|
|
||||||
14:07:00 95 10 55 1 16 1559483 1 27 626532
|
|
||||||
14:07:10 150 0 111 2 13 1559941 1 27 626737
|
|
||||||
14:07:20 100 59 61 1 10 1560234 1 27 626915
|
|
||||||
14:07:30 106 43 67 1 9 1560608 1 27 627060
|
|
||||||
14:07:40 126 13 98 1 9 1560924 1 27 627253
|
|
||||||
14:07:50 72 60 45 1 8 1561184 1 27 627413
|
|
||||||
14:08:00 90 33 47 1 11 1561496 1 27 627582
|
|
||||||
14:08:10 93 20 63 1 14 1561716 1 27 627736
|
|
||||||
14:08:20 85 31 49 1 8 1562085 1 27 627907
|
|
||||||
14:08:30 67 39 41 1 11 1562274 1 27 628028
|
|
||||||
14:08:40 92 9 49 1 9 1562600 1 27 628167
|
|
||||||
14:08:50 78 13 52 1 6 1562831 1 27 628309
|
|
||||||
14:09:00 82 9 58 1 3 1563060 1 27 628501
|
|
||||||
14:09:10 61 24 54 1 3 1563255 1 27 628644
|
|
||||||
14:09:20 90 1 72 1 5 1563660 1 27 628825
|
|
||||||
14:09:30 87 5 63 1 7 1563854 1 27 628990
|
|
||||||
14:09:40 75 13 64 1 5 1564117 1 27 629150
|
|
||||||
14:09:50 100 5 59 1 0 1564380 1 27 629308
|
|
||||||
14:10:00 71 25 56 1 1 1564765 1 27 629484
|
|
||||||
14:10:10 58 29 41 1 7 1565022 1 27 629615
|
|
||||||
14:10:21 75 4 51 1 6 1565269 1 27 629744
|
|
||||||
14:10:30 75 10 49 1 11 1565463 1 27 629875
|
|
||||||
14:10:40 79 1 68 1 7 1565709 1 27 630008
|
|
||||||
14:10:50 55 26 33 1 5 1565841 1 27 630126
|
|
||||||
14:11:00 62 16 35 3 8 1565949 2 27 630218
|
|
||||||
14:11:10 68 2 47 1 8 1566098 1 27 630313
|
|
||||||
14:11:20 64 3 48 1 3 1566240 1 27 630397
|
|
||||||
14:11:30 66 4 44 1 2 1566416 1 27 630494
|
|
||||||
14:11:40 53 15 39 1 3 1566567 1 27 630610
|
|
||||||
14:11:51 84 0 59 2 4 1566729 1 27 630749
|
|
||||||
14:12:00 71 8 56 1 5 1567110 1 27 630834
|
|
||||||
14:12:10 68 15 46 1 12 1567275 1 27 630961
|
|
||||||
14:12:20 62 13 39 1 4 1567396 1 27 631071
|
|
||||||
14:12:30 34 31 12 1 6 1567448 1 27 631113
|
|
||||||
14:12:40 34 21 24 1 8 1567527 1 27 631182
|
|
||||||
14:12:50 53 3 37 1 9 1567614 1 27 631250
|
|
||||||
14:13:00 45 13 24 1 8 1567738 1 27 631311
|
|
||||||
14:13:10 58 6 37 1 6 1567842 1 27 631413
|
|
||||||
14:13:20 53 10 38 1 2 1567945 1 27 631495
|
|
||||||
14:13:30 63 1 49 1 3 1568059 1 27 631591
|
|
||||||
14:13:40 55 14 42 1 4 1568190 1 27 631716
|
|
||||||
14:13:50 41 29 18 1 6 1568297 1 27 631815
|
|
||||||
14:14:00 51 10 31 1 8 1568491 1 27 631893
|
|
||||||
14:14:10 46 8 36 1 2 1568622 1 27 632017
|
|
||||||
14:14:20 58 1 42 1 4 1568823 1 27 632115
|
|
||||||
14:14:30 57 12 36 1 5 1568936 1 27 632206
|
|
||||||
14:14:40 58 3 42 1 6 1569058 1 27 632292
|
|
||||||
14:14:50 46 14 29 1 5 1569156 1 27 632381
|
|
||||||
14:15:00 38 14 26 1 5 1569236 1 27 632453
|
|
||||||
14:15:10 34 8 25 1 4 1569306 1 27 632514
|
|
||||||
14:15:20 65 4 48 1 4 1569443 1 27 632619
|
|
||||||
14:15:30 48 18 33 1 0 1569535 1 27 632706
|
|
||||||
14:15:40 49 9 35 1 5 1569662 1 27 632771
|
|
||||||
14:15:50 47 4 31 1 6 1569795 1 27 632828
|
|
||||||
14:16:00 39 7 27 1 4 1569878 1 27 632884
|
|
||||||
14:16:10 71 6 52 1 6 1569994 1 27 632998
|
|
||||||
14:16:20 69 1 48 1 10 1570106 1 27 633089
|
|
||||||
14:16:30 36 31 25 1 4 1570161 1 27 633136
|
|
||||||
14:16:40 37 20 19 1 5 1570252 1 27 633183
|
|
||||||
14:16:50 50 1 37 1 5 1570346 1 27 633262
|
|
||||||
14:17:00 81 1 55 1 7 1570515 1 27 633393
|
|
||||||
14:17:10 44 34 27 1 5 1570716 1 27 633470
|
|
||||||
14:17:20 50 18 36 1 6 1570807 1 27 633541
|
|
||||||
14:17:30 55 5 37 1 6 1570957 1 27 633613
|
|
||||||
14:17:40 47 12 42 1 3 1571233 1 27 633688
|
|
||||||
14:17:50 40 13 24 1 6 1571502 1 27 633745
|
|
||||||
14:18:00 26 17 11 1 6 1571555 1 27 633785
|
|
||||||
14:18:10 37 9 27 1 3 1571628 1 27 633842
|
|
||||||
14:18:20 43 9 24 1 1 1571721 1 27 633896
|
|
||||||
14:18:30 45 5 32 1 5 1571926 1 27 633969
|
|
||||||
14:18:40 82 0 66 1 5 1572541 1 27 634063
|
|
||||||
14:18:50 39 36 19 1 7 1572932 1 27 634119
|
|
||||||
14:19:00 31 34 23 1 2 1573295 1 27 634168
|
|
||||||
14:19:10 32 23 15 1 5 1573467 1 27 634223
|
|
||||||
14:19:20 31 15 21 1 5 1573727 1 27 634265
|
|
||||||
14:19:30 42 8 27 1 5 1573912 1 27 634330
|
|
||||||
14:19:40 56 0 39 1 7 1574253 1 27 634405
|
|
||||||
14:19:50 46 19 36 1 3 1574491 1 27 634475
|
|
||||||
14:20:00 71 1 62 2 6 1574701 1 27 634575
|
|
||||||
14:20:10 83 31 61 1 9 1575060 1 27 634672
|
|
||||||
14:20:20 74 30 57 1 7 1575440 1 27 634768
|
|
||||||
14:20:30 58 35 34 1 2 1575635 1 27 634839
|
|
||||||
14:20:40 37 46 24 1 2 1575755 1 27 634911
|
|
||||||
14:20:50 63 12 46 1 9 1575954 1 27 635008
|
|
||||||
14:21:00 106 1 84 1 3 1576393 1 27 635135
|
|
||||||
14:21:10 81 23 59 1 9 1577072 1 27 635237
|
|
||||||
14:21:21 79 15 57 1 12 1577260 1 27 635324
|
|
||||||
14:21:30 61 27 42 1 6 1577594 1 27 635404
|
|
||||||
14:21:40 88 10 58 1 2 1577802 1 27 635533
|
|
||||||
14:21:50 60 29 31 1 2 1578017 1 27 635632
|
|
||||||
14:22:00 52 27 42 1 3 1578245 1 27 635712
|
|
||||||
14:22:10 65 4 44 1 3 1578435 1 27 635784
|
|
||||||
14:22:20 63 17 38 1 8 1578814 1 27 635883
|
|
||||||
14:22:30 86 0 64 3 9 1579138 1 27 635976
|
|
||||||
14:22:40 60 22 48 1 6 1579282 1 27 636046
|
|
||||||
14:22:50 53 20 39 1 7 1579429 1 27 636103
|
|
||||||
14:23:00 52 11 33 1 9 1579646 1 27 636186
|
|
||||||
14:23:10 65 1 37 1 9 1579872 1 27 636284
|
|
||||||
14:23:20 60 34 33 1 4 1580098 1 27 636400
|
|
||||||
14:23:30 37 47 24 1 6 1580186 1 27 636467
|
|
||||||
14:23:40 45 29 39 1 3 1580277 1 27 636542
|
|
||||||
14:23:50 56 8 34 1 10 1580371 1 27 636613
|
|
||||||
14:24:00 60 2 43 1 6 1580579 1 27 636700
|
|
||||||
14:24:10 66 2 57 1 3 1580813 1 27 636823
|
|
||||||
14:24:20 71 23 45 1 4 1580975 1 27 636943
|
|
||||||
14:24:30 50 34 26 1 3 1581084 1 27 637018
|
|
||||||
14:24:40 51 23 37 1 4 1581225 1 27 637086
|
|
||||||
14:24:50 72 12 57 1 4 1581494 1 27 637202
|
|
||||||
14:25:00 44 34 23 1 8 1581595 1 27 637265
|
|
||||||
14:25:10 54 16 38 1 7 1581782 1 27 637345
|
|
||||||
14:25:20 70 0 46 1 3 1581964 1 27 637448
|
|
||||||
14:25:30 67 30 37 3 5 1582227 1 27 637546
|
|
||||||
14:25:40 64 23 50 1 5 1582593 1 27 637639
|
|
||||||
14:25:50 63 14 48 1 9 1582897 1 27 637699
|
|
||||||
14:26:00 81 22 57 1 11 1583597 1 27 637784
|
|
||||||
14:26:10 54 39 28 1 5 1583754 1 27 637859
|
|
||||||
14:26:20 92 2 71 1 9 1584336 1 27 637961
|
|
||||||
14:26:30 89 12 73 1 2 1585067 1 27 638077
|
|
||||||
14:26:40 72 23 56 1 6 1585430 1 27 638184
|
|
||||||
14:26:51 97 0 68 2 7 1585853 1 27 638327
|
|
||||||
14:27:00 98 17 76 1 5 1586296 1 27 638466
|
|
||||||
14:27:10 91 15 71 1 10 1586731 1 27 638609
|
|
||||||
14:27:20 66 32 42 1 8 1586970 1 27 638743
|
|
||||||
14:27:30 72 16 57 1 13 1587121 1 27 638843
|
|
||||||
14:27:40 65 20 45 1 6 1587398 1 27 638956
|
|
||||||
14:27:50 71 4 57 1 2 1587706 1 27 639052
|
|
||||||
14:28:00 53 17 34 1 0 1587964 1 27 639132
|
|
||||||
14:28:10 49 18 25 1 1 1588116 1 27 639232
|
|
||||||
14:28:20 43 17 27 1 5 1588267 1 27 639326
|
|
||||||
14:28:30 63 10 50 1 9 1588668 1 27 639415
|
|
||||||
14:28:40 61 15 36 1 12 1588783 1 27 639516
|
|
||||||
14:28:51 77 11 47 1 15 1588985 1 27 639630
|
|
||||||
14:29:00 51 28 32 1 16 1589151 1 27 639682
|
|
||||||
14:29:10 63 11 41 1 11 1589304 1 27 639786
|
|
||||||
14:29:20 52 22 28 1 8 1589451 1 27 639887
|
|
||||||
14:29:30 64 9 52 1 3 1589657 1 27 640027
|
|
||||||
14:29:41 75 0 53 1 3 1589982 1 27 640188
|
|
||||||
14:29:50 54 17 40 1 2 1590149 1 27 640322
|
|
||||||
14:30:00 52 14 40 1 2 1590402 1 27 640463
|
|
||||||
14:30:10 79 14 61 1 5 1590708 1 27 640589
|
|
||||||
14:30:20 50 33 40 1 3 1590847 1 27 640689
|
|
||||||
14:30:30 40 33 30 1 5 1590969 1 27 640752
|
|
||||||
14:30:40 63 5 54 1 5 1591174 1 27 640872
|
|
||||||
14:30:50 34 26 24 1 4 1591257 1 27 640937
|
|
||||||
14:31:00 27 23 12 1 4 1591309 1 27 640979
|
|
||||||
14:31:11 28 12 18 1 2 1591369 1 27 641016
|
|
||||||
14:31:20 29 5 20 1 1 1591413 1 27 641054
|
|
||||||
14:31:30 36 15 24 1 8 1591500 1 27 641140
|
|
||||||
14:31:40 59 7 43 1 4 1591762 1 27 641226
|
|
||||||
14:31:50 38 19 34 1 1 1591924 1 27 641316
|
|
||||||
14:32:00 43 5 37 1 2 1592114 1 27 641409
|
|
||||||
14:32:10 49 7 37 1 1 1592465 1 27 641493
|
|
||||||
14:32:20 18 29 8 1 7 1592508 1 27 641521
|
|
||||||
14:32:30 41 2 27 1 3 1592596 1 27 641592
|
|
||||||
14:32:40 36 5 22 1 4 1592745 1 27 641650
|
|
||||||
14:32:50 33 4 24 1 8 1592965 1 27 641694
|
|
||||||
14:33:00 40 9 28 1 6 1593078 1 27 641751
|
|
||||||
14:33:10 32 15 16 1 4 1593226 1 27 641815
|
|
||||||
14:33:20 34 4 23 1 4 1593371 1 27 641900
|
|
||||||
14:33:31 30 10 24 1 3 1593457 1 27 641979
|
|
||||||
14:33:40 39 0 28 1 3 1593559 1 27 642047
|
|
||||||
14:33:50 41 1 32 1 5 1593668 1 27 642140
|
|
||||||
14:34:00 36 8 21 1 6 1593763 1 27 642219
|
|
||||||
14:34:10 44 15 34 1 4 1593901 1 27 642320
|
|
||||||
14:34:20 40 11 21 1 2 1594124 1 27 642413
|
|
||||||
14:34:30 51 10 41 1 2 1594410 1 27 642541
|
|
||||||
14:34:40 37 16 25 1 2 1594539 1 27 642616
|
|
||||||
14:34:51 29 14 23 2 3 1594672 1 27 642675
|
|
||||||
14:35:00 42 1 33 1 4 1594803 1 27 642774
|
|
||||||
14:35:11 55 0 33 3 5 1594974 1 27 642863
|
|
||||||
14:35:20 32 34 21 1 7 1595142 1 27 642966
|
|
||||||
14:35:30 38 18 27 1 5 1595346 1 27 643101
|
|
||||||
14:35:40 38 14 19 1 6 1595590 1 27 643154
|
|
||||||
14:35:51 40 9 31 1 2 1595694 1 27 643234
|
|
||||||
14:36:00 43 4 34 1 2 1595841 1 27 643288
|
|
||||||
14:36:10 47 1 38 1 5 1596164 1 27 643362
|
|
||||||
14:36:20 45 17 37 1 3 1596510 1 27 643429
|
|
||||||
14:36:30 42 11 34 1 2 1596677 1 27 643508
|
|
||||||
14:36:40 72 0 61 2 2 1596973 1 27 643627
|
|
||||||
14:36:51 47 58 32 1 4 1597103 1 27 643727
|
|
||||||
14:37:00 43 52 30 1 4 1597270 1 27 643796
|
|
||||||
14:37:10 50 35 34 1 7 1597417 1 27 643900
|
|
||||||
14:37:20 50 25 33 1 6 1597592 1 27 643998
|
|
||||||
14:37:30 53 12 37 1 4 1597738 1 27 644079
|
|
||||||
14:37:40 39 16 25 1 8 1597848 1 27 644143
|
|
||||||
14:37:50 51 17 38 1 6 1598091 1 27 644230
|
|
||||||
14:38:00 35 23 20 1 3 1598197 1 27 644290
|
|
||||||
14:38:10 45 3 39 1 4 1598331 1 27 644378
|
|
||||||
14:38:20 49 6 39 1 7 1598539 1 27 644460
|
|
||||||
14:38:30 41 12 31 1 6 1598679 1 27 644539
|
|
||||||
14:38:40 48 5 32 1 6 1598799 1 27 644630
|
|
||||||
14:38:50 35 15 16 1 7 1598904 1 27 644682
|
|
||||||
14:39:01 48 0 32 1 10 1599020 1 27 644769
|
|
||||||
14:39:10 51 5 37 1 10 1599153 1 27 644854
|
|
||||||
14:39:20 51 4 28 1 10 1599266 1 27 644937
|
|
||||||
14:39:30 35 14 25 1 6 1599419 1 27 644992
|
|
||||||
14:39:40 46 5 33 1 2 1599528 1 27 645083
|
|
||||||
14:39:50 51 9 37 1 2 1599686 1 27 645191
|
|
||||||
14:40:00 44 10 33 1 2 1599926 1 27 645288
|
|
||||||
14:40:12 54 0 45 2 2 1600150 1 27 645422
|
|
||||||
14:40:20 86 0 63 1 3 1600636 1 27 645529
|
|
||||||
14:40:30 89 17 82 2 2 1601327 1 27 645655
|
|
||||||
14:40:40 84 18 70 1 5 1601786 1 27 645811
|
|
||||||
14:40:50 85 8 75 2 5 1602187 1 27 645962
|
|
||||||
14:41:00 104 10 74 1 6 1602758 1 27 646134
|
|
||||||
14:41:10 95 12 52 1 8 1603082 1 27 646282
|
|
||||||
14:41:20 90 7 66 2 14 1603387 1 27 646450
|
|
||||||
14:41:30 79 16 48 1 17 1603759 1 27 646571
|
|
||||||
14:41:40 97 0 68 3 11 1604122 1 27 646734
|
|
||||||
14:41:50 119 0 83 1 10 1604571 1 27 646901
|
|
||||||
14:42:01 88 25 64 1 15 1604991 1 27 647036
|
|
||||||
14:42:10 92 14 67 1 13 1605360 1 27 647166
|
|
||||||
14:42:20 109 0 81 2 12 1605919 1 27 647353
|
|
||||||
14:42:30 82 40 44 1 13 1606417 3 27 647504
|
|
||||||
14:42:40 99 15 78 1 3 1607037 1 27 647679
|
|
||||||
14:42:50 93 16 63 1 14 1607419 1 27 647817
|
|
||||||
14:43:00 96 9 51 1 18 1607733 1 27 647982
|
|
||||||
14:43:10 95 2 71 1 10 1608043 1 27 648134
|
|
||||||
14:43:20 101 5 82 1 8 1608576 2 27 648344
|
|
||||||
14:43:30 121 23 78 1 11 1609192 1 27 648574
|
|
||||||
14:43:40 81 53 62 1 7 1609539 1 27 648739
|
|
||||||
14:43:50 89 35 64 1 11 1609932 1 27 648917
|
|
||||||
14:44:00 100 14 63 1 21 1610306 1 27 649069
|
|
||||||
14:44:10 78 30 51 1 20 1610547 1 27 649228
|
|
||||||
14:44:20 94 25 54 1 14 1610827 1 27 649386
|
|
||||||
14:44:30 72 37 40 1 14 1611017 1 27 649539
|
|
||||||
14:44:40 81 18 63 1 12 1611346 1 27 649658
|
|
||||||
14:44:50 67 23 51 1 11 1611502 1 27 649775
|
|
||||||
14:45:00 80 4 47 1 20 1611663 1 27 649897
|
|
||||||
14:45:10 85 0 53 2 13 1611891 2 27 650012
|
|
||||||
14:45:20 88 30 52 1 10 1612341 1 27 650167
|
|
||||||
14:45:30 74 33 54 1 8 1612712 1 27 650302
|
|
||||||
14:45:40 114 3 89 2 8 1613152 1 27 650500
|
|
||||||
14:45:50 103 10 76 1 13 1613643 1 27 650652
|
|
||||||
14:46:00 80 27 39 1 10 1613961 1 27 650778
|
|
||||||
14:46:10 73 27 40 1 13 1614415 1 27 650900
|
|
||||||
14:46:20 94 5 73 1 14 1614798 1 27 651068
|
|
||||||
14:46:30 87 7 59 1 11 1615046 1 27 651182
|
|
||||||
14:46:40 88 3 64 1 12 1615372 1 27 651322
|
|
||||||
14:46:50 80 8 45 1 12 1615557 1 27 651436
|
|
||||||
14:47:01 75 5 52 1 11 1615833 1 27 651549
|
|
||||||
14:47:10 70 7 45 1 14 1615965 1 27 651659
|
|
||||||
14:47:20 66 5 39 1 18 1616110 1 27 651744
|
|
||||||
14:47:30 73 26 45 1 14 1616420 1 27 651901
|
|
||||||
14:47:40 77 15 59 1 10 1616703 1 27 652039
|
|
||||||
14:47:50 79 18 52 1 12 1616997 2 27 652193
|
|
||||||
14:48:00 71 16 44 1 12 1617162 1 27 652280
|
|
||||||
14:48:10 96 0 65 2 12 1617433 1 27 652440
|
|
||||||
14:48:20 73 31 44 1 13 1617698 1 27 652564
|
|
||||||
14:48:30 66 27 45 1 14 1617860 1 27 652665
|
|
||||||
14:48:40 67 16 37 1 17 1618016 1 27 652742
|
|
||||||
14:48:50 66 7 42 1 14 1618190 1 27 652837
|
|
||||||
14:49:01 70 3 51 1 6 1618455 1 27 652945
|
|
||||||
14:49:10 59 42 38 1 9 1618623 1 27 653078
|
|
||||||
14:49:20 74 17 48 1 15 1618780 1 27 653183
|
|
||||||
14:49:30 75 8 44 2 12 1618981 1 27 653319
|
|
||||||
14:49:40 61 19 39 1 8 1619260 1 27 653427
|
|
||||||
14:49:50 74 7 50 1 6 1619651 1 27 653544
|
|
||||||
14:50:00 82 7 58 1 12 1620059 1 27 653702
|
|
||||||
14:50:10 75 8 48 1 19 1620350 1 27 653813
|
|
||||||
14:50:20 83 2 56 1 19 1620679 1 27 653922
|
|
||||||
14:50:30 118 1 85 1 13 1621157 1 27 654083
|
|
||||||
14:50:40 91 25 64 1 6 1621554 1 27 654234
|
|
||||||
14:50:50 86 24 63 1 10 1622067 1 27 654376
|
|
||||||
14:51:00 73 28 47 1 17 1622510 1 27 654460
|
|
||||||
14:51:10 113 17 76 1 24 1623308 1 27 654581
|
|
||||||
14:51:20 120 0 88 1 21 1623809 1 27 654718
|
|
||||||
14:51:30 98 27 65 1 10 1624609 1 27 654885
|
|
||||||
14:51:40 106 9 73 1 14 1625157 1 27 655040
|
|
||||||
14:51:50 75 32 51 1 14 1625592 1 27 655148
|
|
||||||
14:52:00 90 8 65 1 14 1626051 1 27 655245
|
|
||||||
14:52:10 108 19 64 1 13 1626629 1 27 655392
|
|
||||||
14:52:20 87 30 55 1 16 1626953 1 27 655524
|
|
||||||
14:52:30 80 27 51 1 18 1627405 1 27 655640
|
|
||||||
14:52:40 83 14 62 1 8 1627624 1 27 655751
|
|
||||||
14:52:50 80 19 64 1 6 1628007 1 27 655907
|
|
||||||
14:53:00 85 5 67 1 12 1628233 1 27 656030
|
|
||||||
14:53:11 79 15 51 1 18 1628455 1 27 656136
|
|
||||||
14:53:20 83 8 35 1 17 1628664 1 27 656231
|
|
||||||
14:53:30 69 14 45 1 9 1628844 1 27 656364
|
|
||||||
14:53:40 70 10 50 1 11 1629147 1 27 656501
|
|
||||||
14:53:50 59 15 45 1 8 1629304 1 27 656624
|
|
||||||
14:54:00 65 3 44 1 6 1629486 1 27 656720
|
|
||||||
14:54:10 69 8 39 1 11 1629645 1 27 656835
|
|
||||||
14:54:20 55 15 35 1 16 1629755 1 27 656918
|
|
||||||
14:54:30 67 0 47 1 10 1629933 1 27 657007
|
|
||||||
14:54:40 57 22 39 1 4 1630277 1 27 657110
|
|
||||||
14:54:50 47 22 35 1 7 1630378 1 27 657172
|
|
||||||
14:55:00 60 12 41 1 6 1630547 1 27 657277
|
|
||||||
14:55:10 64 0 43 1 13 1630712 1 27 657390
|
|
||||||
14:55:21 74 16 45 1 13 1630930 1 27 657473
|
|
||||||
14:55:30 67 14 39 1 10 1631053 1 27 657549
|
|
||||||
14:55:40 64 10 48 1 10 1631297 1 27 657630
|
|
||||||
14:55:50 59 17 35 1 8 1631509 1 27 657719
|
|
||||||
14:56:00 74 12 59 1 6 1631827 1 27 657856
|
|
||||||
14:56:10 79 1 47 1 12 1632026 1 27 657984
|
|
||||||
14:56:20 113 1 86 1 9 1632340 1 27 658159
|
|
||||||
14:56:30 74 33 52 2 3 1632628 1 27 658307
|
|
||||||
14:56:40 68 29 47 1 7 1632965 1 27 658420
|
|
||||||
14:56:50 78 9 58 1 7 1633253 1 27 658538
|
|
||||||
14:57:00 66 12 54 1 8 1633559 1 27 658653
|
|
||||||
14:57:10 93 5 69 2 12 1633984 1 27 658795
|
|
||||||
14:57:20 91 11 56 1 15 1634480 1 27 658909
|
|
||||||
14:57:30 52 41 36 1 10 1634700 1 27 659001
|
|
||||||
14:57:41 61 22 44 1 11 1634897 1 27 659073
|
|
||||||
14:57:50 61 13 43 1 11 1635057 1 27 659137
|
|
||||||
14:58:00 56 13 28 1 8 1635197 1 27 659226
|
|
||||||
14:58:10 75 5 55 1 8 1635410 1 27 659342
|
|
||||||
14:58:20 57 19 37 1 2 1635559 1 27 659449
|
|
||||||
14:58:30 55 15 39 1 1 1635787 1 27 659544
|
|
||||||
14:58:40 52 10 48 1 2 1635959 1 27 659630
|
|
||||||
14:58:50 45 16 32 1 5 1636080 1 27 659710
|
|
||||||
14:59:00 79 9 51 1 12 1636419 1 27 659798
|
|
||||||
14:59:10 56 24 38 1 7 1636584 1 27 659867
|
|
||||||
14:59:20 64 19 38 1 6 1636825 1 27 660005
|
|
||||||
14:59:30 68 9 42 1 8 1636984 1 27 660098
|
|
||||||
14:59:40 55 13 36 1 4 1637181 1 27 660199
|
|
||||||
14:59:50 54 7 41 1 6 1637434 1 27 660256
|
|
||||||
@@ -1,858 +0,0 @@
|
|||||||
=== 모니터링 시작: Thu Sep 17 12:50:01 KST 2026 ===
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
2 0 0 715560 102744 2491156 0 0 4 29 140 0 1 0 99 0 0 0
|
|
||||||
0 0 0 713064 102744 2491176 0 0 6 21 196 224 0 1 99 0 0 0
|
|
||||||
0 0 0 708204 102744 2491200 0 0 0 1 212 195 0 1 99 0 0 0
|
|
||||||
0 0 0 713724 102744 2491204 0 0 0 0 147 143 0 1 99 0 0 0
|
|
||||||
0 0 0 712724 102744 2491216 0 0 0 765 170 176 0 0 99 0 0 0
|
|
||||||
0 0 0 712416 102744 2491232 0 0 0 0 142 145 0 0 99 0 0 0
|
|
||||||
0 0 0 716444 102744 2491232 0 0 0 0 129 130 0 0 99 0 0 0
|
|
||||||
0 0 0 713184 102744 2491272 0 0 0 7 213 168 1 1 99 0 0 0
|
|
||||||
0 0 0 717540 102744 2491272 0 0 0 161 116 121 0 1 99 0 0 0
|
|
||||||
0 0 0 717584 102744 2491276 0 0 0 0 115 112 0 0 99 0 0 0
|
|
||||||
0 0 0 704084 102744 2491356 0 0 0 133 301 231 1 1 98 0 0 0
|
|
||||||
0 0 0 711372 102744 2491364 0 0 0 8 182 173 0 1 99 0 0 0
|
|
||||||
0 0 0 715364 102744 2491384 0 0 0 102 170 157 0 1 99 0 0 0
|
|
||||||
0 0 0 715472 102744 2491404 0 0 0 2 157 156 0 0 99 0 0 0
|
|
||||||
0 0 0 713960 102744 2491424 0 0 0 11 193 183 0 1 99 0 0 0
|
|
||||||
0 0 0 712952 102744 2491444 0 0 0 1 170 181 0 0 99 0 0 0
|
|
||||||
0 0 0 702320 102744 2491536 0 0 0 172 325 251 1 1 98 0 0 0
|
|
||||||
0 0 0 710352 102744 2491548 0 0 0 26 178 169 0 1 99 0 0 0
|
|
||||||
0 0 0 707492 102744 2491576 0 0 0 0 233 219 0 1 99 0 0 0
|
|
||||||
0 0 0 709404 102744 2491596 0 0 0 130 214 231 0 1 99 0 0 0
|
|
||||||
0 0 0 707696 102744 2491628 0 0 27 16 250 240 1 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 712140 102744 2491652 0 0 0 0 228 197 1 1 99 0 0 0
|
|
||||||
0 0 0 710104 102744 2491684 0 0 26 1 199 209 0 1 99 0 0 0
|
|
||||||
0 0 0 710508 102744 2491708 0 0 0 20 199 192 0 1 99 0 0 0
|
|
||||||
0 0 0 710304 102744 2491732 0 0 0 156 193 201 0 0 99 0 0 0
|
|
||||||
0 0 0 709500 102744 2491760 0 0 0 0 205 185 1 1 99 0 0 0
|
|
||||||
0 0 0 705956 102744 2491832 0 0 0 6 303 243 1 1 98 0 0 0
|
|
||||||
0 0 0 708368 102744 2491856 0 0 0 13 241 222 0 1 99 0 0 0
|
|
||||||
0 0 0 706352 102744 2491928 0 0 0 206 310 261 1 1 99 0 0 0
|
|
||||||
0 0 0 704984 102744 2491952 0 0 0 13 227 228 1 1 99 0 0 0
|
|
||||||
0 0 0 707700 102744 2491956 0 0 0 21 187 171 0 1 99 0 0 0
|
|
||||||
0 0 0 704812 102744 2492008 0 0 0 166 265 232 0 1 99 0 0 0
|
|
||||||
0 0 0 708884 102744 2492016 0 0 13 0 188 193 0 1 99 0 0 0
|
|
||||||
0 0 0 702476 102744 2492040 0 0 0 6 239 200 1 1 98 0 0 0
|
|
||||||
0 0 0 706012 102744 2492060 0 0 3 278 224 202 0 1 99 0 0 0
|
|
||||||
0 0 0 705064 102744 2492104 0 0 37 191 242 220 1 1 99 0 0 0
|
|
||||||
0 0 0 699452 102744 2492284 0 0 0 11 280 237 1 1 98 0 0 0
|
|
||||||
0 0 0 698444 102744 2492340 0 0 0 7 278 228 1 1 98 0 0 0
|
|
||||||
0 0 0 697236 102744 2492376 0 0 2 1 261 229 1 1 99 0 0 0
|
|
||||||
0 0 0 695960 102744 2492428 0 0 19 193 322 293 1 1 98 0 0 0
|
|
||||||
0 0 0 701756 102744 2492444 0 0 0 137 252 249 0 1 99 0 0 0
|
|
||||||
0 0 0 702132 102744 2492456 0 0 3 5 205 209 0 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 702520 102744 2492468 0 0 0 104 205 210 0 1 99 0 0 0
|
|
||||||
0 0 0 704488 102744 2492480 0 0 0 1 193 192 0 1 99 0 0 0
|
|
||||||
0 0 0 705136 102744 2492488 0 0 0 10 146 156 0 0 99 0 0 0
|
|
||||||
0 0 0 705276 102744 2492496 0 0 0 3 190 197 1 1 99 0 0 0
|
|
||||||
0 0 0 707244 102744 2492508 0 0 0 153 181 178 0 1 99 0 0 0
|
|
||||||
0 0 0 710132 102748 2492508 0 0 0 10 147 158 0 1 99 0 0 0
|
|
||||||
0 0 0 711660 102748 2492532 0 0 0 4 187 180 0 1 99 0 0 0
|
|
||||||
0 0 0 709412 102748 2492544 0 0 6 173 225 231 1 1 99 0 0 0
|
|
||||||
0 0 0 702196 102748 2492600 0 0 0 6 284 257 1 1 98 0 0 0
|
|
||||||
0 0 0 702616 102748 2492624 0 0 2 1 215 207 1 1 99 0 0 0
|
|
||||||
0 0 0 705932 102748 2492644 0 0 5 12 187 177 0 1 99 0 0 0
|
|
||||||
0 0 0 710412 102748 2492652 0 0 0 7 138 139 0 1 99 0 0 0
|
|
||||||
0 0 0 710320 102748 2492656 0 0 0 182 116 137 0 0 99 0 0 0
|
|
||||||
0 0 0 708304 102748 2492668 0 0 5 4 210 223 0 1 99 0 0 0
|
|
||||||
0 0 0 702564 102748 2492692 0 0 0 1 256 226 1 1 98 0 0 0
|
|
||||||
2 0 0 707904 102748 2492700 0 0 0 156 172 165 0 1 99 0 0 0
|
|
||||||
0 0 0 707440 102748 2492708 0 0 0 5 134 140 0 1 99 0 0 0
|
|
||||||
0 0 0 707440 102748 2492740 0 0 0 1 185 166 1 0 99 0 0 0
|
|
||||||
0 0 0 707828 102748 2492744 0 0 0 13 150 163 0 1 99 0 0 0
|
|
||||||
0 0 0 705304 102748 2492752 0 0 0 10 194 196 0 1 99 0 0 0
|
|
||||||
0 0 0 705304 102748 2492804 0 0 0 166 228 182 1 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 704108 102748 2492812 0 0 0 0 162 174 0 1 99 0 0 0
|
|
||||||
0 0 0 712008 102748 2492820 0 0 0 288 162 150 0 1 99 0 0 0
|
|
||||||
0 0 0 714244 102748 2492844 0 0 0 8 235 227 1 1 99 0 0 0
|
|
||||||
0 0 0 710772 102748 2492864 0 0 5 146 229 227 0 1 99 0 0 0
|
|
||||||
0 0 0 702468 102752 2492920 0 0 2 7 349 325 1 1 98 0 0 0
|
|
||||||
0 0 0 702192 102752 2492924 0 0 0 11 296 229 1 1 98 0 0 0
|
|
||||||
0 0 0 703104 102752 2493104 0 0 0 145 177 162 0 1 99 0 0 0
|
|
||||||
1 0 0 707136 102752 2493160 0 0 6 20 236 211 1 1 98 0 0 0
|
|
||||||
0 0 0 702132 102752 2493192 0 0 24 158 324 317 1 1 98 0 0 0
|
|
||||||
0 0 0 700312 102752 2493252 0 0 0 113 350 294 1 1 98 0 0 0
|
|
||||||
0 0 0 705524 102752 2493276 0 0 0 2 243 230 0 1 99 0 0 0
|
|
||||||
0 0 0 700764 102752 2493312 0 0 2 13 275 255 1 1 99 0 0 0
|
|
||||||
0 0 0 708048 102752 2493332 0 0 0 7 221 219 0 1 99 0 0 0
|
|
||||||
0 0 0 704868 102752 2493368 0 0 18 165 271 246 0 1 99 0 0 0
|
|
||||||
0 0 0 704868 102752 2493376 0 0 2 9 223 208 0 1 99 0 0 0
|
|
||||||
0 0 0 706728 102752 2493396 0 0 0 7 180 188 0 1 99 0 0 0
|
|
||||||
0 0 0 703024 102752 2493420 0 0 0 169 270 262 1 1 99 0 0 0
|
|
||||||
0 0 0 708348 102752 2493440 0 0 3 6 201 193 0 1 99 0 0 0
|
|
||||||
0 0 0 703084 102752 2493476 0 0 0 14 290 269 1 1 98 0 0 0
|
|
||||||
0 0 0 705416 102752 2493500 0 0 0 7 255 242 0 1 99 0 0 0
|
|
||||||
0 0 0 711204 102752 2493532 0 0 2 135 267 252 1 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 713992 102752 2493544 0 0 0 11 229 235 1 1 99 0 0 0
|
|
||||||
0 0 0 708920 102752 2493576 0 0 0 169 243 237 0 1 99 0 0 0
|
|
||||||
0 0 0 708920 102752 2493588 0 0 0 0 214 213 0 1 99 0 0 0
|
|
||||||
0 0 0 702700 102752 2493628 0 0 0 178 320 318 1 1 98 0 0 0
|
|
||||||
0 0 0 700180 102752 2493676 0 0 2 11 286 246 1 1 98 0 0 0
|
|
||||||
0 0 0 704908 102752 2493688 0 0 3 0 208 204 0 1 99 0 0 0
|
|
||||||
0 0 0 704132 102752 2493720 0 0 2 10 256 263 1 1 99 0 0 0
|
|
||||||
0 0 0 700848 102752 2493736 0 0 10 203 246 234 0 1 99 0 0 0
|
|
||||||
0 0 0 701116 102752 2493788 0 0 0 1 303 282 1 1 98 0 0 0
|
|
||||||
0 0 0 706440 102752 2493800 0 0 3 9 242 250 0 1 99 0 0 0
|
|
||||||
0 0 0 707644 102752 2493808 0 0 0 409 224 218 1 1 99 0 0 0
|
|
||||||
0 0 0 707568 102752 2493824 0 0 10 2 239 233 0 1 99 0 0 0
|
|
||||||
0 0 0 707384 102752 2493840 0 0 8 6 189 196 0 1 99 0 0 0
|
|
||||||
0 0 0 707492 102752 2493852 0 0 5 7 188 188 0 1 99 0 0 0
|
|
||||||
0 0 0 703964 102752 2493868 0 0 0 159 193 203 0 1 99 0 0 0
|
|
||||||
0 0 0 708768 102752 2493876 0 0 0 4 172 169 0 1 99 0 0 0
|
|
||||||
0 0 0 714580 102752 2493880 0 0 0 13 162 173 0 0 99 0 0 0
|
|
||||||
0 0 0 714328 102752 2493888 0 0 0 143 133 152 0 0 99 0 0 0
|
|
||||||
0 0 0 711808 102752 2493896 0 0 0 6 183 186 0 0 99 0 0 0
|
|
||||||
0 0 0 711808 102752 2493896 0 0 0 2 146 153 0 0 99 0 0 0
|
|
||||||
0 0 0 709036 102752 2493904 0 0 0 1 161 178 0 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 709036 102752 2493912 0 0 0 8 185 194 0 1 99 0 0 0
|
|
||||||
0 0 0 709148 102752 2493936 0 0 0 174 223 217 0 1 99 0 0 0
|
|
||||||
0 0 0 708752 102752 2493940 0 0 0 1 157 163 0 1 99 0 0 0
|
|
||||||
0 0 0 710048 102752 2493940 0 0 0 5 120 129 0 0 99 0 0 0
|
|
||||||
0 0 0 705316 102752 2493960 0 0 5 184 257 282 1 1 98 0 0 0
|
|
||||||
0 0 0 709944 102752 2493972 0 0 0 0 222 226 0 1 99 0 0 0
|
|
||||||
0 0 0 711628 102756 2493984 0 0 0 6 159 162 0 1 99 0 0 0
|
|
||||||
0 0 0 716016 102756 2493992 0 0 0 6 201 211 0 1 99 0 0 0
|
|
||||||
0 0 0 711992 102756 2494004 0 0 0 1 220 229 0 1 99 0 0 0
|
|
||||||
0 0 0 711768 102756 2494008 0 0 0 136 177 183 0 1 99 0 0 0
|
|
||||||
0 0 0 711704 102756 2494012 0 0 0 7 276 294 1 1 98 0 0 0
|
|
||||||
0 0 0 712908 102756 2494032 0 0 2 1 199 207 0 1 99 0 0 0
|
|
||||||
0 0 0 709128 102756 2494040 0 0 3 150 168 169 0 1 99 0 0 0
|
|
||||||
0 0 0 708380 102756 2494044 0 0 0 451 177 187 0 1 99 0 0 0
|
|
||||||
0 0 0 709336 102756 2494056 0 0 2 1 200 210 0 1 99 0 0 0
|
|
||||||
0 0 0 718108 102756 2494060 0 0 0 1 152 159 0 0 99 0 0 0
|
|
||||||
0 0 0 716876 102756 2494096 0 0 2 194 258 274 1 1 99 0 0 0
|
|
||||||
2 0 0 717300 102756 2494104 0 0 0 0 174 179 0 1 99 0 0 0
|
|
||||||
0 0 0 718456 102756 2494108 0 0 0 0 127 136 0 1 99 0 0 0
|
|
||||||
0 0 0 718496 102756 2494112 0 0 0 321 146 163 0 0 99 0 0 0
|
|
||||||
0 0 0 723032 102756 2494112 0 0 0 188 122 128 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 722684 102756 2494116 0 0 0 0 112 128 0 0 99 0 0 0
|
|
||||||
0 0 0 722180 102756 2494124 0 0 2 9 131 144 0 0 99 0 0 0
|
|
||||||
0 0 0 721676 102756 2494128 0 0 0 4 156 171 0 0 99 0 0 0
|
|
||||||
0 0 0 721424 102756 2494128 0 0 0 164 107 113 0 0 99 0 0 0
|
|
||||||
0 0 0 722352 102756 2494132 0 0 0 9 97 115 0 0 99 0 0 0
|
|
||||||
0 0 0 722100 102756 2494140 0 0 0 1 125 138 0 0 99 0 0 0
|
|
||||||
0 0 0 721848 102756 2494144 0 0 0 259 119 130 0 0 99 0 0 0
|
|
||||||
0 0 0 722324 102756 2494144 0 0 0 4 103 114 0 0 99 0 0 0
|
|
||||||
0 0 0 721020 102756 2494156 0 0 0 1 149 156 0 1 99 0 0 0
|
|
||||||
0 0 0 720516 102756 2494156 0 0 0 7 108 121 0 0 99 0 0 0
|
|
||||||
0 0 0 720516 102756 2494160 0 0 0 1 105 125 0 0 99 0 0 0
|
|
||||||
0 0 0 721352 102756 2494164 0 0 0 148 113 126 0 0 99 0 0 0
|
|
||||||
0 0 0 721380 102756 2494168 0 0 0 4 101 119 0 0 99 0 0 0
|
|
||||||
0 0 0 720624 102756 2494168 0 0 0 5 112 123 0 0 99 0 0 0
|
|
||||||
0 0 0 721848 102756 2494168 0 0 0 1 102 122 0 0 99 0 0 0
|
|
||||||
0 0 0 721632 102756 2494172 0 0 0 181 105 115 0 0 99 0 0 0
|
|
||||||
0 0 0 721856 102756 2494172 0 0 0 1 94 110 0 0 99 0 0 0
|
|
||||||
0 0 0 721856 102756 2494172 0 0 0 0 98 115 0 0 99 0 0 0
|
|
||||||
0 0 0 721988 102756 2494172 0 0 0 2 104 120 0 0 99 0 0 0
|
|
||||||
0 0 0 721736 102756 2494176 0 0 0 165 90 108 0 0 99 0 0 0
|
|
||||||
0 0 0 721708 102756 2494180 0 0 0 0 100 119 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 721456 102756 2494180 0 0 0 6 94 110 0 0 99 0 0 0
|
|
||||||
0 0 0 721456 102756 2494184 0 0 0 0 119 136 0 0 99 0 0 0
|
|
||||||
0 0 0 723384 102756 2494184 0 0 0 164 102 116 0 0 99 0 0 0
|
|
||||||
0 0 0 723180 102756 2494184 0 0 0 154 108 125 0 0 99 0 0 0
|
|
||||||
0 0 0 723132 102756 2494188 0 0 0 0 107 118 0 0 99 0 0 0
|
|
||||||
0 0 0 722928 102756 2494188 0 0 0 2 84 101 0 0 100 0 0 0
|
|
||||||
0 0 0 722676 102756 2494188 0 0 0 182 98 113 0 0 99 0 0 0
|
|
||||||
0 0 0 722628 102756 2494196 0 0 0 229 110 127 0 0 99 0 0 0
|
|
||||||
0 0 0 722136 102756 2494324 0 0 0 1 83 100 0 0 99 0 0 0
|
|
||||||
0 0 0 721884 102756 2494324 0 0 0 190 109 124 0 0 99 0 0 0
|
|
||||||
0 0 0 721884 102756 2494328 0 0 0 0 111 131 0 0 99 0 0 0
|
|
||||||
0 0 0 721884 102756 2494328 0 0 0 0 106 125 0 0 99 0 0 0
|
|
||||||
0 0 0 720372 102756 2494328 0 0 0 174 90 110 0 0 99 0 0 0
|
|
||||||
0 0 0 720372 102756 2494328 0 0 0 1 84 105 0 0 100 0 0 0
|
|
||||||
0 0 0 720576 102756 2494328 0 0 0 0 87 105 0 0 99 0 0 0
|
|
||||||
0 0 0 720604 102756 2494328 0 0 0 199 98 116 0 0 99 0 0 0
|
|
||||||
0 0 0 719904 102756 2494336 0 0 0 0 130 133 0 0 99 0 0 0
|
|
||||||
0 0 0 719904 102756 2494336 0 0 0 2 89 106 0 0 99 0 0 0
|
|
||||||
0 0 0 719972 102756 2494336 0 0 0 0 82 101 0 0 100 0 0 0
|
|
||||||
0 0 0 719700 102756 2494336 0 0 0 580 96 118 0 0 99 0 0 0
|
|
||||||
0 0 0 720388 102756 2494336 0 0 0 0 106 125 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 717164 102756 2494340 0 0 0 1 137 146 0 1 99 0 0 0
|
|
||||||
0 0 0 720808 102756 2494340 0 0 0 150 101 110 0 0 99 0 0 0
|
|
||||||
0 0 0 718792 102756 2494344 0 0 0 1 82 100 0 0 100 0 0 0
|
|
||||||
0 0 0 718792 102756 2494344 0 0 0 0 78 99 0 0 99 0 0 0
|
|
||||||
0 0 0 718540 102756 2494344 0 0 0 7 98 112 0 0 99 0 0 0
|
|
||||||
0 0 0 718288 102756 2494348 0 0 0 184 127 145 0 0 99 0 0 0
|
|
||||||
0 0 0 718344 102756 2494356 0 0 0 1 118 134 0 0 99 0 0 0
|
|
||||||
0 0 0 718344 102756 2494360 0 0 0 6 117 129 0 0 99 0 0 0
|
|
||||||
0 0 0 718344 102756 2494364 0 0 0 190 98 113 0 0 99 0 0 0
|
|
||||||
0 0 0 717948 102756 2494368 0 0 0 1 129 146 0 0 99 0 0 0
|
|
||||||
0 0 0 717724 102756 2494372 0 0 0 6 128 142 0 0 99 0 0 0
|
|
||||||
0 0 0 718164 102756 2494376 0 0 0 4 106 116 0 0 99 0 0 0
|
|
||||||
0 0 0 718164 102756 2494376 0 0 0 2 102 120 0 0 99 0 0 0
|
|
||||||
0 0 0 719048 102756 2494376 0 0 0 159 100 123 0 0 99 0 0 0
|
|
||||||
0 0 0 719088 102756 2494376 0 0 0 0 90 108 0 0 100 0 0 0
|
|
||||||
0 0 0 719088 102756 2494380 0 0 0 0 110 125 0 0 99 0 0 0
|
|
||||||
0 0 0 719088 102756 2494380 0 0 0 470 108 124 0 0 99 0 0 0
|
|
||||||
0 0 0 719864 102756 2494380 0 0 0 4 103 114 0 0 99 0 0 0
|
|
||||||
0 0 0 721016 102756 2494380 0 0 0 0 87 104 0 0 99 0 0 0
|
|
||||||
0 0 0 720260 102756 2494384 0 0 0 1 125 138 0 0 99 0 0 0
|
|
||||||
0 0 0 719504 102756 2494388 0 0 0 194 114 129 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 719504 102756 2494392 0 0 0 0 116 127 0 0 99 0 0 0
|
|
||||||
0 0 0 717488 102756 2494392 0 0 0 1 108 122 0 0 99 0 0 0
|
|
||||||
0 0 0 718828 102756 2494392 0 0 0 182 96 110 0 0 99 0 0 0
|
|
||||||
0 0 0 719836 102756 2494396 0 0 0 9 107 127 0 0 99 0 0 0
|
|
||||||
0 0 0 719836 102756 2494400 0 0 0 1 116 133 0 0 99 0 0 0
|
|
||||||
0 0 0 720720 102756 2494400 0 0 0 1 87 104 0 0 99 0 0 0
|
|
||||||
0 0 0 720720 102756 2494400 0 0 0 5 99 120 0 0 99 0 0 0
|
|
||||||
0 0 0 721552 102756 2494404 0 0 0 193 139 154 0 0 99 0 0 0
|
|
||||||
0 0 0 722988 102756 2494408 0 0 0 0 103 120 0 0 99 0 0 0
|
|
||||||
0 0 0 722736 102756 2494408 0 0 0 6 101 110 0 0 99 0 0 0
|
|
||||||
0 0 0 722804 102756 2494412 0 0 0 170 124 137 0 0 99 0 0 0
|
|
||||||
0 0 0 722736 102756 2494412 0 0 0 2 132 145 0 1 99 0 0 0
|
|
||||||
0 0 0 722736 102756 2494416 0 0 0 5 98 117 0 0 99 0 0 0
|
|
||||||
0 0 0 722736 102756 2494420 0 0 0 0 125 144 0 0 99 0 0 0
|
|
||||||
0 0 0 721980 102756 2494428 0 0 0 174 132 150 0 0 99 0 0 0
|
|
||||||
0 0 0 721232 102756 2494428 0 0 0 0 92 111 0 0 99 0 0 0
|
|
||||||
0 0 0 718956 102756 2494452 0 0 3 11 160 195 0 1 99 0 0 0
|
|
||||||
0 0 0 718452 102756 2494452 0 0 0 179 131 139 0 1 99 0 0 0
|
|
||||||
0 0 0 719468 102760 2494456 0 0 0 8 126 133 0 0 99 0 0 0
|
|
||||||
1 0 0 719468 102760 2494460 0 0 0 1 118 135 0 0 99 0 0 0
|
|
||||||
0 0 0 720932 102760 2494460 0 0 0 2 95 108 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 720932 102760 2494460 0 0 0 203 113 132 0 0 99 0 0 0
|
|
||||||
0 0 0 720440 102760 2494464 0 0 0 178 124 133 0 0 99 0 0 0
|
|
||||||
0 0 0 720880 102760 2494464 0 0 0 1 111 125 0 0 99 0 0 0
|
|
||||||
0 0 0 721380 102760 2494468 0 0 0 8 103 118 0 0 99 0 0 0
|
|
||||||
0 0 0 723684 102760 2494472 0 0 0 401 106 116 0 0 99 0 0 0
|
|
||||||
0 0 0 723684 102760 2494472 0 0 0 0 95 114 0 0 99 0 0 0
|
|
||||||
0 0 0 723460 102760 2494472 0 0 0 10 87 104 0 0 99 0 0 0
|
|
||||||
0 0 0 723460 102760 2494472 0 0 0 0 105 128 0 0 99 0 0 0
|
|
||||||
0 0 0 723460 102760 2494476 0 0 0 166 103 120 0 0 99 0 0 0
|
|
||||||
0 0 0 723460 102760 2494480 0 0 0 2 113 129 0 0 99 0 0 0
|
|
||||||
0 0 0 723460 102760 2494484 0 0 0 10 110 125 0 0 99 0 0 0
|
|
||||||
0 0 0 723460 102760 2494488 0 0 0 166 121 138 0 0 99 0 0 0
|
|
||||||
0 0 0 723208 102764 2494492 0 0 0 7 120 133 0 0 99 0 0 0
|
|
||||||
0 0 0 723208 102764 2494496 0 0 0 2 122 133 0 0 99 0 0 0
|
|
||||||
0 0 0 722956 102764 2494500 0 0 0 2 118 133 0 0 99 0 0 0
|
|
||||||
0 0 0 723008 102764 2494500 0 0 0 158 113 127 0 0 99 0 0 0
|
|
||||||
0 0 0 722252 102764 2494504 0 0 0 5 104 125 0 0 99 0 0 0
|
|
||||||
0 0 0 722252 102764 2494504 0 0 0 0 94 112 0 0 99 0 0 0
|
|
||||||
0 0 0 721844 102764 2494508 0 0 0 169 131 150 0 0 99 0 0 0
|
|
||||||
0 0 0 719800 102764 2494544 0 0 0 0 186 156 1 1 99 0 0 0
|
|
||||||
0 0 0 719800 102764 2494548 0 0 0 4 116 123 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 719800 102764 2494560 0 0 0 3 131 144 0 0 99 0 0 0
|
|
||||||
0 0 0 716552 102764 2494576 0 0 2 186 173 178 0 1 99 0 0 0
|
|
||||||
0 0 0 717256 102764 2494580 0 0 0 4 118 130 0 0 99 0 0 0
|
|
||||||
0 0 0 717788 102764 2494584 0 0 0 0 121 142 0 0 99 0 0 0
|
|
||||||
0 0 0 717032 102764 2494620 0 0 0 172 194 160 1 1 99 0 0 0
|
|
||||||
0 0 0 716284 102764 2494640 0 0 0 0 159 158 0 1 99 0 0 0
|
|
||||||
0 0 0 717408 102764 2494640 0 0 0 6 114 123 0 0 99 0 0 0
|
|
||||||
0 0 0 717408 102764 2494640 0 0 0 6 92 111 0 0 99 0 0 0
|
|
||||||
0 0 0 717408 102764 2494644 0 0 74 181 124 141 0 0 99 0 0 0
|
|
||||||
0 0 0 716428 102764 2494708 0 0 0 10 250 194 1 1 98 0 0 0
|
|
||||||
0 0 0 715420 102764 2494716 0 0 0 4 148 144 0 0 99 0 0 0
|
|
||||||
0 0 0 715420 102764 2494728 0 0 0 1 163 181 0 1 99 0 0 0
|
|
||||||
0 0 0 716748 102764 2494728 0 0 0 171 137 145 0 1 99 0 0 0
|
|
||||||
0 0 0 718476 102764 2494732 0 0 0 277 109 125 0 0 99 0 0 0
|
|
||||||
0 0 0 717468 102764 2494732 0 0 0 0 115 138 0 0 99 0 0 0
|
|
||||||
0 0 0 717468 102764 2494740 0 0 0 10 145 168 0 0 99 0 0 0
|
|
||||||
0 0 0 717468 102764 2494740 0 0 0 162 123 131 0 0 99 0 0 0
|
|
||||||
0 0 0 717468 102764 2494752 0 0 0 0 143 141 0 0 99 0 0 0
|
|
||||||
0 0 0 716236 102764 2494776 0 0 0 9 206 173 0 1 99 0 0 0
|
|
||||||
0 0 0 714208 102764 2494812 0 0 0 328 230 204 0 1 99 0 0 0
|
|
||||||
0 0 0 713956 102764 2494848 0 0 0 7 222 188 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 715592 102764 2494852 0 0 0 112 144 145 0 1 99 0 0 0
|
|
||||||
0 0 0 714048 102764 2494856 0 0 0 9 112 130 0 0 99 0 0 0
|
|
||||||
0 0 0 715036 102764 2494860 0 0 0 136 124 133 0 0 99 0 0 0
|
|
||||||
0 0 0 718340 102764 2494860 0 0 0 6 116 122 0 0 99 0 0 0
|
|
||||||
0 0 0 715156 102764 2494872 0 0 0 2 171 178 0 1 99 0 0 0
|
|
||||||
0 0 0 714840 102764 2494880 0 0 0 3 179 193 0 1 99 0 0 0
|
|
||||||
0 0 0 714208 102764 2495016 0 0 0 175 142 147 0 1 99 0 0 0
|
|
||||||
0 0 0 712444 102764 2495060 0 0 0 5 241 217 1 1 99 0 0 0
|
|
||||||
0 0 0 711436 102764 2495064 0 0 2 7 169 173 0 1 99 0 0 0
|
|
||||||
0 0 0 711720 102764 2495064 0 0 0 205 116 125 0 0 99 0 0 0
|
|
||||||
0 0 0 710964 102764 2495072 0 0 0 8 166 183 0 0 99 0 0 0
|
|
||||||
0 0 0 710460 102764 2495084 0 0 0 3 177 182 0 1 99 0 0 0
|
|
||||||
0 0 0 708948 102764 2495088 0 0 0 1 159 156 0 0 99 0 0 0
|
|
||||||
0 0 0 712436 102764 2495124 0 0 0 177 207 177 1 1 99 0 0 0
|
|
||||||
0 0 0 712436 102764 2495172 0 0 0 10 267 196 1 1 99 0 0 0
|
|
||||||
0 0 0 707144 102764 2495220 0 0 2 1 270 217 0 1 99 0 0 0
|
|
||||||
0 0 0 705380 102764 2495296 0 0 0 9 280 212 1 1 98 0 0 0
|
|
||||||
0 0 0 703180 102764 2495344 0 0 2 1 297 252 1 1 99 0 0 0
|
|
||||||
0 0 0 703180 102764 2495384 0 0 0 193 268 229 1 1 99 0 0 0
|
|
||||||
0 0 0 708532 102764 2495436 0 0 0 37 595 805 2 2 96 0 0 0
|
|
||||||
0 0 0 708532 102764 2495440 0 0 0 1 155 167 0 0 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 707776 102764 2495468 0 0 3 11 196 200 0 1 99 0 0 0
|
|
||||||
0 0 0 699712 102764 2495484 0 0 0 716 246 250 0 1 99 0 0 0
|
|
||||||
0 0 0 699712 102764 2495500 0 0 0 1 210 221 0 1 99 0 0 0
|
|
||||||
0 0 0 699712 102764 2495572 0 0 0 13 280 220 1 1 98 0 0 0
|
|
||||||
0 0 0 699712 102764 2495640 0 0 0 204 247 189 1 1 99 0 0 0
|
|
||||||
0 0 0 702552 102764 2495680 0 0 0 1 235 219 1 1 99 0 0 0
|
|
||||||
0 0 0 709012 102764 2495716 0 0 0 15 191 166 1 1 99 0 0 0
|
|
||||||
0 0 0 709012 102764 2495720 0 0 0 7 138 153 0 0 99 0 0 0
|
|
||||||
0 0 0 709692 102764 2495724 0 0 0 0 142 160 0 0 99 0 0 0
|
|
||||||
0 0 0 708988 102764 2495732 0 0 0 183 163 171 0 1 99 0 0 0
|
|
||||||
0 0 0 710024 102764 2495740 0 0 0 4 175 184 0 0 99 0 0 0
|
|
||||||
0 0 0 708260 102764 2495752 0 0 0 1 167 179 0 0 99 0 0 0
|
|
||||||
0 0 0 707560 102764 2495756 0 0 0 0 169 182 0 1 99 0 0 0
|
|
||||||
0 0 0 712964 102764 2495764 0 0 0 185 129 135 0 0 99 0 0 0
|
|
||||||
0 0 0 716308 102764 2495768 0 0 0 2 133 138 0 0 99 0 0 0
|
|
||||||
0 0 0 714336 102764 2495768 0 0 0 0 117 115 0 0 99 0 0 0
|
|
||||||
0 0 0 714292 102764 2495768 0 0 0 205 93 107 0 0 99 0 0 0
|
|
||||||
0 0 0 710116 102764 2495776 0 0 21 0 166 185 0 1 99 0 0 0
|
|
||||||
0 0 0 707848 102764 2495780 0 0 0 0 149 151 0 1 99 0 0 0
|
|
||||||
0 0 0 712288 102764 2495784 0 0 0 9 146 150 0 1 99 0 0 0
|
|
||||||
0 0 0 711612 102764 2495792 0 0 3 202 185 208 0 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 719204 102764 2495800 0 0 8 8 161 175 0 1 99 0 0 0
|
|
||||||
0 0 0 707400 102764 2495876 0 0 0 2 425 356 2 2 96 0 0 0
|
|
||||||
0 0 0 712720 102764 2495884 0 0 0 145 176 173 0 1 99 0 0 0
|
|
||||||
0 0 0 715260 102764 2495888 0 0 18 1 189 203 0 1 99 0 0 0
|
|
||||||
0 0 0 719884 102764 2495900 0 0 0 474 178 183 0 1 99 0 0 0
|
|
||||||
0 0 0 721376 102764 2495900 0 0 0 2 121 136 0 0 99 0 0 0
|
|
||||||
0 0 0 721944 102764 2495932 0 0 0 183 167 153 0 0 99 0 0 0
|
|
||||||
0 0 0 717660 102764 2495936 0 0 2 14 151 176 0 1 99 0 0 0
|
|
||||||
0 0 0 718336 102764 2495972 0 0 2 4 178 160 1 1 99 0 0 0
|
|
||||||
0 0 0 716912 102764 2495972 0 0 2 470 142 149 0 1 99 0 0 0
|
|
||||||
0 0 0 721084 102768 2495976 0 0 0 12 115 119 0 0 99 0 0 0
|
|
||||||
0 0 0 719564 102768 2495976 0 0 0 0 111 134 0 0 99 0 0 0
|
|
||||||
0 0 0 708728 102768 2496040 0 0 2 5 271 219 1 1 98 0 0 0
|
|
||||||
0 0 0 708840 102768 2496092 0 0 2 11 317 275 1 1 99 0 0 0
|
|
||||||
0 0 0 707832 102768 2496156 0 0 8 178 298 243 1 1 98 0 0 0
|
|
||||||
0 0 0 707832 102768 2496196 0 0 0 17 248 203 1 1 98 0 0 0
|
|
||||||
0 0 0 705816 102768 2496260 0 0 42 8 327 237 1 1 98 0 0 0
|
|
||||||
0 0 0 704336 102768 2496364 0 0 14 361 450 316 2 1 97 0 0 0
|
|
||||||
0 0 0 702320 102768 2496460 0 0 8 166 445 342 1 1 98 0 0 0
|
|
||||||
0 0 0 687984 102768 2496688 0 0 37 12 774 492 3 2 95 0 0 0
|
|
||||||
0 0 0 684384 102768 2496940 0 0 30 158 720 444 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 673800 102768 2497048 0 0 8 63 461 359 1 1 98 0 0 0
|
|
||||||
0 0 0 675036 102768 2497160 0 0 70 175 483 380 1 1 98 0 0 0
|
|
||||||
0 0 0 675960 102768 2497292 0 0 14 3 554 398 1 1 97 0 0 0
|
|
||||||
0 0 0 651264 102768 2497400 0 0 29 9 531 457 1 2 97 0 0 0
|
|
||||||
0 0 0 653172 102768 2497424 0 0 8 231 333 303 1 1 99 0 0 0
|
|
||||||
0 0 0 666080 102768 2497540 0 0 11 4 532 421 1 1 97 0 0 0
|
|
||||||
0 0 0 651112 102768 2497852 0 0 13 14 805 591 2 2 96 0 0 0
|
|
||||||
0 0 0 645820 102768 2498044 0 0 5 38 719 515 2 1 97 0 0 0
|
|
||||||
0 0 0 641568 102768 2498136 0 0 6 201 494 367 1 1 98 0 0 0
|
|
||||||
0 0 0 644368 102768 2498264 0 0 0 11 586 446 2 1 97 0 0 0
|
|
||||||
0 0 0 650812 102768 2498412 0 0 18 38 620 467 2 1 97 0 0 0
|
|
||||||
0 0 0 645936 102768 2498540 0 0 46 162 579 456 1 1 97 0 0 0
|
|
||||||
0 0 0 642768 102768 2498612 0 0 37 13 534 441 1 1 98 0 0 0
|
|
||||||
0 0 0 652396 102768 2498692 0 0 3 36 465 372 1 1 98 0 0 0
|
|
||||||
0 0 0 656992 102768 2498836 0 0 30 197 635 496 2 1 97 0 0 0
|
|
||||||
0 0 0 653316 102768 2498924 0 0 5 9 575 495 1 1 97 0 0 0
|
|
||||||
0 0 0 651552 102768 2499052 0 0 13 34 630 502 2 1 97 0 0 0
|
|
||||||
0 0 0 646036 102768 2499132 0 0 16 1 579 490 1 1 97 0 0 0
|
|
||||||
0 0 0 653772 102768 2499208 0 0 2 182 530 384 1 1 97 0 0 0
|
|
||||||
0 0 0 666516 102768 2499276 0 0 67 286 410 340 1 1 98 0 0 0
|
|
||||||
0 0 0 663452 102768 2499384 0 0 0 1 516 379 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 665752 102768 2499488 0 0 18 7 489 395 1 1 98 0 0 0
|
|
||||||
0 0 0 613924 102768 2499604 0 0 8 206 644 587 2 2 95 0 0 0
|
|
||||||
0 0 0 608688 102768 2499696 0 0 26 3 649 555 1 1 97 0 0 0
|
|
||||||
5 0 0 608688 102768 2499748 0 0 6 15 505 451 1 1 98 0 0 0
|
|
||||||
0 0 0 615268 102768 2499892 0 0 22 33 769 596 2 1 96 0 0 0
|
|
||||||
0 0 0 631180 102768 2500004 0 0 5 171 535 448 1 1 98 0 0 0
|
|
||||||
0 0 0 626616 102768 2500072 0 0 13 8 538 480 1 1 97 0 0 0
|
|
||||||
1 0 0 630952 102768 2500160 0 0 6 186 579 471 2 1 97 0 0 0
|
|
||||||
0 0 0 620520 102768 2500244 0 0 11 123 605 526 1 1 97 0 0 0
|
|
||||||
0 0 0 614128 102768 2500388 0 0 5 3 754 623 2 1 96 0 0 0
|
|
||||||
0 0 0 621140 102768 2500496 0 0 8 43 633 503 1 1 97 0 0 0
|
|
||||||
0 0 0 623112 102768 2500588 0 0 67 611 639 577 1 1 97 0 0 0
|
|
||||||
0 0 0 623112 102768 2500704 0 0 32 0 657 546 2 1 97 0 0 0
|
|
||||||
0 0 0 627720 102768 2500828 0 0 27 188 652 509 2 1 97 0 0 0
|
|
||||||
0 0 0 622428 102768 2500908 0 0 18 7 553 470 1 1 98 0 0 0
|
|
||||||
0 0 0 620160 102768 2501076 0 0 8 1 815 674 2 1 96 0 0 0
|
|
||||||
0 0 0 591080 102768 2501332 0 0 18 416 1014 801 3 2 95 0 0 0
|
|
||||||
0 0 0 586972 102768 2501496 0 0 29 131 826 676 2 1 97 0 0 0
|
|
||||||
0 0 0 591284 102768 2501608 0 0 8 7 680 557 2 1 97 0 0 0
|
|
||||||
0 0 0 589776 102768 2501792 0 0 5 20 857 612 2 1 96 0 0 0
|
|
||||||
0 0 0 604012 102768 2501908 0 0 6 48 689 533 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 603256 102768 2502004 0 0 13 148 660 568 1 1 97 0 0 0
|
|
||||||
0 0 0 605332 102768 2502212 0 0 11 11 924 685 2 1 96 0 0 0
|
|
||||||
3 0 0 599788 102768 2502444 0 0 10 42 921 686 3 2 95 0 0 0
|
|
||||||
0 0 0 573384 102768 2502544 0 0 5 2 713 638 1 2 97 0 0 0
|
|
||||||
1 0 0 571688 102768 2502680 0 0 80 191 831 672 2 1 96 0 0 0
|
|
||||||
0 0 0 548112 102768 2502920 0 0 43 53 1093 925 3 2 95 0 0 0
|
|
||||||
0 0 0 545624 102768 2503244 0 0 78 365 1351 1010 4 2 94 0 0 0
|
|
||||||
0 0 0 536076 102768 2503640 0 0 10 16 1470 991 5 2 93 0 0 0
|
|
||||||
1 0 0 530836 102768 2503884 0 0 195 301 1219 1010 3 2 94 1 0 0
|
|
||||||
0 0 0 499456 102768 2504276 0 0 30 1 1443 1110 5 3 92 0 0 0
|
|
||||||
0 0 0 500612 102768 2504568 0 0 19 23 1309 993 3 2 94 0 0 0
|
|
||||||
0 0 0 499668 102768 2504832 0 0 13 279 1295 1036 3 2 95 0 0 0
|
|
||||||
0 0 0 499164 102768 2505088 0 0 102 218 1185 969 3 2 95 0 0 0
|
|
||||||
0 0 0 497032 102768 2505340 0 0 78 12 1211 902 3 2 95 0 0 0
|
|
||||||
0 0 0 458896 102768 2505808 0 0 48 86 1512 1136 5 3 91 0 0 0
|
|
||||||
0 0 0 452148 102768 2506192 0 0 40 5 1621 1246 4 3 93 0 0 0
|
|
||||||
0 0 0 447108 102768 2506552 0 0 27 297 1475 1218 3 3 94 0 0 0
|
|
||||||
0 0 0 446632 102768 2506780 0 0 27 111 1295 1089 3 2 95 0 0 0
|
|
||||||
0 0 0 451980 102768 2506952 0 0 18 3 1134 966 2 2 96 0 0 0
|
|
||||||
0 0 0 470288 102768 2507276 0 0 16 1 1313 1020 3 2 95 0 0 0
|
|
||||||
0 0 0 419972 102768 2507580 0 0 54 236 1553 1445 4 3 92 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 414648 102768 2507824 0 0 30 594 1394 1254 3 2 94 0 0 0
|
|
||||||
1 0 0 415520 102768 2508136 0 0 11 8 1499 1255 3 2 94 0 0 0
|
|
||||||
0 0 0 417080 102768 2508396 0 0 40 251 1330 1087 3 2 95 0 0 0
|
|
||||||
0 0 0 425544 102768 2508568 0 0 11 13 1308 1132 3 2 95 0 0 0
|
|
||||||
0 0 0 415296 102768 2508828 0 0 38 3 1473 1319 4 3 93 0 0 0
|
|
||||||
0 0 0 413820 102768 2509044 0 0 10 77 1365 1167 3 2 95 0 0 0
|
|
||||||
3 0 0 409380 102768 2509356 0 0 29 184 1550 1371 4 3 93 0 0 0
|
|
||||||
0 0 0 414364 102768 2509552 0 0 3 2 1266 1076 3 2 95 0 0 0
|
|
||||||
1 0 0 419316 102768 2509764 0 0 37 76 1372 1246 3 2 94 0 0 0
|
|
||||||
0 0 0 431100 102768 2509996 0 0 19 12 1274 1125 3 2 95 0 0 0
|
|
||||||
0 0 0 419884 102768 2510452 0 0 22 2 1543 1273 4 3 92 0 0 0
|
|
||||||
0 0 0 419632 102768 2510640 0 0 45 256 1350 1191 3 2 95 0 0 0
|
|
||||||
0 0 0 419632 102768 2510892 0 0 38 27 1397 1156 4 2 94 0 0 0
|
|
||||||
0 0 0 423252 102768 2511096 0 0 29 10 1334 1192 3 2 95 0 0 0
|
|
||||||
1 0 0 408384 102768 2511364 0 0 16 246 1497 1311 4 3 93 0 0 0
|
|
||||||
0 0 0 407880 102768 2511564 0 0 18 20 1268 1051 2 2 95 0 0 0
|
|
||||||
1 0 0 407880 102768 2511712 0 0 11 266 1152 1052 2 2 96 0 0 0
|
|
||||||
1 0 0 417388 102768 2511864 0 0 115 3 1118 983 2 2 95 0 0 0
|
|
||||||
0 0 0 416424 102768 2512108 0 0 11 261 1401 1233 4 3 93 0 0 0
|
|
||||||
1 0 0 427560 102768 2512300 0 0 2 14 1191 970 3 2 95 0 0 0
|
|
||||||
0 0 0 434348 102768 2512468 0 0 24 2 1123 989 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 446424 102768 2512688 0 0 21 253 1362 1172 3 2 95 0 0 0
|
|
||||||
0 0 0 432564 102768 2512868 0 0 26 22 1271 1137 3 2 95 0 0 0
|
|
||||||
0 0 0 429852 102768 2513036 0 0 6 3 1313 1169 3 2 95 0 0 0
|
|
||||||
0 0 0 434180 102768 2513224 0 0 6 54 1246 1142 2 2 96 0 0 0
|
|
||||||
0 0 0 444088 102768 2513476 0 0 16 17 1413 1214 3 2 94 0 0 0
|
|
||||||
0 0 0 433756 102768 2513640 0 0 13 395 1201 1132 2 2 95 0 0 0
|
|
||||||
0 0 0 436440 102768 2513804 0 0 0 61 1214 1106 2 2 95 0 0 0
|
|
||||||
0 0 0 444412 102768 2513956 0 0 10 16 1160 1024 2 2 96 0 0 0
|
|
||||||
0 0 0 444472 102768 2514156 0 0 5 156 1294 1232 3 2 95 0 0 0
|
|
||||||
0 0 0 447456 102768 2514376 0 0 16 57 1409 1297 3 2 95 0 0 0
|
|
||||||
0 0 0 453704 102768 2514536 0 0 6 10 1294 1180 3 2 95 0 0 0
|
|
||||||
0 0 0 409076 102768 2514768 0 0 3 3 1320 1229 3 3 94 0 0 0
|
|
||||||
3 0 0 405548 102768 2514932 0 0 2 60 1239 1111 2 2 96 0 0 0
|
|
||||||
0 0 0 405548 102768 2515036 0 0 2 246 1058 967 2 2 96 0 0 0
|
|
||||||
0 0 0 406904 102768 2515160 0 0 70 6 1038 968 2 2 96 0 0 0
|
|
||||||
2 0 0 420288 102768 2515332 0 0 0 46 1209 1001 2 2 95 0 0 0
|
|
||||||
0 0 0 428908 102768 2515512 0 0 40 2 1235 1130 3 2 95 0 0 0
|
|
||||||
0 0 0 433616 102768 2515656 0 0 5 212 1180 1071 3 2 96 0 0 0
|
|
||||||
0 0 0 442676 102768 2515844 0 0 2 56 1140 954 3 2 95 0 0 0
|
|
||||||
0 0 0 446608 102768 2516056 0 0 8 7 1342 1186 3 2 94 0 0 0
|
|
||||||
0 0 0 446608 102768 2516220 0 0 38 185 1202 1093 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 452952 102768 2516420 0 0 11 65 1348 1260 3 2 94 0 0 0
|
|
||||||
0 0 0 420216 102768 2516652 0 0 19 2 1386 1214 3 3 93 0 0 0
|
|
||||||
0 0 0 417236 102768 2516852 0 0 38 193 1291 1167 3 2 95 0 0 0
|
|
||||||
0 0 0 419312 102768 2517096 0 0 2 354 1491 1406 4 2 93 0 0 0
|
|
||||||
0 0 0 427848 102768 2517360 0 0 2 3 1457 1362 4 2 93 0 0 0
|
|
||||||
0 0 0 438988 102768 2517564 0 0 21 15 1226 1008 3 2 95 0 0 0
|
|
||||||
0 0 0 430052 102768 2517952 0 0 19 290 1547 1230 5 3 92 0 0 0
|
|
||||||
0 0 0 431872 102768 2518132 0 0 6 5 1330 1196 3 2 95 0 0 0
|
|
||||||
0 0 0 445492 102768 2518304 0 0 2 199 1181 1031 2 2 96 0 0 0
|
|
||||||
0 0 0 442720 102768 2518484 0 0 5 79 1210 1053 3 2 95 0 0 0
|
|
||||||
0 0 0 441636 102768 2518912 0 0 6 208 1802 1303 6 3 91 0 0 0
|
|
||||||
0 0 0 418284 102768 2519196 0 0 0 33 1658 1701 5 4 91 0 0 0
|
|
||||||
0 0 0 421352 102768 2519392 0 0 10 87 1253 1133 3 2 95 0 0 0
|
|
||||||
0 0 0 427576 102768 2519544 0 0 13 183 1070 991 2 2 96 0 0 0
|
|
||||||
0 0 0 434264 102768 2519716 0 0 16 32 1189 1122 3 2 95 0 0 0
|
|
||||||
0 0 0 434264 102768 2519892 0 0 8 722 1387 1313 3 2 95 0 0 0
|
|
||||||
0 0 0 440212 102768 2520044 0 0 0 5 1246 1154 3 2 95 0 0 0
|
|
||||||
0 0 0 453288 102768 2520396 0 0 16 2 1512 1201 4 2 93 0 0 0
|
|
||||||
0 0 0 457576 102768 2520544 0 0 8 187 1096 996 2 2 96 0 0 0
|
|
||||||
0 0 0 473788 102768 2520648 0 0 14 64 1029 901 2 2 96 0 0 0
|
|
||||||
0 0 0 472780 102768 2520812 0 0 2 5 1208 1054 3 2 95 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 455392 102768 2520924 0 0 0 15 954 893 2 2 96 0 0 0
|
|
||||||
0 0 0 455408 102768 2521064 0 0 13 244 946 832 2 2 96 0 0 0
|
|
||||||
0 0 0 461604 102768 2521400 0 0 6 2 1399 1005 5 2 93 0 0 0
|
|
||||||
0 0 0 466672 102768 2521620 0 0 5 18 1241 1096 3 2 95 0 0 0
|
|
||||||
4 0 0 421648 102768 2521936 0 0 6 78 1327 1007 5 3 92 0 0 0
|
|
||||||
0 0 0 424532 102768 2522140 0 0 3 213 1037 794 3 2 95 0 0 0
|
|
||||||
0 0 0 430260 102768 2522372 0 0 0 13 1122 906 3 2 95 0 0 0
|
|
||||||
0 0 0 438368 102768 2522452 0 0 0 69 786 721 1 1 97 0 0 0
|
|
||||||
0 0 0 448688 102768 2522584 0 0 11 185 856 734 2 1 97 0 0 0
|
|
||||||
0 0 0 467916 102768 2522704 0 0 2 10 772 645 2 1 97 0 0 0
|
|
||||||
0 0 0 477264 102768 2522848 0 0 2 46 938 815 2 2 96 0 0 0
|
|
||||||
0 0 0 493052 102768 2522916 0 0 3 215 696 628 1 1 97 0 0 0
|
|
||||||
0 0 0 503032 102768 2523028 0 0 3 210 815 752 2 2 96 0 0 0
|
|
||||||
0 0 0 502604 102768 2523148 0 0 2 38 840 772 2 1 96 0 0 0
|
|
||||||
0 0 0 507192 102768 2523260 0 0 0 1 726 602 1 1 97 0 0 0
|
|
||||||
1 0 0 512564 102768 2523420 0 0 2 9 993 842 3 2 95 0 0 0
|
|
||||||
0 0 0 515524 102768 2523532 0 0 0 267 842 711 2 1 96 0 0 0
|
|
||||||
0 0 0 520856 102768 2523636 0 0 32 727 749 693 1 1 97 0 0 0
|
|
||||||
0 0 0 529724 102768 2523748 0 0 6 1 736 646 2 1 97 0 0 0
|
|
||||||
0 0 0 542764 102768 2523808 0 0 8 26 637 596 1 1 98 0 0 0
|
|
||||||
0 0 0 548544 102768 2523872 0 0 6 217 730 634 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 544176 102768 2523968 0 0 2 3 742 672 1 1 97 0 0 0
|
|
||||||
0 0 0 503184 102768 2524160 0 0 14 32 1005 948 2 3 95 0 0 0
|
|
||||||
0 0 0 494392 102768 2524236 0 0 0 235 863 808 2 1 97 0 0 0
|
|
||||||
0 0 0 490120 102768 2524360 0 0 6 309 850 731 2 1 96 0 0 0
|
|
||||||
0 0 0 498948 102768 2524468 0 0 2 41 894 851 2 2 96 0 0 0
|
|
||||||
0 0 0 504612 102768 2524560 0 0 5 12 807 753 1 1 97 0 0 0
|
|
||||||
0 0 0 515696 102768 2524664 0 0 19 3 831 775 1 2 97 0 0 0
|
|
||||||
0 0 0 525316 102768 2524756 0 0 2 207 838 772 2 1 97 0 0 0
|
|
||||||
1 0 0 525316 102768 2524856 0 0 10 5 817 727 1 1 97 0 0 0
|
|
||||||
0 0 0 535452 102768 2524924 0 0 14 2 672 630 1 1 97 0 0 0
|
|
||||||
0 0 0 546728 102772 2525016 0 0 14 192 779 665 1 1 97 0 0 0
|
|
||||||
0 0 0 553788 102772 2525072 0 0 2 10 701 634 1 1 97 0 0 0
|
|
||||||
1 0 0 559268 102772 2525152 0 0 40 9 811 804 2 1 97 0 0 0
|
|
||||||
0 0 0 572940 102772 2525752 0 0 0 21 881 872 2 3 95 0 0 0
|
|
||||||
0 0 0 572740 102772 2525888 0 0 2 145 872 784 2 2 97 0 0 0
|
|
||||||
0 0 0 568960 102772 2525952 0 0 0 15 689 677 1 1 97 0 0 0
|
|
||||||
0 0 0 577672 102772 2526052 0 0 5 508 762 724 1 1 97 0 0 0
|
|
||||||
0 0 0 565884 102772 2526136 0 0 2 3 730 705 1 1 97 0 0 0
|
|
||||||
0 0 0 567472 102772 2526264 0 0 10 5 871 781 2 1 96 0 0 0
|
|
||||||
0 0 0 576812 102772 2526328 0 0 0 239 661 594 1 1 97 0 0 0
|
|
||||||
0 0 0 582552 102772 2526392 0 0 2 31 665 603 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 582552 102772 2526460 0 0 2 4 757 681 1 1 97 0 0 0
|
|
||||||
0 0 0 585216 102772 2526512 0 0 0 293 645 610 1 1 97 0 0 0
|
|
||||||
0 0 0 586944 102772 2526560 0 0 0 243 580 569 1 1 98 0 0 0
|
|
||||||
0 0 0 584956 102772 2526564 0 0 66 4 487 461 1 1 98 0 0 0
|
|
||||||
0 0 0 591076 102772 2526620 0 0 0 10 547 512 1 1 98 0 0 0
|
|
||||||
0 0 0 597700 102772 2526664 0 0 0 187 481 442 1 1 98 0 0 0
|
|
||||||
0 0 0 599780 102772 2526724 0 0 3 4 592 544 1 1 98 0 0 0
|
|
||||||
0 0 0 601444 102772 2526764 0 0 0 15 562 545 1 1 98 0 0 0
|
|
||||||
0 0 0 596284 102772 2526816 0 0 5 16 579 563 1 1 98 0 0 0
|
|
||||||
0 0 0 593764 102772 2526948 0 0 2 1 752 611 1 2 97 0 0 0
|
|
||||||
0 0 0 593764 102772 2527016 0 0 2 195 617 599 1 1 98 0 0 0
|
|
||||||
0 0 0 593764 102772 2527024 0 0 3 26 562 539 1 1 98 0 0 0
|
|
||||||
0 0 0 598216 102772 2526992 0 0 0 1 340 305 1 1 98 0 0 0
|
|
||||||
0 0 0 609812 102772 2527096 0 0 0 234 383 359 1 1 98 0 0 0
|
|
||||||
0 0 0 615388 102772 2527112 0 0 5 14 396 378 1 1 98 0 0 0
|
|
||||||
0 0 0 619704 102772 2527152 0 0 0 2 410 373 1 1 98 0 0 0
|
|
||||||
0 0 0 623032 102772 2527184 0 0 0 1 460 456 1 1 98 0 0 0
|
|
||||||
0 0 0 623088 102772 2527220 0 0 0 22 474 443 1 1 98 0 0 0
|
|
||||||
0 0 0 616580 102772 2527268 0 0 0 165 516 500 1 1 98 0 0 0
|
|
||||||
0 0 0 616580 102772 2527308 0 0 2 2 617 610 1 1 97 0 0 0
|
|
||||||
0 0 0 615524 102772 2527340 0 0 6 21 503 471 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 621340 102772 2527356 0 0 2 214 499 421 1 1 98 0 0 0
|
|
||||||
0 0 0 624136 102772 2527400 0 0 53 3 571 557 1 1 97 0 0 0
|
|
||||||
0 0 0 626116 102772 2527436 0 0 0 25 528 494 1 1 98 0 0 0
|
|
||||||
0 0 0 625668 102772 2527480 0 0 3 1 507 490 1 1 98 0 0 0
|
|
||||||
0 0 0 625668 102772 2527488 0 0 3 203 495 462 1 1 98 0 0 0
|
|
||||||
0 0 0 629100 102772 2527492 0 0 0 15 461 450 1 1 98 0 0 0
|
|
||||||
0 0 0 634852 102772 2527524 0 0 2 18 406 385 1 1 98 0 0 0
|
|
||||||
0 0 0 634852 102772 2527524 0 0 0 1 424 403 1 1 98 0 0 0
|
|
||||||
0 0 0 633800 102772 2527568 0 0 0 11 506 499 1 1 97 0 0 0
|
|
||||||
0 0 0 632540 102772 2527600 0 0 0 246 495 469 1 1 98 0 0 0
|
|
||||||
0 0 0 634564 102772 2527624 0 0 0 258 425 372 1 1 98 0 0 0
|
|
||||||
0 0 0 639104 102772 2527664 0 0 3 12 404 346 1 1 98 0 0 0
|
|
||||||
1 0 0 647048 102776 2527692 0 0 0 9 395 373 1 1 99 0 0 0
|
|
||||||
0 0 0 621220 102776 2527744 0 0 0 201 471 493 1 1 97 0 0 0
|
|
||||||
0 0 0 625012 102776 2527780 0 0 11 2 499 466 1 1 98 0 0 0
|
|
||||||
0 0 0 624760 102776 2527804 0 0 0 10 341 309 1 1 99 0 0 0
|
|
||||||
0 0 0 634380 102776 2527832 0 0 0 220 385 334 1 1 98 0 0 0
|
|
||||||
0 0 0 633876 102776 2527868 0 0 0 2 424 410 1 1 98 0 0 0
|
|
||||||
0 0 0 609556 102776 2527944 0 0 10 9 682 644 2 2 97 0 0 0
|
|
||||||
0 0 0 606964 102776 2527960 0 0 2 10 524 466 1 1 98 0 0 0
|
|
||||||
0 0 0 615404 102776 2527992 0 0 8 5 410 382 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 621420 102776 2528044 0 0 0 197 526 443 1 1 98 0 0 0
|
|
||||||
2 0 0 618564 102776 2528128 0 0 2 283 576 463 1 1 97 0 0 0
|
|
||||||
0 0 0 617792 102776 2528228 0 0 10 222 519 425 2 1 97 0 0 0
|
|
||||||
0 0 0 629460 102776 2528248 0 0 2 30 324 282 1 1 99 0 0 0
|
|
||||||
0 0 0 635336 102776 2528264 0 0 5 147 339 316 1 1 99 0 0 0
|
|
||||||
0 1 0 634580 102776 2528304 0 0 5 2 394 364 1 1 98 0 0 0
|
|
||||||
0 0 0 634580 102776 2528368 0 0 30 22 468 429 1 1 98 0 0 0
|
|
||||||
0 0 0 612012 102776 2528620 0 0 27 1 925 654 3 2 95 0 0 0
|
|
||||||
0 0 0 612016 102776 2528700 0 0 22 208 530 432 1 1 98 0 0 0
|
|
||||||
2 0 0 612016 102776 2528816 0 0 2 49 506 378 1 1 97 0 0 0
|
|
||||||
0 0 0 610504 102776 2528872 0 0 6 2 447 380 1 1 98 0 0 0
|
|
||||||
0 0 0 623728 102776 2528960 0 0 11 208 456 361 1 1 98 0 0 0
|
|
||||||
0 0 0 621896 102776 2529028 0 0 32 36 474 411 1 1 98 0 0 0
|
|
||||||
0 0 0 622692 102776 2529136 0 0 2 3 559 470 2 1 97 0 0 0
|
|
||||||
0 0 0 622692 102776 2529212 0 0 0 1 496 428 1 1 98 0 0 0
|
|
||||||
1 0 0 617484 102776 2529284 0 0 117 32 545 505 1 1 97 0 0 0
|
|
||||||
0 0 0 570416 102776 2529420 0 0 6 189 714 631 2 2 96 0 0 0
|
|
||||||
0 0 0 567644 102776 2529548 0 0 2 2 695 568 1 1 97 0 0 0
|
|
||||||
0 0 0 567768 102776 2529596 0 0 2 41 499 424 1 1 98 0 0 0
|
|
||||||
0 0 0 573028 102776 2529632 0 0 0 275 479 426 1 1 97 0 0 0
|
|
||||||
0 0 0 585084 102776 2529700 0 0 2 179 559 505 1 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 565680 102776 2529868 0 0 0 30 849 683 2 2 95 0 0 0
|
|
||||||
0 0 0 559912 102776 2530068 0 0 0 5 931 684 2 2 96 0 0 0
|
|
||||||
0 0 0 567176 102776 2530124 0 0 0 3 525 469 1 1 98 0 0 0
|
|
||||||
0 0 0 574288 102776 2530240 0 0 3 257 701 575 2 1 97 0 0 0
|
|
||||||
0 0 0 561696 102776 2530316 0 0 0 4 762 674 4 2 94 0 0 0
|
|
||||||
1 0 0 568024 102776 2530384 0 0 0 3 613 542 2 1 97 0 0 0
|
|
||||||
0 0 0 575676 102776 2530460 0 0 19 236 537 456 1 1 98 0 0 0
|
|
||||||
0 0 0 586560 102776 2530524 0 0 0 337 524 462 1 1 98 0 0 0
|
|
||||||
0 0 0 583284 102776 2530648 0 0 3 3 643 549 2 2 97 0 0 0
|
|
||||||
0 0 0 581440 102776 2530748 0 0 0 37 689 526 1 1 98 0 0 0
|
|
||||||
1 0 0 578920 102776 2530792 0 0 0 1 464 414 1 1 98 0 0 0
|
|
||||||
0 0 0 592116 102776 2530864 0 0 0 210 562 454 1 1 98 0 0 0
|
|
||||||
0 0 0 604460 102776 2530900 0 0 3 25 491 434 1 1 98 0 0 0
|
|
||||||
0 0 0 604920 102776 2530976 0 0 2 7 630 580 1 1 97 0 0 0
|
|
||||||
0 0 0 583500 102776 2531044 0 0 2 203 618 536 1 2 97 0 0 0
|
|
||||||
0 0 0 581736 102776 2531072 0 0 0 7 390 371 1 1 98 0 0 0
|
|
||||||
0 0 0 589728 102776 2531100 0 0 0 20 416 393 1 1 98 0 0 0
|
|
||||||
0 0 0 603716 102776 2531116 0 0 0 0 397 372 1 1 98 0 0 0
|
|
||||||
0 0 0 600216 102776 2531184 0 0 5 11 541 479 1 1 98 0 0 0
|
|
||||||
0 0 0 595680 102776 2531264 0 0 3 208 651 602 1 1 97 0 0 0
|
|
||||||
0 0 0 581500 102776 2531308 0 0 2 1 547 545 1 2 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 587304 102776 2531344 0 0 5 9 477 428 1 1 98 0 0 0
|
|
||||||
0 0 0 589036 102776 2531396 0 0 2 234 478 420 1 1 98 0 0 0
|
|
||||||
0 0 0 586248 102776 2531480 0 0 0 2 592 562 2 1 97 0 0 0
|
|
||||||
0 0 0 588312 102776 2531508 0 0 2 17 441 408 1 1 98 0 0 0
|
|
||||||
0 0 0 595568 102776 2531576 0 0 2 20 495 446 1 1 98 0 0 0
|
|
||||||
0 0 0 596580 102776 2531668 0 0 3 2 627 560 1 1 97 0 0 0
|
|
||||||
0 0 0 589580 102776 2531724 0 0 0 201 548 532 1 2 97 0 0 0
|
|
||||||
0 0 0 588428 102776 2531860 0 0 0 300 751 550 2 1 97 0 0 0
|
|
||||||
0 0 0 594040 102776 2531944 0 0 2 1 630 475 2 1 97 0 0 0
|
|
||||||
0 0 0 571360 102776 2532180 0 0 6 0 979 610 3 2 95 0 0 0
|
|
||||||
0 0 0 574104 102776 2532220 0 0 0 259 527 472 1 1 98 0 0 0
|
|
||||||
0 0 0 573632 102776 2532440 0 0 40 3 924 662 2 2 96 0 0 0
|
|
||||||
0 0 0 567836 102776 2532644 0 0 16 2 979 745 3 2 95 0 0 0
|
|
||||||
0 0 0 567836 102776 2532772 0 0 18 63 739 615 2 1 97 0 0 0
|
|
||||||
0 0 0 568780 102776 2532900 0 0 16 219 780 698 2 2 97 0 0 0
|
|
||||||
0 0 0 552204 102776 2533072 0 0 0 3 954 802 2 2 96 0 0 0
|
|
||||||
0 0 0 553088 102776 2533188 0 0 3 49 740 680 2 2 97 0 0 0
|
|
||||||
0 0 0 557584 102776 2533260 0 0 3 1 620 588 1 1 97 0 0 0
|
|
||||||
0 0 0 562796 102776 2533328 0 0 3 392 524 501 1 1 98 0 0 0
|
|
||||||
0 0 0 566552 102776 2533424 0 0 6 36 619 567 1 1 97 0 0 0
|
|
||||||
0 0 0 581824 102776 2533520 0 0 0 2 673 559 1 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 595164 102776 2533592 0 0 0 431 556 488 1 1 98 0 0 0
|
|
||||||
0 0 0 594408 102776 2533628 0 0 0 161 495 473 1 1 98 0 0 0
|
|
||||||
0 0 0 596536 102776 2533680 0 0 2 1 518 510 1 1 98 0 0 0
|
|
||||||
0 0 0 597600 102776 2533816 0 0 13 16 666 543 2 1 97 0 0 0
|
|
||||||
0 0 0 597376 102776 2533852 0 0 2 22 490 469 1 1 98 0 0 0
|
|
||||||
0 0 0 589060 102776 2533920 0 0 19 199 590 558 1 1 97 0 0 0
|
|
||||||
0 0 0 589208 102776 2533976 0 0 2 10 449 394 1 1 98 0 0 0
|
|
||||||
0 0 0 593940 102780 2534096 0 0 3 21 571 534 1 1 98 0 0 0
|
|
||||||
0 0 0 591924 102780 2534152 0 0 0 1 544 520 1 1 98 0 0 0
|
|
||||||
2 0 0 592384 102780 2534224 0 0 6 215 625 612 1 1 98 0 0 0
|
|
||||||
0 0 0 594900 102780 2534324 0 0 3 294 779 704 1 1 97 0 0 0
|
|
||||||
1 0 0 594916 102780 2534392 0 0 22 7 696 683 1 1 97 0 0 0
|
|
||||||
0 0 0 595048 102780 2534500 0 0 3 2 730 661 2 1 97 0 0 0
|
|
||||||
0 0 0 593852 102780 2534572 0 0 5 279 626 598 2 2 96 0 0 0
|
|
||||||
0 0 0 598200 102780 2534624 0 0 0 4 549 505 1 1 98 0 0 0
|
|
||||||
0 0 0 606264 102780 2534668 0 0 13 1 431 395 1 1 98 0 0 0
|
|
||||||
0 0 0 614076 102780 2534728 0 0 0 290 545 542 1 1 98 0 0 0
|
|
||||||
0 0 0 620276 102780 2534752 0 0 0 240 370 350 1 1 98 0 0 0
|
|
||||||
0 0 0 628860 102780 2534776 0 0 0 1 283 268 1 1 99 0 0 0
|
|
||||||
0 0 0 646320 102780 2534796 0 0 0 13 286 272 1 1 98 0 0 0
|
|
||||||
0 0 0 655824 102780 2534812 0 0 0 6 270 273 1 1 99 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 645784 102780 2534848 0 0 2 211 398 399 1 1 98 0 0 0
|
|
||||||
0 0 0 634960 102780 2535064 0 0 0 8 510 474 1 1 97 0 0 0
|
|
||||||
0 0 0 632384 102780 2535120 0 0 0 19 458 447 1 1 98 0 0 0
|
|
||||||
0 0 0 643000 102780 2535192 0 0 22 230 495 476 1 1 98 0 0 0
|
|
||||||
0 0 0 638720 102780 2535308 0 0 0 14 559 489 1 1 98 0 0 0
|
|
||||||
0 0 0 641420 102780 2535324 0 0 0 23 251 233 0 1 99 0 0 0
|
|
||||||
0 0 0 639736 102780 2535368 0 0 0 3 360 374 1 1 98 0 0 0
|
|
||||||
0 0 0 645144 102780 2535420 0 0 3 191 398 365 1 1 98 0 0 0
|
|
||||||
0 0 0 649292 102780 2535496 0 0 3 13 421 338 1 1 98 0 0 0
|
|
||||||
0 0 0 649416 102780 2535536 0 0 0 200 351 358 1 1 98 0 0 0
|
|
||||||
0 0 0 649164 102780 2535588 0 0 2 4 410 378 1 1 98 0 0 0
|
|
||||||
0 0 0 654212 102780 2535640 0 0 11 172 393 405 1 1 98 0 0 0
|
|
||||||
2 0 0 649536 102780 2535676 0 0 5 6 355 378 1 1 98 0 0 0
|
|
||||||
0 0 0 649340 102780 2535720 0 0 13 1 381 392 1 1 98 0 0 0
|
|
||||||
1 0 0 649340 102780 2535764 0 0 0 10 424 453 1 1 98 0 0 0
|
|
||||||
0 0 0 648944 102780 2535808 0 0 14 234 379 398 1 1 98 0 0 0
|
|
||||||
0 0 0 647936 102780 2535864 0 0 6 5 458 473 1 1 98 0 0 0
|
|
||||||
0 0 0 648368 102780 2535948 0 0 3 13 515 498 1 1 97 0 0 0
|
|
||||||
0 0 0 646604 102780 2536060 0 0 59 14 643 639 2 1 97 0 0 0
|
|
||||||
0 0 0 645596 102780 2536116 0 0 2 225 462 456 1 1 98 0 0 0
|
|
||||||
0 0 0 644840 102780 2536156 0 0 3 20 329 309 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 644336 102780 2536220 0 0 5 14 514 540 1 1 98 0 0 0
|
|
||||||
0 0 0 645476 102780 2536272 0 0 2 5 404 388 1 1 98 0 0 0
|
|
||||||
0 0 0 628868 102780 2536368 0 0 0 200 665 674 1 2 96 0 0 0
|
|
||||||
0 0 0 628868 102780 2536432 0 0 0 15 575 573 1 1 97 0 0 0
|
|
||||||
0 0 0 631916 102780 2536512 0 0 3 212 449 383 1 1 98 0 0 0
|
|
||||||
0 0 0 634596 102780 2536552 0 0 14 238 410 413 1 1 98 0 0 0
|
|
||||||
0 0 0 633740 102780 2536640 0 0 5 3 503 423 1 1 98 0 0 0
|
|
||||||
0 0 0 635668 102780 2536724 0 0 557 1234 561 603 1 1 96 1 0 0
|
|
||||||
0 0 0 628136 102780 2536828 0 0 43 27 512 439 1 1 98 0 0 0
|
|
||||||
0 0 0 628136 102780 2536892 0 0 42 201 500 486 1 1 98 0 0 0
|
|
||||||
0 0 0 615096 102780 2536996 0 0 11 9 653 605 2 2 97 0 0 0
|
|
||||||
0 0 0 593520 102780 2537064 0 0 5 20 532 546 1 2 97 0 0 0
|
|
||||||
0 0 0 595524 102780 2537128 0 0 3 235 484 453 1 1 98 0 0 0
|
|
||||||
0 0 0 594240 102780 2537180 0 0 11 0 499 499 1 1 98 0 0 0
|
|
||||||
0 0 0 605012 102780 2537244 0 0 10 12 524 500 1 1 98 0 0 0
|
|
||||||
0 0 0 619536 102780 2537296 0 0 2 16 446 427 1 1 98 0 0 0
|
|
||||||
0 0 0 625660 102780 2537336 0 0 14 207 443 423 1 1 98 0 0 0
|
|
||||||
0 0 0 615372 102780 2537420 0 0 2 7 555 501 1 1 97 0 0 0
|
|
||||||
0 0 0 617300 102780 2537456 0 0 2 165 391 371 1 1 98 0 0 0
|
|
||||||
0 0 0 620744 102780 2537484 0 0 158 8 462 456 1 1 97 0 0 0
|
|
||||||
0 0 0 620744 102780 2537572 0 0 0 4 545 494 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 623732 102780 2537616 0 0 11 189 425 424 1 1 98 0 0 0
|
|
||||||
0 0 0 623732 102780 2537656 0 0 8 11 438 442 1 1 98 0 0 0
|
|
||||||
0 0 0 623632 102780 2537692 0 0 0 1 344 317 1 1 99 0 0 0
|
|
||||||
0 0 0 623856 102780 2537816 0 0 11 26 568 595 2 2 96 0 0 0
|
|
||||||
0 0 0 623856 102780 2537864 0 0 3 219 470 456 1 1 98 0 0 0
|
|
||||||
0 0 0 623988 102780 2537908 0 0 0 4 425 422 1 1 98 0 0 0
|
|
||||||
0 0 0 624848 102780 2537956 0 0 0 29 432 367 1 1 98 0 0 0
|
|
||||||
0 0 0 623840 102780 2538000 0 0 2 428 466 485 1 1 98 0 0 0
|
|
||||||
0 0 0 623840 102780 2538068 0 0 0 224 557 545 1 1 98 0 0 0
|
|
||||||
0 0 0 623704 102780 2538152 0 0 32 24 554 506 1 1 98 0 0 0
|
|
||||||
0 0 0 623988 102780 2538232 0 0 2 10 565 559 1 1 98 0 0 0
|
|
||||||
1 0 0 610968 102780 2538384 0 0 8 203 867 747 2 2 95 0 0 0
|
|
||||||
0 0 0 578824 102780 2538616 0 0 0 47 986 797 3 2 95 0 0 0
|
|
||||||
0 0 0 573532 102780 2538776 0 0 53 263 887 772 2 2 96 0 0 0
|
|
||||||
0 0 0 577360 102780 2538916 0 0 18 5 834 746 2 1 96 0 0 0
|
|
||||||
1 0 0 557160 102780 2539124 0 0 21 54 987 883 3 2 95 0 0 0
|
|
||||||
0 0 0 559584 102780 2539244 0 0 32 248 838 778 2 2 97 0 0 0
|
|
||||||
1 0 0 563144 102780 2539360 0 0 3 9 758 742 2 1 97 0 0 0
|
|
||||||
0 0 0 563144 102780 2539488 0 0 10 43 748 659 2 1 97 0 0 0
|
|
||||||
0 0 0 558212 102780 2539636 0 0 8 228 846 780 2 2 96 0 0 0
|
|
||||||
0 0 0 548636 102780 2539792 0 0 24 6 875 806 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 544604 102780 2539944 0 0 8 48 860 748 1 2 97 0 0 0
|
|
||||||
0 0 0 542588 102780 2540064 0 0 45 4 786 719 1 2 97 0 0 0
|
|
||||||
0 0 0 544424 102780 2540264 0 0 6 6 960 859 3 2 95 0 0 0
|
|
||||||
0 0 0 532220 102780 2540412 0 0 0 281 865 789 2 2 95 0 0 0
|
|
||||||
0 0 0 532220 102780 2540608 0 0 27 2 931 847 2 2 96 0 0 0
|
|
||||||
0 0 0 534980 102780 2540756 0 0 29 8 881 817 2 1 96 0 0 0
|
|
||||||
0 0 0 534980 102780 2540852 0 0 10 49 726 690 1 1 97 0 0 0
|
|
||||||
0 0 0 538652 102780 2540976 0 0 16 363 814 758 2 1 96 0 0 0
|
|
||||||
0 0 0 538652 102780 2541156 0 0 21 12 978 933 3 2 95 0 0 0
|
|
||||||
0 0 0 516812 102780 2541392 0 0 5 48 1111 1042 3 2 94 0 0 0
|
|
||||||
0 0 0 516056 102780 2541508 0 0 2 184 814 787 2 2 96 0 0 0
|
|
||||||
0 0 0 519588 102780 2541660 0 0 11 14 862 802 2 2 96 0 0 0
|
|
||||||
0 0 0 526164 102780 2541780 0 0 3 37 814 747 2 1 97 0 0 0
|
|
||||||
0 0 0 526164 102780 2541872 0 0 5 1 672 657 1 1 97 0 0 0
|
|
||||||
0 0 0 517876 102784 2541956 0 0 2 228 715 692 2 1 97 0 0 0
|
|
||||||
0 0 0 517876 102784 2542036 0 0 3 2 666 671 1 1 97 0 0 0
|
|
||||||
0 0 0 527832 102784 2542144 0 0 5 25 637 585 1 1 97 0 0 0
|
|
||||||
0 0 0 539540 102784 2542200 0 0 26 8 560 561 1 1 98 0 0 0
|
|
||||||
0 0 0 553984 102784 2542264 0 0 0 222 574 573 1 1 98 0 0 0
|
|
||||||
0 0 0 554456 102784 2542344 0 0 18 23 656 613 2 1 97 0 0 0
|
|
||||||
0 0 0 551768 102784 2542524 0 0 8 3 883 824 2 2 96 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 552248 102784 2542628 0 0 8 17 701 662 2 1 97 0 0 0
|
|
||||||
0 0 0 539844 102784 2542784 0 0 35 275 948 858 2 2 96 0 0 0
|
|
||||||
0 0 0 539844 102784 2542968 0 0 2 249 936 793 2 2 96 0 0 0
|
|
||||||
0 0 0 539844 102784 2543056 0 0 0 13 680 644 1 1 97 0 0 0
|
|
||||||
0 0 0 540944 102784 2543196 0 0 37 47 790 684 2 1 96 0 0 0
|
|
||||||
0 0 0 544144 102784 2543328 0 0 16 209 780 733 2 1 97 0 0 0
|
|
||||||
0 0 0 543388 102784 2543420 0 0 5 5 625 572 1 1 97 0 0 0
|
|
||||||
0 0 0 543388 102784 2543524 0 0 6 43 724 675 1 1 97 0 0 0
|
|
||||||
0 0 0 543280 102784 2543592 0 0 27 1 608 563 1 1 98 0 0 0
|
|
||||||
0 0 0 551856 102784 2543668 0 0 2 5 647 586 1 1 97 0 0 0
|
|
||||||
0 0 0 556620 102784 2543728 0 0 32 255 574 558 1 1 98 0 0 0
|
|
||||||
0 0 0 566988 102784 2543760 0 0 0 2 481 463 1 1 98 0 0 0
|
|
||||||
0 0 0 564244 102784 2543880 0 0 3 6 748 726 2 2 96 0 0 0
|
|
||||||
0 0 0 564244 102788 2543960 0 0 16 233 780 713 2 1 97 0 0 0
|
|
||||||
0 0 0 564020 102788 2544060 0 0 22 1 708 635 1 1 97 0 0 0
|
|
||||||
0 0 0 563956 102788 2544112 0 0 30 2 553 522 1 1 98 0 0 0
|
|
||||||
0 0 0 563076 102788 2544212 0 0 6 39 720 732 2 2 96 0 0 0
|
|
||||||
0 0 0 557840 102788 2544292 0 0 2 317 717 629 1 1 97 0 0 0
|
|
||||||
0 0 0 558768 102788 2544348 0 0 19 1 570 523 1 1 98 0 0 0
|
|
||||||
0 0 0 570752 102788 2544400 0 0 5 25 523 456 1 1 98 0 0 0
|
|
||||||
0 0 0 587580 102788 2544460 0 0 14 14 565 509 1 1 98 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 586572 102788 2544548 0 0 10 208 604 551 1 1 98 0 0 0
|
|
||||||
0 0 0 577400 102788 2544616 0 0 0 23 641 647 1 2 97 0 0 0
|
|
||||||
0 0 0 576768 102788 2544664 0 0 0 7 521 480 1 1 98 0 0 0
|
|
||||||
0 0 0 576768 102788 2544736 0 0 26 2 650 638 1 1 97 0 0 0
|
|
||||||
0 0 0 577116 102788 2544828 0 0 8 195 619 542 1 1 97 0 0 0
|
|
||||||
0 0 0 576360 102788 2544964 0 0 3 7 811 698 2 1 96 0 0 0
|
|
||||||
0 0 0 575604 102788 2545100 0 0 3 6 785 679 2 1 97 0 0 0
|
|
||||||
0 0 0 575604 102788 2545200 0 0 0 267 666 591 2 1 97 0 0 0
|
|
||||||
0 0 0 575604 102788 2545312 0 0 0 2 665 585 1 1 97 0 0 0
|
|
||||||
0 0 0 553176 102788 2545480 0 0 2 1 864 782 2 2 96 0 0 0
|
|
||||||
0 0 0 542716 102788 2545764 0 0 11 333 893 821 2 2 97 0 0 0
|
|
||||||
0 0 0 542716 102788 2545964 0 0 2 1 927 746 2 1 96 0 0 0
|
|
||||||
0 0 0 543140 102788 2546100 0 0 2 212 765 606 2 1 96 0 0 0
|
|
||||||
0 0 0 529284 102788 2546340 0 0 5 8 985 752 3 2 95 0 0 0
|
|
||||||
0 0 0 529284 102788 2546528 0 0 16 61 924 779 2 2 96 0 0 0
|
|
||||||
1 0 0 528428 102788 2546780 0 0 2 215 1083 865 3 2 95 0 0 0
|
|
||||||
0 0 0 528428 102788 2546960 0 0 91 959 893 836 2 2 96 0 0 0
|
|
||||||
0 0 0 528428 102788 2547104 0 0 13 66 811 651 2 1 97 0 0 0
|
|
||||||
0 0 0 533308 102788 2547260 0 0 5 210 757 599 2 1 96 0 0 0
|
|
||||||
0 0 0 524264 102788 2547468 0 0 43 15 924 777 2 2 96 0 0 0
|
|
||||||
1 0 0 522752 102788 2547576 0 0 21 53 766 700 2 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
1 0 0 527608 102788 2547708 0 0 0 1 735 608 2 1 97 0 0 0
|
|
||||||
0 0 0 538820 102788 2547812 0 0 18 9 687 608 2 1 97 0 0 0
|
|
||||||
1 0 0 535544 102788 2547916 0 0 0 219 747 710 2 1 97 0 0 0
|
|
||||||
0 0 0 550268 102788 2547992 0 0 14 2 629 582 1 1 97 0 0 0
|
|
||||||
0 0 0 547748 102788 2548072 0 0 13 12 621 583 1 1 98 0 0 0
|
|
||||||
0 0 0 547748 102788 2548152 0 0 0 262 656 611 1 1 98 0 0 0
|
|
||||||
0 0 0 549972 102788 2548216 0 0 8 7 581 575 1 1 97 0 0 0
|
|
||||||
0 0 0 555984 102788 2548312 0 0 30 2 646 634 2 1 97 0 0 0
|
|
||||||
0 0 0 560856 102788 2548352 0 0 0 24 525 512 1 1 98 0 0 0
|
|
||||||
0 0 0 568260 102788 2548416 0 0 0 9 541 505 1 1 98 0 0 0
|
|
||||||
0 0 0 569184 102788 2548476 0 0 16 178 549 536 1 1 98 0 0 0
|
|
||||||
0 0 0 569184 102788 2548524 0 0 14 18 478 464 1 1 98 0 0 0
|
|
||||||
0 0 0 574208 102788 2548596 0 0 24 10 571 500 1 1 98 0 0 0
|
|
||||||
0 1 0 573956 102788 2548700 0 0 35 211 695 595 2 1 97 0 0 0
|
|
||||||
0 0 0 581092 102788 2548720 0 0 2 20 405 373 1 1 98 0 0 0
|
|
||||||
0 0 0 585668 102788 2548780 0 0 0 16 533 510 1 1 97 0 0 0
|
|
||||||
0 0 0 584660 102788 2548844 0 0 5 1 595 567 1 1 97 0 0 0
|
|
||||||
0 0 0 582896 102788 2548912 0 0 0 216 567 491 1 2 97 0 0 0
|
|
||||||
0 0 0 583296 102788 2548956 0 0 72 12 503 473 1 1 98 0 0 0
|
|
||||||
0 0 0 586500 102788 2549052 0 0 0 251 612 517 1 1 98 0 0 0
|
|
||||||
0 0 0 585764 102788 2549112 0 0 0 19 540 457 1 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 1 0 577700 102788 2549220 0 0 19 189 710 680 2 2 97 0 0 0
|
|
||||||
0 0 0 580272 102788 2549288 0 0 2 3 629 614 1 1 97 0 0 0
|
|
||||||
0 0 0 561248 102788 2549416 0 0 5 25 839 814 2 2 96 0 0 0
|
|
||||||
0 0 0 558980 102788 2549520 0 0 6 226 768 700 2 1 97 0 0 0
|
|
||||||
0 0 0 555200 102788 2549628 0 0 67 14 746 634 2 1 97 0 0 0
|
|
||||||
0 0 0 559656 102788 2549708 0 0 22 31 676 565 1 1 98 0 0 0
|
|
||||||
0 0 0 568760 102788 2549828 0 0 24 3 682 622 1 1 97 0 0 0
|
|
||||||
0 0 0 563244 102788 2549996 0 0 8 9 823 736 2 2 96 0 0 0
|
|
||||||
0 0 0 565796 102788 2550136 0 0 13 250 814 656 2 1 97 0 0 0
|
|
||||||
0 0 0 563872 102788 2550204 0 0 13 7 589 527 1 1 98 0 0 0
|
|
||||||
0 0 0 568220 102788 2550268 0 0 0 168 526 456 1 1 98 0 0 0
|
|
||||||
0 0 0 575996 102788 2550328 0 0 2 19 551 477 1 1 98 0 0 0
|
|
||||||
0 0 0 582980 102788 2550376 0 0 0 175 505 464 1 1 98 0 0 0
|
|
||||||
0 0 0 582532 102788 2550456 0 0 13 9 609 590 1 1 97 0 0 0
|
|
||||||
0 0 0 582532 102788 2550508 0 0 3 1 583 538 1 1 98 0 0 0
|
|
||||||
0 0 0 586600 102788 2550580 0 0 0 328 582 505 1 1 97 0 0 0
|
|
||||||
0 0 0 595192 102788 2550636 0 0 0 10 492 462 1 1 98 0 0 0
|
|
||||||
0 0 0 598340 102788 2550676 0 0 3 2 449 413 1 1 98 0 0 0
|
|
||||||
0 0 0 588932 102788 2550784 0 0 3 22 610 532 2 1 96 0 0 0
|
|
||||||
0 0 0 590700 102788 2550840 0 0 6 2 527 470 1 1 98 0 0 0
|
|
||||||
0 0 0 587200 102788 2550928 0 0 13 226 663 628 1 1 97 0 0 0
|
|
||||||
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
|
|
||||||
r b swpd free buff cache si so bi bo in cs us sy id wa st gu
|
|
||||||
0 0 0 585436 102788 2551044 0 0 2 35 517 487 1 1 98 0 0 0
|
|
||||||
0 0 0 587092 102788 2551112 0 0 42 1 590 539 1 1 97 0 0 0
|
|
||||||
0 0 0 587092 102788 2551192 0 0 3 3 490 388 1 1 98 0 0 0
|
|
||||||
=== 모니터링 종료: Thu Sep 17 14:59:51 KST 2026 ===
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
=== 피크 시간대(12:50~15:00) CPU steal·크레딧 여유 분석 ===
|
|
||||||
원본: ../../260915-improve-production/result/peaktime/vmstat_2026091{4,5,6}-1250.log
|
|
||||||
9/14, 9/15 = DB 개선 전 / 9/16 = 개선 후
|
|
||||||
첫 데이터 줄(부팅 이후 누적 평균)을 제외한 779개 샘플
|
|
||||||
|
|
||||||
산출 명령 (vmstat 컬럼: $13=us $14=sy $17=st $3=swpd $7=si $8=so $4=free $6=cache):
|
|
||||||
awk 'NR>3 && NF==18 && $1 ~ /^[0-9]+$/ { ... }' vmstat_YYYYMMDD-1250.log
|
|
||||||
|
|
||||||
t3a.medium 크레딧 베이스라인 = 인스턴스 전체 CPU의 20% (24 credits/시간)
|
|
||||||
따라서 vmstat 의 us+sy 가 20% 를 넘는 구간에서만 크레딧이 순감소한다.
|
|
||||||
|
|
||||||
vmstat_20260914-1250.log
|
|
||||||
steal 평균 0.003% / 최대 1% / 0 초과 샘플 2개
|
|
||||||
us+sy 평균 13.50% / 20%(베이스라인) 초과 샘플 109개 (14.0%)
|
|
||||||
swpd 합 0 / si 합 0 / so 합 0 (스왑 미사용)
|
|
||||||
free 최소 363MB / cache 평균 2485MB
|
|
||||||
|
|
||||||
vmstat_20260915-1250.log
|
|
||||||
steal 평균 0.021% / 최대 2% / 0 초과 샘플 15개
|
|
||||||
us+sy 평균 9.48% / 20%(베이스라인) 초과 샘플 65개 (8.3%)
|
|
||||||
swpd 합 0 / si 합 0 / so 합 0 (스왑 미사용)
|
|
||||||
free 최소 240MB / cache 평균 2671MB
|
|
||||||
|
|
||||||
vmstat_20260916-1250.log
|
|
||||||
steal 평균 0.010% / 최대 1% / 0 초과 샘플 8개
|
|
||||||
us+sy 평균 2.79% / 20%(베이스라인) 초과 샘플 1개 (0.1%)
|
|
||||||
swpd 합 0 / si 합 0 / so 합 0 (스왑 미사용)
|
|
||||||
free 최소 229MB / cache 평균 2549MB
|
|
||||||
|
|
||||||
해석
|
|
||||||
- steal 최대가 9/15 의 2% 로, 크레딧 스로틀링(steal 이 수십 % 로 치솟는 현상)은 전혀 나타나지 않음.
|
|
||||||
- us+sy 평균이 개선 전에도 13.5% 로 베이스라인 20% 미만 → 피크에도 크레딧은 순증하고 있었음.
|
|
||||||
- 20% 초과 샘플이 9/14 109개(14%) → 9/16 1개(0.1%) 로 감소. 인덱스 개선 효과.
|
|
||||||
- 스왑은 설정되지 않았거나 사용된 적 없음(swpd/si/so 모두 0). 메모리 한계 도달 시
|
|
||||||
느려지는 것이 아니라 OOM Killer 가 동작하므로, 메모리 여유는 별도로 감시해야 함.
|
|
||||||
|
|
||||||
결론: 2026-04-14 업그레이드의 직접 원인이었던 "크레딧 소진 → 10초 무응답" 은
|
|
||||||
현재 t3a.medium 사양에서 재현되지 않는다.
|
|
||||||
@@ -73,9 +73,9 @@ class MenuCollection extends DBMethodContainer
|
|||||||
return $this->getTypingAppList($maestroID, $playerID, $appGroup, $language);
|
return $this->getTypingAppList($maestroID, $playerID, $appGroup, $language);
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if($this->writingCollection === null)
|
if($writingCollection === null)
|
||||||
$this->writingCollection = new WritingCollection($this->mysqli);
|
$writingCollection = new WritingCollection($this->mysqli);
|
||||||
$systemWritingList = $this->writingCollection->getSystemList($language);
|
$systemWritingList = $writingCollection->getSystemList($language);
|
||||||
return $systemWritingList;
|
return $systemWritingList;
|
||||||
|
|
||||||
case 4: // mouse play
|
case 4: // mouse play
|
||||||
@@ -142,9 +142,9 @@ class MenuCollection extends DBMethodContainer
|
|||||||
return $this->getTypingActiveAppList($maestroID, $playerID, $appGroup, $language);
|
return $this->getTypingActiveAppList($maestroID, $playerID, $appGroup, $language);
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if($this->writingCollection === null)
|
if($writingCollection === null)
|
||||||
$this->writingCollection = new WritingCollection($this->mysqli);
|
$writingCollection = new WritingCollection($this->mysqli);
|
||||||
$activeSystemWritingList = $this->writingCollection->getActiveSystemList($maestroID, $language);
|
$activeSystemWritingList = $writingCollection->getActiveSystemList($maestroID, $language);
|
||||||
return $activeSystemWritingList;
|
return $activeSystemWritingList;
|
||||||
|
|
||||||
case 4: // mouse play
|
case 4: // mouse play
|
||||||
@@ -199,7 +199,7 @@ class MenuCollection extends DBMethodContainer
|
|||||||
|
|
||||||
|
|
||||||
// highest record list
|
// highest record list
|
||||||
public function getHighestRecordList($maestroID, $playerID, $appGroup, $appList)
|
public function getHighestRecordList($maestroID, $playerID, $appList)
|
||||||
{
|
{
|
||||||
switch($appGroup) {
|
switch($appGroup) {
|
||||||
case 0: // typing practice
|
case 0: // typing practice
|
||||||
@@ -215,20 +215,15 @@ class MenuCollection extends DBMethodContainer
|
|||||||
|
|
||||||
public function getWritingHighestRecordList($maestroID, $playerID, $appList)
|
public function getWritingHighestRecordList($maestroID, $playerID, $appList)
|
||||||
{
|
{
|
||||||
if($this->writingCollection === null)
|
if($writingCollection === null)
|
||||||
$this->writingCollection = new WritingCollection($this->mysqli);
|
$writingCollection = new WritingCollection($this->mysqli);
|
||||||
|
|
||||||
$writingIDs = array();
|
|
||||||
foreach($appList as $app)
|
|
||||||
$writingIDs[] = $app["writingID"];
|
|
||||||
|
|
||||||
$recordMap = $this->writingCollection->getWritingHighestRecordMap($maestroID, $playerID, $writingIDs);
|
|
||||||
|
|
||||||
$highestRecordArray = array();
|
$highestRecordArray = array();
|
||||||
foreach($writingIDs as $writingID) {
|
$count = count($appList);
|
||||||
$highestRecord = array();
|
for($i = 0; $i < $count; $i++) {
|
||||||
|
$writingID = $appList[$i]["writingID"];
|
||||||
$highestRecord["writingID"] = $writingID;
|
$highestRecord["writingID"] = $writingID;
|
||||||
$highestRecord["highestRecord"] = isset($recordMap[$writingID]) ? $recordMap[$writingID] : 0;
|
$highestRecord["highestRecord"] = $writingCollection->getWritingHighestRecord($maestroID, $playerID, $writingID);
|
||||||
array_push($highestRecordArray, $highestRecord);
|
array_push($highestRecordArray, $highestRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,46 +232,35 @@ class MenuCollection extends DBMethodContainer
|
|||||||
|
|
||||||
public function getTypingHighestRecordList($maestroID, $playerID, $appList)
|
public function getTypingHighestRecordList($maestroID, $playerID, $appList)
|
||||||
{
|
{
|
||||||
$appIDs = array();
|
|
||||||
foreach($appList as $app)
|
|
||||||
$appIDs[] = $app["appID"];
|
|
||||||
|
|
||||||
$recordMap = $this->getTypingHighestRecordMap($maestroID, $playerID, $appIDs);
|
|
||||||
|
|
||||||
$highestRecordArray = array();
|
$highestRecordArray = array();
|
||||||
foreach($appIDs as $appID) {
|
$count = count($appList);
|
||||||
$highestRecord = array();
|
for($i = 0; $i < $count; $i++) {
|
||||||
|
$appID = $appList[$i]["appID"];
|
||||||
$highestRecord["appID"] = $appID;
|
$highestRecord["appID"] = $appID;
|
||||||
$highestRecord["highestRecord"] = isset($recordMap[$appID]) ? $recordMap[$appID] : 0;
|
$highestRecord["highestRecord"] = $this->getTypingHighestRecord($maestroID, $playerID, $appID);
|
||||||
array_push($highestRecordArray, $highestRecord);
|
array_push($highestRecordArray, $highestRecord);
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
return $highestRecordArray;
|
return $highestRecordArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getTypingHighestRecordMap($maestroID, $playerID, $appIDs)
|
public function getTypingHighestRecord($maestroID, $playerID, $appID)
|
||||||
{
|
{
|
||||||
$recordMap = array();
|
|
||||||
if(count($appIDs) === 0)
|
|
||||||
return $recordMap;
|
|
||||||
|
|
||||||
// MAX + GROUP BY: UNIQUE 키가 없는 DB에서도 앱당 1행. COALESCE를 쓰면 FLOAT가 DOUBLE로 바뀌어 소수점이 길어짐
|
|
||||||
$placeholders = implode(",", array_fill(0, count($appIDs), "?"));
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT AppID, MAX(HighestRecord)
|
SELECT HighestRecord
|
||||||
FROM app_highest_record
|
FROM app_highest_record
|
||||||
WHERE MaestroID=? AND PlayerID=? AND AppID IN (" . $placeholders . ")
|
WHERE MaestroID=? AND PlayerID=? AND AppID=?";
|
||||||
GROUP BY AppID";
|
|
||||||
$params = array_merge(array($maestroID, $playerID), $appIDs);
|
|
||||||
$stmt = $this->mysqli->prepare($query);
|
$stmt = $this->mysqli->prepare($query);
|
||||||
$stmt->bind_param(str_repeat("i", count($params)), ...$params);
|
$stmt->bind_param("iii", $maestroID, $playerID, $appID);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($appID, $highestRecord);
|
$stmt->bind_result($highestRecord);
|
||||||
while($stmt->fetch())
|
$returnValue = $stmt->fetch();
|
||||||
$recordMap[$appID] = $highestRecord;
|
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
|
||||||
return $recordMap;
|
if($returnValue === NULL || $returnValue === FALSE)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return $highestRecord;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ class TypingExamCollection extends DBMethodContainer
|
|||||||
FROM typing_exam_highest_record
|
FROM typing_exam_highest_record
|
||||||
WHERE MaestroID = ? AND PlayerID = ?";
|
WHERE MaestroID = ? AND PlayerID = ?";
|
||||||
$stmt = $this->mysqli->prepare($query);
|
$stmt = $this->mysqli->prepare($query);
|
||||||
$stmt->bind_param("ii", $maestroID, $playerID);
|
$stmt->bind_param("iii", $maestroID, $playerID);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($typingExamHighestRecordID, $writingID, $highestRecord);
|
$stmt->bind_result($typingExamHighestRecordID, $writingID, $highestRecord);
|
||||||
|
|
||||||
@@ -169,11 +169,12 @@ class TypingExamCollection extends DBMethodContainer
|
|||||||
FROM typing_exam_record
|
FROM typing_exam_record
|
||||||
WHERE MaestroID = ? AND PlayerID = ? AND WritingID = ?
|
WHERE MaestroID = ? AND PlayerID = ? AND WritingID = ?
|
||||||
AND RecordDateTime < DATE(?) + INTERVAL 1 DAY
|
AND RecordDateTime < DATE(?) + INTERVAL 1 DAY
|
||||||
|
AND RecordDateTime >= DATE(?) - INTERVAL 7 DAY
|
||||||
GROUP BY DATE(RecordDateTime)
|
GROUP BY DATE(RecordDateTime)
|
||||||
ORDER BY RecordDateTime DESC
|
ORDER BY RecordDateTime DESC
|
||||||
LIMIT 7";
|
LIMIT 7";
|
||||||
$stmt = $this->mysqli->prepare($query);
|
$stmt = $this->mysqli->prepare($query);
|
||||||
$stmt->bind_param('iiis', $maestroID, $playerID, $writingID, $date);
|
$stmt->bind_param('iisss', $maestroID, $playerID, $writingID, $date, $date);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($date, $highestRecord);
|
$stmt->bind_result($date, $highestRecord);
|
||||||
|
|
||||||
|
|||||||
@@ -66,29 +66,23 @@ class WritingCollection extends DBMethodContainer
|
|||||||
return $writingList;
|
return $writingList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getWritingHighestRecordMap($maestroID, $playerID, $writingIDs)
|
public function getWritingHighestRecord($maestroID, $playerID, $writingID)
|
||||||
{
|
{
|
||||||
$recordMap = array();
|
|
||||||
if(count($writingIDs) === 0)
|
|
||||||
return $recordMap;
|
|
||||||
|
|
||||||
// MAX + GROUP BY: UNIQUE 키가 없는 DB에서도 글당 1행. COALESCE를 쓰면 FLOAT가 DOUBLE로 바뀌어 소수점이 길어짐
|
|
||||||
$placeholders = implode(",", array_fill(0, count($writingIDs), "?"));
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT WritingID, MAX(HighestRecord)
|
SELECT WritingID, HighestRecord
|
||||||
FROM typing_exam_highest_record
|
FROM typing_exam_highest_record
|
||||||
WHERE MaestroID=? AND PlayerID=? AND WritingID IN (" . $placeholders . ")
|
WHERE MaestroID=? AND PlayerID=? AND WritingID=?";
|
||||||
GROUP BY WritingID";
|
|
||||||
$params = array_merge(array($maestroID, $playerID), $writingIDs);
|
|
||||||
$stmt = $this->mysqli->prepare($query);
|
$stmt = $this->mysqli->prepare($query);
|
||||||
$stmt->bind_param(str_repeat("i", count($params)), ...$params);
|
$stmt->bind_param("iii", $maestroID, $playerID, $writingID);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($writingID, $highestRecord);
|
$stmt->bind_result($writingID, $highestRecord);
|
||||||
while($stmt->fetch())
|
$returnValue = $stmt->fetch();
|
||||||
$recordMap[$writingID] = $highestRecord;
|
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
|
|
||||||
return $recordMap;
|
if($returnValue === NULL || $returnValue === FALSE)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return $highestRecord;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ $activeAppList = $menuCollection->getActiveAppList($maestroID, $playerID, $appGr
|
|||||||
if($appGroup === "2") // typing exam
|
if($appGroup === "2") // typing exam
|
||||||
$highestRecordList = $menuCollection->getWritingHighestRecordList($maestroID, $playerID, $appList);
|
$highestRecordList = $menuCollection->getWritingHighestRecordList($maestroID, $playerID, $appList);
|
||||||
else
|
else
|
||||||
$highestRecordList = $menuCollection->getHighestRecordList($maestroID, $playerID, $appGroup, $appList);
|
$highestRecordList = $menuCollection->getHighestRecordList($maestroID, $playerID, $appList);
|
||||||
// $highestRecordList = $menuCollection->getHighestRecordList($maestroID, $playerID, $appList);
|
// $highestRecordList = $menuCollection->getHighestRecordList($maestroID, $playerID, $appList);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ include "./../setup/connect_db.php";
|
|||||||
|
|
||||||
$replyJSON = array();
|
$replyJSON = array();
|
||||||
$replyJSON["HowToPlay"] = get_how_to_play($app_id);
|
$replyJSON["HowToPlay"] = get_how_to_play($app_id);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "히스토리 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||||
$db_conn->close();
|
$db_conn->close();
|
||||||
|
|||||||
@@ -13,6 +13,13 @@ $typingActiveAppList = get_active_typing_app_list($maestro_id);
|
|||||||
$typingPracticeAppCount = get_typing_practice_app_count($maestro_id);
|
$typingPracticeAppCount = get_typing_practice_app_count($maestro_id);
|
||||||
$typingTestAppCount = get_typing_test_app_count($maestro_id);
|
$typingTestAppCount = get_typing_test_app_count($maestro_id);
|
||||||
|
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
set_error_code("no_app_list");
|
||||||
|
set_error_message("앱 목록을 가져오지 못했습니다.");
|
||||||
|
send_result_fail();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
set_data("MouseAppList", $mouseAppList);
|
set_data("MouseAppList", $mouseAppList);
|
||||||
set_data("TypingAppList", $typingAppList);
|
set_data("TypingAppList", $typingAppList);
|
||||||
set_data("MouseActiveAppList", $mouseActiveAppList);
|
set_data("MouseActiveAppList", $mouseActiveAppList);
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ $maestroID = $_POST["maestro_id"];
|
|||||||
|
|
||||||
|
|
||||||
$mouse_app_list = get_mouse_app_list();
|
$mouse_app_list = get_mouse_app_list();
|
||||||
|
if($mouse_app_list.length === 0) {
|
||||||
|
set_error_message("등록된 마우스 앱 없음");
|
||||||
|
send_result_fail();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
$activated_mouse_app_list = get_activated_mouse_app_list($maestroID);
|
$activated_mouse_app_list = get_activated_mouse_app_list($maestroID);
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ $maestroID = $_POST["maestro_id"];
|
|||||||
|
|
||||||
|
|
||||||
$typing_app_list = get_typing_app_list();
|
$typing_app_list = get_typing_app_list();
|
||||||
|
if($typing_app_list.length === 0) {
|
||||||
|
set_error_message("등록된 타자 앱 없음");
|
||||||
|
send_result_fail();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
$activated_typing_app_list = get_activated_typing_app_list($maestroID);
|
$activated_typing_app_list = get_activated_typing_app_list($maestroID);
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ $endNo = $_POST["end_no"];
|
|||||||
|
|
||||||
|
|
||||||
$playerList = get_player_list_page($maestroID, $playerName, $startNo, $endNo);
|
$playerList = get_player_list_page($maestroID, $playerName, $startNo, $endNo);
|
||||||
|
if($playerList.length === 0) {
|
||||||
|
set_error_message("해당 이름으로 등록된 학생 없음");
|
||||||
|
send_result_fail();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
set_data("playerList", $playerList);
|
set_data("playerList", $playerList);
|
||||||
send_result_success();
|
send_result_success();
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ include "./../lib/util_app.php";
|
|||||||
|
|
||||||
|
|
||||||
$replyJSON = get_history_record($maestro_id, $app_id, $player_id, $date);
|
$replyJSON = get_history_record($maestro_id, $app_id, $player_id, $date);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "히스토리 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||||
$db_conn->close();
|
$db_conn->close();
|
||||||
@@ -25,6 +30,7 @@ function get_history_record($maestro_id, $app_id, $player_id, $date) {
|
|||||||
ON BR.AppID = AA.AppID
|
ON BR.AppID = AA.AppID
|
||||||
WHERE BR.MaestroID = ? AND BR.AppID = ? AND BR.PlayerID = ?
|
WHERE BR.MaestroID = ? AND BR.AppID = ? AND BR.PlayerID = ?
|
||||||
AND BR.RecordDateTime < DATE(?) + INTERVAL 1 DAY
|
AND BR.RecordDateTime < DATE(?) + INTERVAL 1 DAY
|
||||||
|
AND BR.RecordDateTime >= DATE(?) - INTERVAL 7 DAY
|
||||||
GROUP BY DATE(BR.RecordDateTime)
|
GROUP BY DATE(BR.RecordDateTime)
|
||||||
ORDER BY DATE(BR.RecordDateTime) DESC
|
ORDER BY DATE(BR.RecordDateTime) DESC
|
||||||
LIMIT 7
|
LIMIT 7
|
||||||
@@ -36,7 +42,7 @@ function get_history_record($maestro_id, $app_id, $player_id, $date) {
|
|||||||
$query = "SELECT DATE(BR.RecordDateTime) AS Date, MIN(BR.BestRecord) AS HighScore, AA.AppName AS AppName".$query;
|
$query = "SELECT DATE(BR.RecordDateTime) AS Date, MIN(BR.BestRecord) AS HighScore, AA.AppName AS AppName".$query;
|
||||||
}
|
}
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param('iiis', $maestro_id, $app_id, $player_id, $date);
|
$stmt->bind_param('iisss', $maestro_id, $app_id, $player_id, $date, $date);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($date, $score, $app_name);
|
$stmt->bind_result($date, $score, $app_name);
|
||||||
|
|
||||||
@@ -46,6 +52,7 @@ function get_history_record($maestro_id, $app_id, $player_id, $date) {
|
|||||||
$history_record['HighScore'] = $score;
|
$history_record['HighScore'] = $score;
|
||||||
$history_record['AppName'] = $app_name;
|
$history_record['AppName'] = $app_name;
|
||||||
array_push($history_record_array, $history_record);
|
array_push($history_record_array, $history_record);
|
||||||
|
array_push($return_array, $history_record);
|
||||||
}
|
}
|
||||||
$return_array['history'] = $history_record_array;
|
$return_array['history'] = $history_record_array;
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ include "./../lib/util_app.php";
|
|||||||
|
|
||||||
|
|
||||||
$replyJSON = get_ranking_record_day($maestro_id, $date, $app_id);
|
$replyJSON = get_ranking_record_day($maestro_id, $date, $app_id);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "오늘의 랭킹 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||||
$db_conn->close();
|
$db_conn->close();
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ include "./../lib/util_app.php";
|
|||||||
|
|
||||||
|
|
||||||
$replyJSON = get_ranking_record_hour($maestro_id, $date, $time, $app_id);
|
$replyJSON = get_ranking_record_hour($maestro_id, $date, $time, $app_id);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "수업시간 랭킹 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||||
$db_conn->close();
|
$db_conn->close();
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ include "./../lib/util_app.php";
|
|||||||
|
|
||||||
|
|
||||||
$replyJSON = get_ranking_record_month($maestro_id, $date, $time, $app_id);
|
$replyJSON = get_ranking_record_month($maestro_id, $date, $time, $app_id);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "이달의 랭킹 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||||
$db_conn->close();
|
$db_conn->close();
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ include "./../lib/app_highest_record.php";
|
|||||||
|
|
||||||
$replyJSON = array();
|
$replyJSON = array();
|
||||||
$replyJSON["AppHighestRecord"] = get_app_highest_record($maestro_id, $app_id, $player_id);
|
$replyJSON["AppHighestRecord"] = get_app_highest_record($maestro_id, $app_id, $player_id);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "히스토리 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
|
||||||
$db_conn->close();
|
$db_conn->close();
|
||||||
|
|||||||
@@ -5,15 +5,36 @@ include "./../lib/send_reply_json.php";
|
|||||||
include "./../lib/maestro_account_info.php";
|
include "./../lib/maestro_account_info.php";
|
||||||
include "./../setup/connect_db.php";
|
include "./../setup/connect_db.php";
|
||||||
|
|
||||||
$maestro_id = (int)$_POST["MaestroID"];
|
$maestro_id = $_POST["MaestroID"];
|
||||||
$start_date = $_POST["StartDate"];
|
$start_date = $_POST["StartDate"];
|
||||||
$end_date = $_POST["EndDate"];
|
$end_date = $_POST["EndDate"];
|
||||||
$player_name = trim($_POST["PlayerNameList"]);
|
$player_name_list = $_POST["PlayerNameList"];
|
||||||
$app_id = (int)$_POST["AppID"];
|
$app_id = $_POST["AppID"];
|
||||||
$limit_count = (int)$_POST["LimitCount"];
|
$limit_count = $_POST["LimitCount"];
|
||||||
|
|
||||||
$recordTotalCount = get_player_record_total_count($maestro_id, $start_date, $end_date, $player_name, $app_id);
|
// echo "start_date : ".$start_date."\n";
|
||||||
$replyJSON = get_player_record_list($maestro_id, $start_date, $end_date, $player_name, $app_id, $limit_count);
|
// echo "end_date : ".$end_date."\n";
|
||||||
|
// echo "player_name_list : ".$player_name_list."\n";
|
||||||
|
// echo "app_id : ".$app_id."\n";
|
||||||
|
// echo "limit_count : ".$limit_count."\n";
|
||||||
|
// echo "\n";
|
||||||
|
|
||||||
|
$date_statement = makeDateStatement($start_date, $end_date);
|
||||||
|
$player_name_statement = makePlayerNameStatement($player_name_list);
|
||||||
|
$subject_statement = makeSubjectSentence($app_id);
|
||||||
|
// echo "maestro : ".$maestro_id."\n";
|
||||||
|
// echo "date : ".$date_statement."\n";
|
||||||
|
// echo "player_name : ".$player_name_statement."\n";
|
||||||
|
// echo "subject : ".$subject_statement."\n";
|
||||||
|
$where_statement = make_where_statement($date_statement, $player_name_statement, $subject_statement);
|
||||||
|
|
||||||
|
$recordTotalCount = get_player_record_total_count($maestro_id, $where_statement);
|
||||||
|
$replyJSON = get_player_record_list($maestro_id, $where_statement, $limit_count);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "오늘의 랭킹 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
set_data("RecordTotalCount", $recordTotalCount);
|
set_data("RecordTotalCount", $recordTotalCount);
|
||||||
set_data("RecordList", $replyJSON);
|
set_data("RecordList", $replyJSON);
|
||||||
@@ -21,52 +42,117 @@ send_result_success();
|
|||||||
exit;
|
exit;
|
||||||
|
|
||||||
|
|
||||||
function get_subject_app_range($app_id) {
|
|
||||||
switch ($app_id) {
|
|
||||||
case 0: return null;
|
function makeDateStatement($start_date, $end_date) {
|
||||||
case 1000: return array(1, 8);
|
return " '".$start_date."' <= BR.RecordDateTime AND BR.RecordDateTime <= DATE_ADD('".$end_date."', INTERVAL 1 DAY)";
|
||||||
case 1001: return array(11, 18);
|
// return " '2017-01-01' < BR.RecordDateTime AND BR.RecordDateTime < '".$end_date."'";
|
||||||
case 1002: return array(21, 30);
|
}
|
||||||
case 1003: return array(31, 40);
|
|
||||||
default: return array($app_id, $app_id);
|
function makeSubjectSentence($app_id) {
|
||||||
|
if($app_id == 0)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
$subject_statement = "";
|
||||||
|
if(is_subject_bundle_item($app_id)) {
|
||||||
|
switch($app_id) {
|
||||||
|
case 1000: // korean practice
|
||||||
|
$subject_statement = $subject_statement."A.AppID < 9";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1001: // english practice
|
||||||
|
$subject_statement = $subject_statement."10 < A.AppID AND A.AppID < 19";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1002: // korean test
|
||||||
|
$subject_statement = $subject_statement."20 < A.AppID AND A.AppID < 31";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1003: // english test
|
||||||
|
$subject_statement = $subject_statement."30 < A.AppID AND A.AppID < 41";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$subject_statement = $subject_statement."A.AppID = ".$app_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $subject_statement." AND BR.AppID = A.AppID";
|
||||||
|
}
|
||||||
|
|
||||||
|
function makePlayerNameStatement($player_name_list) {
|
||||||
|
$player_name_statement = "BR.PlayerID = P.PlayerID";
|
||||||
|
if(strlen($player_name_list) > 0)
|
||||||
|
$player_name_statement = $player_name_statement." AND P.Name LIKE '%".$player_name_list."%'";
|
||||||
|
|
||||||
|
return $player_name_statement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function get_player_record_total_count($maestro_id, $start_date, $end_date, $player_name, $app_id) {
|
function is_subject_bundle_item($app_id) {
|
||||||
|
if($app_id >= 1000)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_where_statement($date_statement, $player_name_statement, $subject_statement) {
|
||||||
|
// add date condition
|
||||||
|
$where_statement = $date_statement;
|
||||||
|
if(strlen($where_statement) > 0 and strlen($player_name_statement) > 0)
|
||||||
|
$where_statement = $where_statement." AND ";
|
||||||
|
|
||||||
|
// add player name condition
|
||||||
|
$where_statement = $where_statement.$player_name_statement;
|
||||||
|
|
||||||
|
// add subject condition
|
||||||
|
if(strlen($where_statement) > 0 and strlen($subject_statement) > 0)
|
||||||
|
$where_statement = $where_statement." AND ";
|
||||||
|
$where_statement = $where_statement.$subject_statement;
|
||||||
|
|
||||||
|
return $where_statement;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
function get_player_record_count($maestro_id, $where_statement, $limit_count) {
|
||||||
global $db_conn;
|
global $db_conn;
|
||||||
|
|
||||||
$where = array(
|
|
||||||
"BR.MaestroID = ?",
|
|
||||||
"BR.RecordDateTime >= DATE(?)",
|
|
||||||
"BR.RecordDateTime < DATE(?) + INTERVAL 1 DAY",
|
|
||||||
"BR.PlayerID = P.PlayerID",
|
|
||||||
"BR.AppID = A.AppID",
|
|
||||||
);
|
|
||||||
$types = "iss";
|
|
||||||
$params = array($maestro_id, $start_date, $end_date);
|
|
||||||
|
|
||||||
if (strlen($player_name) > 0) {
|
|
||||||
$where[] = "P.Name LIKE ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "%" . $player_name . "%";
|
|
||||||
}
|
|
||||||
|
|
||||||
$range = get_subject_app_range($app_id);
|
|
||||||
if ($range !== null) {
|
|
||||||
$where[] = "BR.AppID BETWEEN ? AND ?";
|
|
||||||
$types .= "ii";
|
|
||||||
$params[] = $range[0];
|
|
||||||
$params[] = $range[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
FROM best_record BR, player P, app A
|
FROM best_record BR, player P, app A
|
||||||
WHERE " . implode(" AND ", $where);
|
WHERE BR.MaestroID = ? AND ".$where_statement."
|
||||||
|
";
|
||||||
|
|
||||||
|
if($limit_count > 0)
|
||||||
|
$query = $query." LIMIT ".$limit_count;
|
||||||
|
|
||||||
|
// echo $query;
|
||||||
|
// return;
|
||||||
|
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param($types, ...$params);
|
$stmt->bind_param("i", $maestro_id);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->bind_result($record_count);
|
||||||
|
$stmt->fetch();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
return $record_count;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function get_player_record_total_count($maestro_id, $where_statement) {
|
||||||
|
global $db_conn;
|
||||||
|
|
||||||
|
$query = "
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM best_record BR, player P, app A
|
||||||
|
WHERE BR.MaestroID = ? AND ".$where_statement."
|
||||||
|
";
|
||||||
|
|
||||||
|
// echo $query;
|
||||||
|
// return;
|
||||||
|
|
||||||
|
$stmt = $db_conn->prepare($query);
|
||||||
|
$stmt->bind_param("i", $maestro_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($record_count);
|
$stmt->bind_result($record_count);
|
||||||
$stmt->fetch();
|
$stmt->fetch();
|
||||||
@@ -75,63 +161,38 @@ function get_player_record_total_count($maestro_id, $start_date, $end_date, $pla
|
|||||||
return $record_count;
|
return $record_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_player_record_list($maestro_id, $where_statement, $limit_count) {
|
||||||
function get_player_record_list($maestro_id, $start_date, $end_date, $player_name, $app_id, $limit_count) {
|
|
||||||
global $db_conn;
|
global $db_conn;
|
||||||
|
|
||||||
$where = array(
|
|
||||||
"BR.MaestroID = ?",
|
|
||||||
"BR.RecordDateTime >= DATE(?)",
|
|
||||||
"BR.RecordDateTime < DATE(?) + INTERVAL 1 DAY",
|
|
||||||
"BR.PlayerID = P.PlayerID",
|
|
||||||
"BR.AppID = A.AppID",
|
|
||||||
);
|
|
||||||
$types = "iss";
|
|
||||||
$params = array($maestro_id, $start_date, $end_date);
|
|
||||||
|
|
||||||
if (strlen($player_name) > 0) {
|
|
||||||
$where[] = "P.Name LIKE ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "%" . $player_name . "%";
|
|
||||||
}
|
|
||||||
|
|
||||||
$range = get_subject_app_range($app_id);
|
|
||||||
if ($range !== null) {
|
|
||||||
$where[] = "BR.AppID BETWEEN ? AND ?";
|
|
||||||
$types .= "ii";
|
|
||||||
$params[] = $range[0];
|
|
||||||
$params[] = $range[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT BR.BestRecordID, DATE(BR.RecordDateTime), TIME(BR.RecordDateTime),
|
SELECT BR.BestRecordID AS Id, DATE(BR.RecordDateTime) AS Date, TIME(BR.RecordDateTime) AS Time,
|
||||||
P.Name, A.KoreanName, BR.BestRecord
|
P.Name AS Name, A.KoreanName AS Subject, BR.BestRecord AS Record
|
||||||
FROM best_record BR, player P, app A
|
FROM best_record BR, player P, app A
|
||||||
WHERE " . implode(" AND ", $where) . "
|
WHERE BR.MaestroID = ? AND ".$where_statement."
|
||||||
ORDER BY BR.RecordDateTime DESC";
|
ORDER BY BR.RecordDateTime DESC
|
||||||
|
";
|
||||||
|
|
||||||
if ($limit_count > 0) {
|
if($limit_count > 0)
|
||||||
$query .= " LIMIT ?";
|
$query = $query." LIMIT ".$limit_count;
|
||||||
$types .= "i";
|
|
||||||
$params[] = $limit_count;
|
// echo $query;
|
||||||
}
|
// return;
|
||||||
|
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param($types, ...$params);
|
$stmt->bind_param('i', $maestro_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($id, $date, $time, $player_name_result, $subject, $record);
|
$stmt->bind_result($id, $date, $time, $player_name, $subject, $record);
|
||||||
|
|
||||||
$record_array = array();
|
$record_array = array();
|
||||||
while($stmt->fetch()) {
|
while($stmt->fetch()) {
|
||||||
$record_date['Id'] = $id;
|
$record_date['Id'] = $id;
|
||||||
$record_date['Date'] = $date;
|
$record_date['Date'] = $date;
|
||||||
$record_date['Time'] = $time;
|
$record_date['Time'] = $time;
|
||||||
$record_date['PlayerName'] = $player_name_result;
|
$record_date['PlayerName'] = $player_name;
|
||||||
$record_date['Subject'] = $subject;
|
$record_date['Subject'] = $subject;
|
||||||
$record_date['Record'] = $record;
|
$record_date['Record'] = $record;
|
||||||
array_push($record_array, $record_date);
|
array_push($record_array, $record_date);
|
||||||
}
|
}
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
return $record_array;
|
return $record_array;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,15 +5,36 @@ include "./../lib/send_reply_json.php";
|
|||||||
include "./../lib/maestro_account_info.php";
|
include "./../lib/maestro_account_info.php";
|
||||||
include "./../setup/connect_db.php";
|
include "./../setup/connect_db.php";
|
||||||
|
|
||||||
$maestro_id = (int)$_POST["MaestroID"];
|
$maestro_id = $_POST["MaestroID"];
|
||||||
$start_date = $_POST["StartDate"];
|
$start_date = $_POST["StartDate"];
|
||||||
$end_date = $_POST["EndDate"];
|
$end_date = $_POST["EndDate"];
|
||||||
$player_name = trim($_POST["PlayerNameList"]);
|
$player_name_list = $_POST["PlayerNameList"];
|
||||||
$app_id = (int)$_POST["AppID"];
|
$app_id = $_POST["AppID"];
|
||||||
$limit_count = (int)$_POST["LimitCount"];
|
$limit_count = $_POST["LimitCount"];
|
||||||
|
|
||||||
$recordTotalCount = get_player_record_total_count($maestro_id, $start_date, $end_date, $player_name, $app_id);
|
// echo "start_date : ".$start_date."\n";
|
||||||
$replyJSON = get_player_record_list($maestro_id, $start_date, $end_date, $player_name, $app_id, $limit_count);
|
// echo "end_date : ".$end_date."\n";
|
||||||
|
// echo "player_name_list : ".$player_name_list."\n";
|
||||||
|
// echo "app_id : ".$app_id."\n";
|
||||||
|
// echo "limit_count : ".$limit_count."\n";
|
||||||
|
// echo "\n";
|
||||||
|
|
||||||
|
$date_statement = makeDateStatement($start_date, $end_date);
|
||||||
|
$player_name_statement = makePlayerNameStatement($player_name_list);
|
||||||
|
$subject_statement = makeSubjectSentence($app_id);
|
||||||
|
// echo "maestro : ".$maestro_id."\n";
|
||||||
|
// echo "date : ".$date_statement."\n";
|
||||||
|
// echo "player_name : ".$player_name_statement."\n";
|
||||||
|
// echo "subject : ".$subject_statement."\n";
|
||||||
|
$where_statement = make_where_statement($date_statement, $player_name_statement, $subject_statement);
|
||||||
|
|
||||||
|
$recordTotalCount = get_player_record_total_count($maestro_id, $where_statement);
|
||||||
|
$replyJSON = get_player_record_list($maestro_id, $where_statement, $limit_count);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "오늘의 랭킹 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
set_data("RecordTotalCount", $recordTotalCount);
|
set_data("RecordTotalCount", $recordTotalCount);
|
||||||
set_data("RecordList", $replyJSON);
|
set_data("RecordList", $replyJSON);
|
||||||
@@ -21,52 +42,119 @@ send_result_success();
|
|||||||
exit;
|
exit;
|
||||||
|
|
||||||
|
|
||||||
function get_subject_app_range($app_id) {
|
|
||||||
switch ($app_id) {
|
|
||||||
case 0: return null;
|
function makeDateStatement($start_date, $end_date) {
|
||||||
case 1000: return array(1, 8);
|
return " '".$start_date."' < LS.ScoreDateTime AND LS.ScoreDateTime < '".$end_date."'";
|
||||||
case 1001: return array(11, 18);
|
// return " '2017-01-01' < LS.ScoreDateTime AND LS.ScoreDateTime < '".$end_date."'";
|
||||||
case 1002: return array(21, 30);
|
}
|
||||||
case 1003: return array(31, 40);
|
|
||||||
case 3000: return null;
|
function makeSubjectSentence($app_id) {
|
||||||
default: return array($app_id, $app_id);
|
if($app_id == 0)
|
||||||
|
return "";
|
||||||
|
else if($app_id == 3000)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
$subject_statement = "";
|
||||||
|
if(is_subject_bundle_item($app_id)) {
|
||||||
|
switch($app_id) {
|
||||||
|
case 1000: // korean practice
|
||||||
|
$subject_statement = $subject_statement."A.AppID < 9";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1001: // english practice
|
||||||
|
$subject_statement = $subject_statement."10 < A.AppID AND A.AppID < 19";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1002: // korean test
|
||||||
|
$subject_statement = $subject_statement."20 < A.AppID AND A.AppID < 31";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1003: // english test
|
||||||
|
$subject_statement = $subject_statement."30 < A.AppID AND A.AppID < 41";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$subject_statement = $subject_statement."A.AppID = ".$app_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $subject_statement." AND LS.AppID = A.AppID";
|
||||||
|
}
|
||||||
|
|
||||||
|
function makePlayerNameStatement($player_name_list) {
|
||||||
|
$player_name_statement = "LS.PlayerID = P.PlayerID";
|
||||||
|
if(strlen($player_name_list) > 0)
|
||||||
|
$player_name_statement = $player_name_statement." AND P.Name LIKE '%".$player_name_list."%'";
|
||||||
|
|
||||||
|
return $player_name_statement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function get_player_record_total_count($maestro_id, $start_date, $end_date, $player_name, $app_id) {
|
function is_subject_bundle_item($app_id) {
|
||||||
|
if($app_id >= 1000)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_where_statement($date_statement, $player_name_statement, $subject_statement) {
|
||||||
|
// add date condition
|
||||||
|
$where_statement = $date_statement;
|
||||||
|
if(strlen($where_statement) > 0 and strlen($player_name_statement) > 0)
|
||||||
|
$where_statement = $where_statement." AND ";
|
||||||
|
|
||||||
|
// add player name condition
|
||||||
|
$where_statement = $where_statement.$player_name_statement;
|
||||||
|
|
||||||
|
// add subject condition
|
||||||
|
if(strlen($where_statement) > 0 and strlen($subject_statement) > 0)
|
||||||
|
$where_statement = $where_statement." AND ";
|
||||||
|
$where_statement = $where_statement.$subject_statement;
|
||||||
|
|
||||||
|
return $where_statement;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
function get_player_record_count($maestro_id, $where_statement, $limit_count) {
|
||||||
global $db_conn;
|
global $db_conn;
|
||||||
|
|
||||||
$where = array(
|
|
||||||
"LS.MaestroID = ?",
|
|
||||||
"LS.ScoreDateTime >= DATE(?)",
|
|
||||||
"LS.ScoreDateTime < DATE(?) + INTERVAL 1 DAY",
|
|
||||||
"LS.PlayerID = P.PlayerID",
|
|
||||||
);
|
|
||||||
$types = "iss";
|
|
||||||
$params = array($maestro_id, $start_date, $end_date);
|
|
||||||
|
|
||||||
if (strlen($player_name) > 0) {
|
|
||||||
$where[] = "P.Name LIKE ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "%" . $player_name . "%";
|
|
||||||
}
|
|
||||||
|
|
||||||
$range = get_subject_app_range($app_id);
|
|
||||||
if ($range !== null) {
|
|
||||||
$where[] = "LS.AppID BETWEEN ? AND ?";
|
|
||||||
$types .= "ii";
|
|
||||||
$params[] = $range[0];
|
|
||||||
$params[] = $range[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
FROM license_score LS, player P
|
FROM license_score LS, player P
|
||||||
WHERE " . implode(" AND ", $where);
|
WHERE LS.MaestroID = ? AND ".$where_statement."
|
||||||
|
";
|
||||||
|
|
||||||
|
if($limit_count > 0)
|
||||||
|
$query = $query." LIMIT ".$limit_count;
|
||||||
|
|
||||||
|
// echo $query;
|
||||||
|
// return;
|
||||||
|
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param($types, ...$params);
|
$stmt->bind_param("i", $maestro_id);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->bind_result($record_count);
|
||||||
|
$stmt->fetch();
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
return $record_count;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function get_player_record_total_count($maestro_id, $where_statement) {
|
||||||
|
global $db_conn;
|
||||||
|
|
||||||
|
$query = "
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM license_score LS, player P
|
||||||
|
WHERE LS.MaestroID = ? AND ".$where_statement."
|
||||||
|
";
|
||||||
|
|
||||||
|
// echo $query;
|
||||||
|
// return;
|
||||||
|
|
||||||
|
$stmt = $db_conn->prepare($query);
|
||||||
|
$stmt->bind_param("i", $maestro_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($record_count);
|
$stmt->bind_result($record_count);
|
||||||
$stmt->fetch();
|
$stmt->fetch();
|
||||||
@@ -75,62 +163,38 @@ function get_player_record_total_count($maestro_id, $start_date, $end_date, $pla
|
|||||||
return $record_count;
|
return $record_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_player_record_list($maestro_id, $where_statement, $limit_count) {
|
||||||
function get_player_record_list($maestro_id, $start_date, $end_date, $player_name, $app_id, $limit_count) {
|
|
||||||
global $db_conn;
|
global $db_conn;
|
||||||
|
|
||||||
$where = array(
|
|
||||||
"LS.MaestroID = ?",
|
|
||||||
"LS.ScoreDateTime >= DATE(?)",
|
|
||||||
"LS.ScoreDateTime < DATE(?) + INTERVAL 1 DAY",
|
|
||||||
"LS.PlayerID = P.PlayerID",
|
|
||||||
);
|
|
||||||
$types = "iss";
|
|
||||||
$params = array($maestro_id, $start_date, $end_date);
|
|
||||||
|
|
||||||
if (strlen($player_name) > 0) {
|
|
||||||
$where[] = "P.Name LIKE ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "%" . $player_name . "%";
|
|
||||||
}
|
|
||||||
|
|
||||||
$range = get_subject_app_range($app_id);
|
|
||||||
if ($range !== null) {
|
|
||||||
$where[] = "LS.AppID BETWEEN ? AND ?";
|
|
||||||
$types .= "ii";
|
|
||||||
$params[] = $range[0];
|
|
||||||
$params[] = $range[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT LS.LicenseScoreID, DATE(LS.ScoreDateTime), TIME(LS.ScoreDateTime),
|
SELECT LS.LicenseScoreID AS ID, DATE(LS.ScoreDateTime) AS Date, TIME(LS.ScoreDateTime) AS Time,
|
||||||
P.Name, LS.SubjectName, LS.Score
|
P.Name AS Name, LS.SubjectName AS Subject, LS.Score AS Record
|
||||||
FROM license_score LS, player P
|
FROM license_score LS, player P
|
||||||
WHERE " . implode(" AND ", $where) . "
|
WHERE LS.MaestroID = ? AND ".$where_statement."
|
||||||
ORDER BY LS.ScoreDateTime DESC";
|
ORDER BY LS.ScoreDateTime DESC
|
||||||
|
";
|
||||||
|
|
||||||
if ($limit_count > 0) {
|
if($limit_count > 0)
|
||||||
$query .= " LIMIT ?";
|
$query = $query." LIMIT ".$limit_count;
|
||||||
$types .= "i";
|
|
||||||
$params[] = $limit_count;
|
// echo $query;
|
||||||
}
|
// return;
|
||||||
|
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param($types, ...$params);
|
$stmt->bind_param('i', $maestro_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($id, $date, $time, $player_name_result, $subject, $record);
|
$stmt->bind_result($id, $date, $time, $player_name, $subject, $record);
|
||||||
|
|
||||||
$record_array = array();
|
$record_array = array();
|
||||||
while($stmt->fetch()) {
|
while($stmt->fetch()) {
|
||||||
$record_date['Id'] = $id;
|
$record_date['Id'] = $id;
|
||||||
$record_date['Date'] = $date;
|
$record_date['Date'] = $date;
|
||||||
$record_date['Time'] = $time;
|
$record_date['Time'] = $time;
|
||||||
$record_date['PlayerName'] = $player_name_result;
|
$record_date['PlayerName'] = $player_name;
|
||||||
$record_date['Subject'] = $subject;
|
$record_date['Subject'] = $subject;
|
||||||
$record_date['Record'] = $record;
|
$record_date['Record'] = $record;
|
||||||
array_push($record_array, $record_date);
|
array_push($record_array, $record_date);
|
||||||
}
|
}
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
return $record_array;
|
return $record_array;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,15 +5,37 @@ include "./../lib/send_reply_json.php";
|
|||||||
include "./../lib/maestro_account_info.php";
|
include "./../lib/maestro_account_info.php";
|
||||||
include "./../setup/connect_db.php";
|
include "./../setup/connect_db.php";
|
||||||
|
|
||||||
$maestro_id = (int)$_POST["MaestroID"];
|
$maestro_id = $_POST["MaestroID"];
|
||||||
$start_date = $_POST["StartDate"];
|
$start_date = $_POST["StartDate"];
|
||||||
$end_date = $_POST["EndDate"];
|
$end_date = $_POST["EndDate"];
|
||||||
$player_name = trim($_POST["PlayerNameList"]);
|
$player_name_list = $_POST["PlayerNameList"];
|
||||||
$app_id = (int)$_POST["AppID"];
|
$app_id = $_POST["AppID"];
|
||||||
$limit_count = (int)$_POST["LimitCount"];
|
$limit_count = $_POST["LimitCount"];
|
||||||
|
// echo "start_date : ".$start_date."\n";
|
||||||
|
// echo "end_date : ".$end_date."\n";
|
||||||
|
// echo "player_name_list : ".$player_name_list."\n";
|
||||||
|
// echo "app_id : ".$app_id."\n";
|
||||||
|
// echo "limit_count : ".$limit_count."\n";
|
||||||
|
// echo "\n";
|
||||||
|
|
||||||
$recordTotalCount = get_player_record_total_count($maestro_id, $start_date, $end_date, $player_name, $app_id);
|
$date_statement = makeDateStatement($start_date, $end_date);
|
||||||
$replyJSON = get_player_record_list($maestro_id, $start_date, $end_date, $player_name, $app_id, $limit_count);
|
$player_name_statement = makePlayerNameStatement($player_name_list);
|
||||||
|
$subject_statement = makeSubjectSentence($app_id);
|
||||||
|
$where_statement = make_where_statement($date_statement, $player_name_statement, $subject_statement);
|
||||||
|
// echo "maestro : ".$maestro_id."\n";
|
||||||
|
// echo "date : ".$date_statement."\n";
|
||||||
|
// echo "player_name : ".$player_name_statement."\n";
|
||||||
|
// echo "subject : ".$subject_statement."\n";
|
||||||
|
// echo "where_statement : ".$where_statement."\n";
|
||||||
|
|
||||||
|
$recordTotalCount = get_player_record_total_count($maestro_id, $where_statement);
|
||||||
|
// echo "recordTotalCount : ".$recordTotalCount."\n";
|
||||||
|
$replyJSON = get_player_record_list($maestro_id, $where_statement, $limit_count);
|
||||||
|
if($replyJSON.length === 0) {
|
||||||
|
send_error_message($replyJSON, "오늘의 랭킹 기록 없음");
|
||||||
|
$db_conn->close();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
set_data("RecordTotalCount", $recordTotalCount);
|
set_data("RecordTotalCount", $recordTotalCount);
|
||||||
set_data("RecordList", $replyJSON);
|
set_data("RecordList", $replyJSON);
|
||||||
@@ -21,48 +43,84 @@ send_result_success();
|
|||||||
exit;
|
exit;
|
||||||
|
|
||||||
|
|
||||||
function get_player_record_total_count($maestro_id, $start_date, $end_date, $player_name, $app_id) {
|
|
||||||
global $db_conn;
|
|
||||||
|
|
||||||
$where = array(
|
|
||||||
"TE.MaestroID = ?",
|
|
||||||
"TE.RecordDateTime >= DATE(?)",
|
|
||||||
"TE.RecordDateTime < DATE(?) + INTERVAL 1 DAY",
|
|
||||||
"TE.PlayerID = P.PlayerID",
|
|
||||||
"TE.WritingID = WR.WritingID",
|
|
||||||
);
|
|
||||||
$types = "iss";
|
|
||||||
$params = array($maestro_id, $start_date, $end_date);
|
|
||||||
|
|
||||||
if (strlen($player_name) > 0) {
|
function makeDateStatement($start_date, $end_date) {
|
||||||
$where[] = "P.Name LIKE ?";
|
return " '".$start_date."' <= TE.RecordDateTime AND TE.RecordDateTime <= DATE_ADD('".$end_date."', INTERVAL 1 DAY)";
|
||||||
$types .= "s";
|
// return " '".$start_date."' <= TE.RecordDateTime AND TE.RecordDateTime <= '".$end_date."'";
|
||||||
$params[] = "%" . $player_name . "%";
|
// return " '2017-01-01' < TE.RecordDateTime";
|
||||||
}
|
// return " '2017-01-01' < TE.RecordDateTime AND TE.RecordDateTime < '".$end_date."'";
|
||||||
|
}
|
||||||
|
|
||||||
if ($app_id > 0) {
|
function makeSubjectSentence($app_id) {
|
||||||
if ($app_id == 1004) {
|
if($app_id == 0)
|
||||||
$where[] = "WR.Language = ?";
|
return "";
|
||||||
$types .= "s";
|
|
||||||
$params[] = "korean";
|
$subject_statement = "";
|
||||||
} else if ($app_id == 1005) {
|
if(is_subject_bundle_item($app_id)) {
|
||||||
$where[] = "WR.Language = ?";
|
switch($app_id) {
|
||||||
$types .= "s";
|
case 1004: // korean exam
|
||||||
$params[] = "english";
|
$subject_statement = $subject_statement."WR.Language='korean'";
|
||||||
} else {
|
break;
|
||||||
$where[] = "WR.WritingID = ?";
|
|
||||||
$types .= "i";
|
case 1005: // english exam
|
||||||
$params[] = $app_id;
|
$subject_statement = $subject_statement."WR.Language='english'";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$subject_statement = $subject_statement."WR.WritingID=".$app_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $subject_statement." AND TE.WritingID=WR.WritingID";
|
||||||
|
}
|
||||||
|
|
||||||
|
function makePlayerNameStatement($player_name_list) {
|
||||||
|
$player_name_statement = "TE.PlayerID=P.PlayerID";
|
||||||
|
if(strlen($player_name_list) > 0)
|
||||||
|
$player_name_statement = $player_name_statement." AND P.Name LIKE '%".$player_name_list."%'";
|
||||||
|
|
||||||
|
return $player_name_statement;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function is_subject_bundle_item($app_id) {
|
||||||
|
if($app_id >= 1000)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_where_statement($date_statement, $player_name_statement, $subject_statement) {
|
||||||
|
// add date condition
|
||||||
|
$where_statement = $date_statement;
|
||||||
|
if(strlen($where_statement) > 0 and strlen($player_name_statement) > 0)
|
||||||
|
$where_statement = $where_statement." AND ";
|
||||||
|
|
||||||
|
// add player name condition
|
||||||
|
$where_statement = $where_statement.$player_name_statement;
|
||||||
|
|
||||||
|
// add subject condition
|
||||||
|
if(strlen($where_statement) > 0 and strlen($subject_statement) > 0)
|
||||||
|
$where_statement = $where_statement." AND ";
|
||||||
|
$where_statement = $where_statement.$subject_statement;
|
||||||
|
|
||||||
|
return $where_statement;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_player_record_total_count($maestro_id, $where_statement) {
|
||||||
|
global $db_conn;
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT COUNT(*)
|
SELECT COUNT(*)
|
||||||
FROM typing_exam_record TE, player P, writing WR
|
FROM typing_exam_record TE, player P, writing WR
|
||||||
WHERE " . implode(" AND ", $where);
|
WHERE TE.MaestroID = ? AND ".$where_statement."
|
||||||
|
";
|
||||||
|
|
||||||
|
// echo $query;
|
||||||
|
// return;
|
||||||
|
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param($types, ...$params);
|
$stmt->bind_param("i", $maestro_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($record_count);
|
$stmt->bind_result($record_count);
|
||||||
$stmt->fetch();
|
$stmt->fetch();
|
||||||
@@ -71,71 +129,38 @@ function get_player_record_total_count($maestro_id, $start_date, $end_date, $pla
|
|||||||
return $record_count;
|
return $record_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_player_record_list($maestro_id, $where_statement, $limit_count) {
|
||||||
function get_player_record_list($maestro_id, $start_date, $end_date, $player_name, $app_id, $limit_count) {
|
|
||||||
global $db_conn;
|
global $db_conn;
|
||||||
|
|
||||||
$where = array(
|
|
||||||
"TE.MaestroID = ?",
|
|
||||||
"TE.RecordDateTime >= DATE(?)",
|
|
||||||
"TE.RecordDateTime < DATE(?) + INTERVAL 1 DAY",
|
|
||||||
"TE.PlayerID = P.PlayerID",
|
|
||||||
"TE.WritingID = WR.WritingID",
|
|
||||||
);
|
|
||||||
$types = "iss";
|
|
||||||
$params = array($maestro_id, $start_date, $end_date);
|
|
||||||
|
|
||||||
if (strlen($player_name) > 0) {
|
|
||||||
$where[] = "P.Name LIKE ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "%" . $player_name . "%";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($app_id > 0) {
|
|
||||||
if ($app_id == 1004) {
|
|
||||||
$where[] = "WR.Language = ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "korean";
|
|
||||||
} else if ($app_id == 1005) {
|
|
||||||
$where[] = "WR.Language = ?";
|
|
||||||
$types .= "s";
|
|
||||||
$params[] = "english";
|
|
||||||
} else {
|
|
||||||
$where[] = "WR.WritingID = ?";
|
|
||||||
$types .= "i";
|
|
||||||
$params[] = $app_id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = "
|
$query = "
|
||||||
SELECT TE.TypingExamRecordID, DATE(TE.RecordDateTime), TIME(TE.RecordDateTime),
|
SELECT TE.TypingExamRecordID as Id, DATE(TE.RecordDateTime) AS Date, TIME(TE.RecordDateTime) AS Time,
|
||||||
P.Name, WR.Name, TE.Record
|
P.Name AS Name, WR.Name AS Subject, TE.Record AS Record
|
||||||
FROM typing_exam_record TE, player P, writing WR
|
FROM typing_exam_record TE, player P, writing WR
|
||||||
WHERE " . implode(" AND ", $where) . "
|
WHERE TE.MaestroID = ? AND TE.WritingID=WR.WritingID AND TE.PlayerID=P.PlayerID AND ".$where_statement."
|
||||||
ORDER BY TE.RecordDateTime DESC";
|
ORDER BY TE.RecordDateTime DESC
|
||||||
|
";
|
||||||
|
|
||||||
if ($limit_count > 0) {
|
if($limit_count > 0)
|
||||||
$query .= " LIMIT ?";
|
$query = $query." LIMIT ".$limit_count;
|
||||||
$types .= "i";
|
|
||||||
$params[] = $limit_count;
|
// echo $query;
|
||||||
}
|
// return;
|
||||||
|
|
||||||
$stmt = $db_conn->prepare($query);
|
$stmt = $db_conn->prepare($query);
|
||||||
$stmt->bind_param($types, ...$params);
|
$stmt->bind_param('i', $maestro_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$stmt->bind_result($id, $date, $time, $player_name_result, $subject, $record);
|
$stmt->bind_result($id, $date, $time, $player_name, $subject, $record);
|
||||||
|
|
||||||
$record_array = array();
|
$record_array = array();
|
||||||
while($stmt->fetch()) {
|
while($stmt->fetch()) {
|
||||||
$record_date['Id'] = $id;
|
$record_date['Id'] = $id;
|
||||||
$record_date['Date'] = $date;
|
$record_date['Date'] = $date;
|
||||||
$record_date['Time'] = $time;
|
$record_date['Time'] = $time;
|
||||||
$record_date['PlayerName'] = $player_name_result;
|
$record_date['PlayerName'] = $player_name;
|
||||||
$record_date['Subject'] = $subject;
|
$record_date['Subject'] = $subject;
|
||||||
$record_date['Record'] = $record;
|
$record_date['Record'] = $record;
|
||||||
array_push($record_array, $record_date);
|
array_push($record_array, $record_date);
|
||||||
}
|
}
|
||||||
$stmt->close();
|
|
||||||
|
|
||||||
return $record_array;
|
return $record_array;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user