A rundown of OBSERVE's adaptation across Kunpeng, Phytium, Hygon, and Loongson CPUs plus Kylin, UOS, and openEuler, with steps for swapping in DM8 and KingbaseES, performance notes, and a migration checklist.
Xinchuang migration isn't swapping one machine — it's replacing the entire stack layer by layer. OBSERVE's current adaptation status across those layers:
Every row in that table has passed a full test matrix, not just a theoretical claim. We still recommend a smoke test against your own workload before go-live, because differences in domestic environments tend to surface in drivers and character sets.
A lot of Xinchuang migrations fail because teams try to swap CPU, OS, and database in a single window, then can't tell which layer caused a problem. The right order is "one layer at a time, verify each": swap the CPU first (keeping an x86 OS), then the OS, then the database. Run a regression and a load test after each layer, and only move on once performance and functionality show no regression. OBSERVE's adaptation testing follows the same order, which is why you can mix layers individually instead of waiting for an entire Xinchuang environment to be ready in one shot.
For a mid-sized team (a few hundred machines, a few dozen services), a full-stack Xinchuang migration typically runs in three phases: evaluation and selection (2-4 weeks, running compatibility tests and choosing the database), gray migration (4-6 weeks, moving log storage first, then metadata, then the query nodes), and parallel operation (2-4 weeks, running old and new environments side by side and comparing search results and alert output). Budget 2-3 months overall. The database migration is the biggest variable — leave enough parallel-run time, because the pitfalls in a Xinchuang environment tend to surface only when real traffic hits it.
Using DM8, the most common choice, as the example, replacing the default storage repository works like this:
COMPATIBLE_MODE=4 (MySQL-compatible) to minimize SQL differences; for KingbaseES, choose the PostgreSQL-compatible mode instead.storage.conf:storage:
driver: dm
host: dm-host
port: 5236
user: observe
password: "******"
pool_max: 50
jjhub-storage check to validate the connection and table-creation scripts, export the existing data and import it, then spot-check log search results to confirm nothing is lost.On a typical Kunpeng 920 + Kylin V10 + DM8 stack, OBSERVE's log ingestion throughput is roughly on par with x86, while search latency runs about 10% higher. The gap that does exist comes from two places:
-XX:+UseG1GC with an explicit heap size to avoid frequent GC under default settings.For reference, our test cluster — Kunpeng 920 (64 cores) + DM8 + a three-node OBSERVE — sustains about 200,000 log lines per second of ingestion, with a P95 under 300ms for single-keyword searches over seven days of data. Your numbers will differ by workload, but the order of magnitude is a useful planning baseline.
uname -m output.check script against the test database before cutting over.