performance engineering challenges

Author

monika testhouse

Monika Srivastava

Test Specialist - Performance


Oversees end-to-end quality engineering across digital platforms, ensuring performance, reliability, and customer experience are integrated throughout the delivery lifecycle. She focuses on shaping testing strategy, driving modern quality engineering practices, and enabling teams to deliver scalable, resilient, and high-quality applications with speed and confidence. Working closely with stakeholders, product teams, and engineers, Monika contributes to performance assurance initiatives by identifying bottlenecks, supporting optimization efforts, and driving consistent quality outcomes. With experience across enterprise and cloud-based applications, she is focused on helping organizations build reliable, scalable, and efficient digital solutions that support evolving customer and business needs.

Social Share

There is a moment most travel platform teams are now experiencing for the first time.

The AI-powered booking assistant is live. The conversational search feature is generating rave reviews from product managers. The personalised itinerary engine is pulling data from a dozen microservices in real time.

And then peak season arrives.

Response times climb. The AI layer starts queuing. The booking funnel drops. Users abandon. And the engineering team realises something uncomfortable:

The intelligence they shipped is now the bottleneck they didn’t test.

Welcome to one of the most underexplored challenges in modern travel technology – performance engineering for Generative AI systems.

We’ve worked across travel and hospitality platforms, embedding non-functional engineering into delivery from the architecture stage through to production. And right now, the pattern we’re seeing most consistently is this:

Organisations are racing to deploy GenAI capabilities. But almost none of them are engineering those capabilities to perform, scale, and fail gracefully.

That needs to change.

The New Stack is Fundamentally Different

Before GenAI, a typical travel platform request – say, searching for available hotels in Dubai for a long weekend, followed a relatively predictable path. A query hit an API, a database returned results, a response rendered in under a second. Load testing was about throughput. Performance was about latency percentiles. Scaling was about replicas.

GenAI changes every assumption in that model.

When you introduce a Large Language Model (LLM) into a travel booking flow, you are no longer working with deterministic, stateless operations. You are working with:

  • Variable token generation times that depend on prompt complexity and model load
  • Context window management that affects both cost and latency at scale
  • Non-deterministic outputs that make regression testing and SLO definition genuinely difficult
  • Third-party model API dependencies sitting inside your critical booking path
  • Multi-step agent chains where each hop introduces latency, and a slow step poisons the entire journey

A traditional load test asking, “how many concurrent users can we handle?” barely scratches the surface of what you need to validate. In a GenAI-augmented travel platform, the question becomes: how does every layer of this AI pipeline behave when 50,000 users ask it something unexpected at the same time?

The LLM is Not Just Slow, It is Unpredictably Slow

Here is something performance engineers need to understand immediately about LLMs: their latency is non-linear.

In standard microservices, latency under load increases predictably. You can model it, trend it, and set thresholds. Under heavy load, LLM response times do not increase gracefully, they spike, stall, and in some cases, time out entirely. The token generation rate drops. The model API queues fill up. And every downstream service waiting on that response is now blocked.

In one travel platform scenario we analysed, an AI-powered search assistant that returned results in 1.2 seconds during off-peak hours routinely degraded to 8–12 seconds during peak booking windows. The root cause wasn’t computed. It was:

  • Prompt length variance – users typing longer, more complex queries at peak
  • Context accumulation in multi-turn conversations consuming more tokens per request
  • External model API rate limiting throttling requests silently
  • No circuit breaker protecting downstream services from the cascading wait

None of this showed up in pre-production testing, because the team had only tested the happy path at moderate concurrency. They had never injected the conditions that production delivers.

Performance Engineering for AI-Augmented Travel Systems

The discipline of performance engineering has to evolve to address GenAI systems. Based on what we’re seeing across travel and hospitality platforms, here is what that practically means.

Token Throughput Is Your New Metric

Traditional performance tests measure requests per second and response time percentiles. For LLM-backed features, you need an additional layer of measurement:

  • Tokens per second – how fast is the model generating output under load?
  • Time-to-first-token (TTFT) – how quickly does the AI layer begin responding? This directly affects perceived latency.
  • Context window utilisation – are your prompts growing inefficiently across multi-turn conversations?
  • Model API error rate – how often is your GenAI provider returning 429s, 503s, or timeouts?

If you are only measuring end-to-end response time without decomposing the AI layer’s contribution, you are flying blind.

Define SLOs for Non-Deterministic Systems

Service Level Objectives for AI systems require a different approach. A traditional SLO might say: “99% of hotel search requests will respond in under 800ms.” For GenAI features, you need layered SLOs:

  • Latency SLO for the AI layer independently – separate from the broader booking journey
  • Degraded mode SLO – what is acceptable when the LLM is slow? Cached response? Fallback to rule-based search?
  • Accuracy-under-load SLO – are responses still contextually correct at 80% capacity versus 100%?

The third point is one most performance engineers haven’t confronted before. LLM outputs can degrade qualitatively under load, not just in speed, but in coherence. Performance engineering in GenAI systems must include response quality as a non-functional requirement.

Load Testing Must Simulate Real AI Interaction Patterns

In travel platforms, AI workloads are not uniform. A user booking a leisure holiday generates very different load from a corporate travel manager running itinerary comparisons across twenty destinations. Your performance test scenarios must reflect this:

  • Short, transactional AI queries – “Book a sea-view room in Bali for three nights”
  • Long, contextual conversations – multi-turn itinerary planning that accumulates context
  • Concurrent agent chains – searches that trigger multiple sub-calls (flights + hotels + transfers + visa requirements)
  • Burst patterns – flash demand at midnight when a Flash Sale launches and 40,000 users simultaneously ask the AI assistant for the best deal


Chaos Engineering the AI Layer, Where Most Teams Are Not Looking

If performance testing is underinvested for GenAI systems, chaos engineering is almost entirely absent. This is the gap that concerns me most.

Standard chaos engineering injects infrastructure failures – kill a pod, throttle a network link, saturate a database connection pool. These are still important. But in a GenAI-augmented travel platform, there is an entirely new category of failure modes that chaos experiments must cover.

Third-Party Model API Failures

The most critical dependency in your GenAI stack is one you don’t control, the model provider. Whether you are using OpenAI, Anthropic, Azure OpenAI, or a self-hosted model, that dependency sits inside your booking-critical path.

Your chaos engineering programme must deliberately simulate:

  • Model API timeouts – what happens when the AI layer doesn’t respond within 5 seconds?
  • Rate limit responses (HTTP 429) – how does your platform handle a sudden surge that exceeds your quota?
  • Partial model degradation – the API responds, but quality drops. Does your system detect this?
  • Provider regional outages – if your model endpoint is US-East and there is a regional incident, does traffic failover or does the entire AI feature fail?

Without these experiments in place before a major travel demand event – say, the 2026 FIFA World Cup driving millions of concurrent booking searches, you are discovering failure modes in production.

Prompt Injection and Context Poisoning Under Load

This is an emerging chaos engineering discipline that travel platforms need to take seriously. What happens when a malformed prompt, either through user error or adversarial input – causes your LLM to generate an unusually long response? Or loops the agent chain? Or sends the context window to capacity?

Test these deliberately. Inject:

  • Extremely long prompts that push context limits
  • Circular agent queries that create resolution loops
  • Multilingual inputs that cause tokenisation overhead spikes
  • Structured data payloads that exceed expected input size

Observe how the AI pipeline degrades, and more importantly, whether your circuit breakers and fallback mechanisms activate.

The Slow AI Failure Mode

The most dangerous failure in a GenAI travel platform is not a crash. It is a slow degradation where the AI layer responds but takes 6–8 seconds instead of 1–2. Users don’t see an error. They see a loading spinner. Conversion rates drop silently. By the time operations notice, the booking window has passed.

This is the cloud-native equivalent of thread pool starvation, invisible at the infrastructure level, catastrophic at the business level.

Your chaos experiments must include AI response latency injection:

  • Introduce artificial 3-second, 5-second, and 10-second delays into the model API response
  • Observe cascading impact on the booking funnel
  • Validate that your timeout policies, circuit breakers, and fallback UX actually trigger correctly

If your platform has no fallback when the AI layer is slow – no cached suggestions, no rule-based search, no graceful degradation, that is a critical architectural gap.

Observability Specific to AI Pipelines

Standard APM dashboards won’t surface AI-specific failure signals. Your observability stack needs to track:

  • LLM API p95 and p99 latency – separately from application latency
  • Token consumption rate per request type
  • Fallback activation frequency – how often is your circuit breaker opening?Response quality signals – where appropriate, sampling outputs for coherence validation
  • Agent chain step latency – identifying which hop in a multi-step AI workflow is the slowest

Without this visibility, performance optimisation of AI features is guesswork.

How We Are Approaching This at Testhouse

The pattern we’ve seen with GenAI in travel platforms mirrors what we saw with cloud-native microservices for few of our instances. Teams adopt the technology rapidly, deliver impressive capability, and then discover that the non-functional engineering work was never done.

At Testhouse, we have extended our APM-led Performance Engineering as a Service (PEaS) framework to address AI-augmented systems specifically. This means:

  • AI workload modelling – characterising the performance profile of LLM calls within broader booking journeys
  • Token-aware load test design – building scenario libraries that reflect real AI interaction patterns, not just HTTP throughput
  • AI chaos experiment libraries – pre-built failure injection scenarios for model API degradation, prompt overflow, and agent chain disruption
  • Observability layer extension – integrating LLM-specific telemetry alongside standard APM signals
  • Fallback validation – verifying that graceful degradation paths activate correctly under controlled chaos conditions

The methodology doesn’t change – engineer performance intentionally, observe continuously, validate realistically. The toolset and the mental model of what constitutes a failure, however, are entirely new.

Final Thoughts

Generative AI is genuinely transforming the travel experience. Personalised itineraries, conversational booking, intelligent pricing, real-time recommendations – all these are not marketing concepts. They are live features, in production, today.

But intelligent experience and intelligent bottleneck are separated by one thing: whether non-functional engineering was applied with the same rigour to the AI layer as to the systems it was built alongside.

The travel platforms that will lead in 2026 and beyond are not simply the ones that deployed GenAI first. They are the ones that deployed it with performance SLOs, chaos-validated resilience, and observability pipelines capable of surfacing AI-specific failure modes before users do.

Because in a booking flow, the AI doesn’t get the benefit of the doubt. If it’s slow, users leave. If it fails silently, revenue disappears. And if there’s no fallback, trust erodes  and trust in travel platforms is notoriously hard to rebuild.

The question is not whether GenAI belongs in your travel platform. It absolutely does.

The question is whether your performance engineering practice is ready for it.

If it isn’t, that’s where the work begins.