mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Restructured from flat .tex/.pdf files into per-paper subdirectories. Added Antje Worring as co-author on all papers. Synced PDFs to pdfs/ for download site.
69 lines
2.0 KiB
TeX
69 lines
2.0 KiB
TeX
\section{Performance and Scalability}
|
|
|
|
|
|
\subsection{Production Metrics (5 Years)}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{@{}lll@{}}
|
|
\toprule
|
|
\textbf{Metric} & \textbf{Value} & \textbf{Notes} \\ \midrule
|
|
Total Users & 250,000+ & Across mainnet and testnet \\
|
|
Daily Active Users & 15,000+ & 6\% DAU/MAU ratio \\
|
|
Authentication Requests & 5M+/day & Peak: 12M/day \\
|
|
Latency (p50) & 45 ms & OAuth token issuance \\
|
|
Latency (p99) & 180 ms & Including database queries \\
|
|
Availability & 99.95\% & 4.4 hours downtime/year \\
|
|
WebAuthn Adoption & 12\% & Growing 2\% per quarter \\
|
|
Web3 Wallet Auth & 8\% & 20,000 unique addresses \\ \bottomrule
|
|
\end{tabular}
|
|
\caption{Lux ID Production Metrics (2020-2025)}
|
|
\end{table}
|
|
|
|
\subsection{Scalability Architecture}
|
|
|
|
\subsubsection{Horizontal Scaling}
|
|
|
|
\begin{itemize}
|
|
\item Stateless backend: Deploy multiple instances behind load balancer
|
|
\item Session storage in Redis cluster (3-node quorum)
|
|
\item Database read replicas for high-read workloads
|
|
\end{itemize}
|
|
|
|
\subsubsection{Caching Strategy}
|
|
|
|
\begin{itemize}
|
|
\item User profiles: Redis cache (5-minute TTL)
|
|
\item JWKS: In-memory cache (1-hour TTL)
|
|
\item DID Documents: CDN + Redis (15-minute TTL)
|
|
\end{itemize}
|
|
|
|
\subsubsection{Rate Limiting}
|
|
|
|
Prevent abuse via token bucket algorithm:
|
|
\begin{itemize}
|
|
\item Login attempts: 5 per 15 minutes per IP
|
|
\item Token requests: 100 per hour per client
|
|
\item DID resolution: 1,000 per hour per IP
|
|
\end{itemize}
|
|
|
|
\subsection{Benchmarking}
|
|
|
|
\textbf{Test Setup}: 8-core CPU, 16GB RAM, MySQL 8.0, Redis 7.0
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{@{}lll@{}}
|
|
\toprule
|
|
\textbf{Operation} & \textbf{Throughput} & \textbf{Latency (p50)} \\ \midrule
|
|
OAuth Authorization & 1,200 req/s & 35 ms \\
|
|
Token Exchange & 800 req/s & 52 ms \\
|
|
UserInfo Query & 2,500 req/s & 18 ms \\
|
|
WebAuthn Challenge & 1,000 req/s & 28 ms \\
|
|
WebAuthn Verify & 600 req/s & 75 ms \\
|
|
DID Resolution & 3,000 req/s & 12 ms \\ \bottomrule
|
|
\end{tabular}
|
|
\caption{Single-Instance Benchmarks}
|
|
\end{table}
|
|
|