46 lines
3.1 KiB
Markdown
46 lines
3.1 KiB
Markdown
# drhider — тесты реальной обфускации и фикс .doc (2026-08-23, v0.0.60–0.0.61)
|
||
|
||
_Кластер `naeel-test-3`, v0.0.60 → v0.0.61. Корпус: `/mnt/y/T` (flat+many, 309 файлов pdf/doc/docx)._
|
||
|
||
## Проблема: .doc не конвертируется (v0.0.60)
|
||
Симптом: `.doc`-файлы в ZIP с заглушкой
|
||
`[DOC — conversion failed: libreoffice: failed to launch javaldx - java may not function correctly]`.
|
||
|
||
**Диагностика:**
|
||
- `.doc` конвертирует сервис **liberta** (`CONVERT_SERVICE_URL` дефолт
|
||
`https://liberta.containerk8s.dev.nubes.ru/convert`; в деплое не переопределён).
|
||
- liberta **жива** (200 на `/` и `/health`), последовательный `/convert` — 200 (~3с).
|
||
- **Под нагрузкой падает**: 5 параллельных `/convert` → 2-3 возвращают 500 `javaldx`
|
||
(JVM/libreoffice не тянет конкурентность).
|
||
- drhider конвертировал `.doc` **параллельно** (ThreadPoolExecutor max_workers=4 в `obfuscator.py`)
|
||
→ бил liberta потоком → часть конверсий падала.
|
||
|
||
## Фикс: v0.0.61 — параллельность убрана
|
||
- `obfuscator.py`: удалён ThreadPoolExecutor — `.doc` конвертируются **последовательно**.
|
||
- `scanner.py`: `_LLM_CONCURRENCY = 1` — LLM-чанки **последовательно**.
|
||
- Версия 0.0.60 → 0.0.61.
|
||
|
||
## Результаты после фикса (v0.0.61)
|
||
|
||
### Контрольный .doc (7 файлов)
|
||
Все конвертируются по 2.4–3.9с (реальное время), **javaldx-ошибок нет**.
|
||
Единственный FAIL — `mini_78b` (78 байт, битый файл) → «conversion produced no .docx» (не связано с параллельностью).
|
||
|
||
### Полный набор (30 файлов)
|
||
upload=30, zip=25 (5 мини-PDF пустые), **convfail=1** (только mini_78b), mapping=86,
|
||
tokens=61983, llm=79.9с, proc=118.9с. Сравнение с v0.0.60 (было 7 convfail) — регрессий нет.
|
||
|
||
### Долгий прогон (2×100 файлов)
|
||
| Сессия | upload | zip | convfail | mapping | tokens | llm | всего |
|
||
|---|---|---|---|---|---|---|---|
|
||
| SET1 | 100 | 99 | 0 | 430 | 700474 | 985с | 1142.5с |
|
||
| SET2 | 100 | 98 | 0 | 493 | 671170 | 841с | 972.1с |
|
||
| Итого | 200 | 197 | **0** | 923 | ~1.37 млн | ~1826с | ~35 мин |
|
||
|
||
## Выводы
|
||
1. `.doc`/liberta починено: **0 ошибок конверсии на 200 файлах**.
|
||
2. Обфускация на объёме стабильна (923 замены, без регрессий).
|
||
3. Цена «без параллельности» (по требованию): LLM-этап медленнее
|
||
(100 файлов ≈ 16–19 мин; с параллельностью было бы ~4× быстрее).
|
||
4. Файлы вне ZIP (2–3 шт) — битые/пустые PDF (нет текста), не ошибка.
|