Dust and Stars - 1992 | Chapter 309 | Array and Gradient | English
The second basement level of the electronics market had no windows. The air was a mix of the plastic smell of anti-static bags, th
Chapter 309: Array and Gradient
The second basement level of the electronics market had no windows. The air was a mix of the plastic smell of anti-static bags, the metallic rust of old computer cases, and the rosin scent of cheap solder. Lin Chen followed Su Man through a narrow aisle. Shelves on both sides were piled with salvaged parts, their labels handwritten with power-on hours and write cycles, the ink blurred by dust.
“This one.” Su Man stopped at a counter, pointing to an Intel S3700. The casing had scratches, but the SATA connector’s gold fingers were clean, with no signs of oxidation or blackening.
Lin Chen crouched down. Bending his knee pulled at the fascia in his left leg, sending a dull ache through it. He clenched his back teeth, connected his laptop via an adapter cable, and opened a terminal. He typed smartctl -a. The data loaded. Power-on time: 14,000 hours. Health: 92%. Bad block mapping table normal. Reallocated sector count: zero. He looked up at the shopkeeper behind the counter. “Two. Same batch. Stripe alignment must match. Mismatched batches will cause latency jitter.”
The owner was a balding middle-aged man, quoting prices with a cigarette dangling from his lips. Su Man haggled. Lin Chen stayed silent, his fingers in his pocket gripping a hardcover notebook of past mistakes. The stiff edge dug into his fingertips. He was running calculations in his head: RAID 0 had no redundancy. The probability of both drives failing simultaneously was extremely low, but a single drive overheating and throttling would directly tank IOPS. He’d need heatsinks and direct fan airflow. The budget was pinned to the red line. No going over.
They settled on three hundred eighty for the pair. Adding the adapter card and four SATA cables, it fit exactly.
Back at the temporary server room, it was two in the afternoon. Sunlight filtered through the blinds, casting striped shadows on the dusty concrete floor. Lin Chen set the equipment case on a folding table and unpacked it. He used a screwdriver to remove the chassis panel and secure the drive cage. His movements were slow. His left foot couldn’t bear weight, so he shifted his center of gravity to his right leg and the table’s edge. Every screw he tightened sent a dull throb through the old injury in his knee. He paused, took a deep breath, and continued.
“I’ve got the environment ready.” Su Man connected the monitor. “Ubuntu 20.04, kernel parameters tuned. net.ipv4.tcp_tw_reuse is enabled, file descriptors bumped to 65,000. Swap is off to prevent disk swapping during stress tests.”
“Run the baseline first.” Lin Chen plugged in the drives and connected the power. He powered on the system. The fans roared to life. He logged in, used mdadm to build the RAID 0 array, and set the stripe size to 128K. Alignment check passed. He formatted it as ext4, mounted it, and ran fio. Sequential read/write hit 2,000 MB/s. Random 4K read/write stabilized at 80,000 IOPS. Median latency: 0.4 milliseconds.
“It’s enough.” Su Man watched the screen. “What about the stress test script?”
“Modifying it now.” Lin Chen opened a terminal and pulled up the Locust configuration file. He split the concurrency gradient into five stages: 1,000, 5,000, 10,000, 20,000, and 50,000. Each stage would hold for ten minutes. The request payload simulated real business traffic, complete with JWT authentication and dynamic parameters. He added a hook function: if response time exceeded 200 milliseconds, it would automatically flag as degraded without interrupting the test, but the distribution would be logged.
“Capital wants certainty,” he murmured, repeating the line he’d written the night before. “We’ll give them the trajectory.”
Four in the afternoon. The script was deployed. The monitoring dashboard lit up, Grafana’s line charts starting at zero. Lin Chen dry-swallowed a painkiller and took a sip of cold water. The pill slid down his esophagus, leaving a faint bitter aftertaste. He sat on a folding chair, propping his left foot flat on a raised cardboard box to avoid pressure.
“Start,” he said.
Su Man hit Enter.
The terminal began scrolling logs. Concurrency started at 1,000. CPU usage: 15%. Memory stable. Network throughput: 200 Mbps. The latency curve hugged the bottom.
5,000. CPU jumped to 40%. The fan noise grew heavier. Median latency: 0.6 milliseconds. Normal.
10,000. CPU at 68%. SSD temperature: 42°C. IOPS began climbing. Lin Chen stared at the heatmap on the screen. Request distribution was even. No avalanche.
20,000. CPU at 89%. Fans running at full speed. The room’s temperature rose noticeably. Lin Chen’s left leg began to cramp. The muscles twitched uncontrollably. He pressed his hand firmly against his knee, pushing down until the pain overrode the spasm. On the screen, the latency curve spiked for the first time—120 milliseconds—then fell back.
“Connection pool is full.” Su Man typed rapidly. “I’m adjusting max_connections.”
“Don’t touch it.” Lin Chen kept his eyes on the monitor. “It’s a TCP handshake queue overflow. Change net.core.somaxconn and restart the network stack. Doing it now will drop connections. Wait for this wave to pass.”
He waited. The curve hovered at the peak for three seconds, then dropped. The system had adapted.
30,000. CPU maxed out. SSD temperature: 51°C. Median latency jumped to 180 milliseconds. IOPS stalled at 65,000, refusing to climb higher.
“Bottleneck is the disk queue depth,” Lin Chen said. “RAID 0’s scheduler is mq-deadline. Switch it to none. Bypass to the underlying layer.”
Su Man executed the command. The terminal flickered. The curve dipped briefly, then rebounded. IOPS broke through 70,000. Latency stabilized under 200 milliseconds.
40,000. The server room felt like a steamer. Lin Chen’s shirt was soaked through on the back. The numbness in his left leg had spread to his calf. He couldn’t feel his toes anymore, only a deep, aching soreness in the bones. He closed his eyes and listened to the fan noise. It was the machine breathing. It was also money burning.
45,000. The latency curve began to jitter. Not a smooth climb, but a sawtooth pattern. Peaks breached 300 milliseconds.
“Thermal throttling.” Lin Chen opened his eyes. “The SSD controller is downclocking. Grab a fan. Blow it directly at the drive cage.”
Su Man dragged over an industrial fan and aimed it into the chassis. Cold air rushed in. The temperature curve slowly receded. The latency sawteeth flattened out.
50,000. The deadline target.
Concurrency maxed out. Terminal logs scrolled frantically. CPU usage: 100%. Memory: 92%. SSD temperature: 58°C, nearing the safety threshold. Median latency: 210 milliseconds. IOPS held steady at 78,000.
Lin Chen stared at the monitoring dashboard. The curve didn’t crash. No cliff drop. It oscillated at a high level, but the trajectory was clear.
“Log it,” he said. “Drop the sampling rate to 0.5 seconds. Keep the raw logs.”
Su Man nodded. Her fingers flew across the keyboard.
Ten minutes. Test complete. Concurrency dropped to zero. The fan noise gradually subsided. Only the faint whir of spinning-down drives remained in the room.
Lin Chen leaned back in his chair and exhaled slowly. His left foot had completely lost sensation. He tried to wiggle his toes. Nothing. He looked down and rolled up his pant leg. The calf muscle was rigid as stone.
“Data exported.” Su Man handed him a USB drive. “I’ve filled out the stress test report template. Latency distribution, IOPS curves, error rates, resource utilization. It’s all there.”
Lin Chen took the drive. The metal casing was cold. He plugged it into his laptop and opened the file. The tables were neat, the charts clear. Every metric was within threshold. For a seventy-two-hour deadline, they’d run the core pipeline in under eight hours.
But he didn’t save it immediately. He scrolled to the last line of the logs.
WARNING: NVMe controller temperature threshold exceeded. Performance throttling active.
Not the SSDs. It was the NVMe cache drive on the motherboard. During the test, to accelerate log writes, he had temporarily redirected system logs to that old cache drive. It had withstood 50,000 concurrent connections, but the temperature curve showed an abnormal spike in the final two minutes. If the committee’s network environment was more complex during the live demo, and log volume doubled, that drive would drop offline.
Dropping offline meant the stress test would abort. Aborting meant losing the bet.
Lin Chen stared at the warning line. His fingers tapped lightly twice on the desk.
“Su Man.” His voice was flat. “Redirect log output to a RAM disk. tmpfs. Mount two gigabytes. During the demo, don’t write to disk, only to memory. Flush to disk asynchronously afterward.”
“A RAM disk loses data on power loss.”
“The demo won’t lose it,” Lin Chen said. “Capital looks at real-time trajectories, not persistence. We’re giving them certainty, not a safe.”
Su Man was silent for two seconds, then nodded. “Understood. I’ll change it now.”
Lin Chen closed his laptop. Outside, the sky had darkened. City lights flickered on. He gripped the table edge to stand. When his left foot touched the ground, it felt like stepping on cotton. He needed to go to the hospital for a nerve block, or at least swap to a better brace. But tomorrow at nine a.m., the committee would conduct a preliminary review of the stress test environment. They had less than twenty hours.
His phone vibrated.
A message from Zhao Qiming’s assistant: Committee has temporarily adjusted the process. Tomorrow's preliminary review adds an on-site network topology verification. Please prepare physical link diagrams and firewall policy whitelists.
Lin Chen looked at the screen. On-site verification. Whitelists.
He looked down, opened his mistake notebook, and wrote on a fresh page: RAM disk async flush. Physical link diagram. Whitelist traversal. Closed-network degradation fallback plan.
The pen tip paused. He added a line: Certainty isn't in the machine. It's in the redundancy.
He closed the notebook, picked up his jacket. His left foot dragged on the floor, making a faint scraping sound. Next step: draw the topology diagram.
More from WayDigital
Continue through other published articles from the same publisher.
Comments
0 public responses
All visitors can read comments. Sign in to join the discussion.
Log in to comment