*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:’Segoe UI’,sans-serif;color:#1e293b;line-height:1.7;background:#f8fafc;}
.container{max-width:820px;margin:0 auto;padding:24px 16px;}
h1{font-size:2rem;font-weight:800;color:#0D1B2A;line-height:1.25;margin-bottom:18px;}
h2{font-size:1.45rem;font-weight:700;color:#1D4ED8;margin:36px 0 14px;}
h3{font-size:1.1rem;font-weight:700;color:#0D1B2A;margin:20px 0 8px;}
p{margin-bottom:14px;font-size:1rem;}
ul,ol{padding-left:22px;margin-bottom:16px;}
li{margin-bottom:8px;font-size:1rem;}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:0.93rem;}
th{background:#1D4ED8;color:#fff;padding:10px 12px;text-align:left;}
td{padding:9px 12px;border-bottom:1px solid #e2e8f0;}
tr:nth-child(even) td{background:#f1f5f9;}
pre{background:#1e293b;color:#e2e8f0;padding:20px;border-radius:8px;overflow-x:auto;font-size:0.88rem;line-height:1.6;white-space:pre-wrap;margin:16px 0;}
.takeaway{background:#EEF2FF;border-left:4px solid #4F46E5;border-radius:0 8px 8px 0;padding:16px 20px;margin:18px 0;}
.takeaway strong{color:#4F46E5;display:block;margin-bottom:4px;}
.tl-dr{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:18px 22px;margin:20px 0;}
.tl-dr h3{color:#16a34a;margin-bottom:10px;}
.gai-table-wrap{overflow-x:auto;margin:20px 0;}
.gai-table-wrap table{margin:0;}
@media(max-width:600px){h1{font-size:1.5rem;}h2{font-size:1.2rem;}.gai-table-wrap{font-size:13px;}.gai-table-wrap th,.gai-table-wrap td{padding:7px 8px;}}
Performance Testing with JMeter 2026: Load Testing Guide for QA Engineers
Direct Answer: Performance testing is no longer optional — 53% of users abandon websites that take longer than 3 seconds to load, and a 1-second delay in page response reduces conversions by 7%. Apache JMeter is the most widely used open-source performance testing tool in 2026, with support for HTTP/HTTPS, JDBC, SOAP, REST, FTP, and more. It is free, Java-based, and runs in both GUI mode (for test design) and CLI mode (for execution and CI/CD integration). QA engineers with performance testing skills earn ₹6-12 LPA at mid-level and ₹15-20 LPA at senior level in India. This guide covers the five types of performance tests, JMeter’s core components, KPI benchmarks, CI/CD pipeline integration, and the mistakes that invalidate test results.
TL;DR — Performance Testing with JMeter 2026
- Why it matters: 53% user abandonment at 3+ second load times. Google uses Core Web Vitals as a ranking factor. Performance failures cost revenue directly.
- What JMeter does: Apache open-source, Java-based load testing tool. Supports HTTP, HTTPS, JDBC, SOAP, REST, FTP, LDAP, and custom protocols via plugins.
- 5 test types: Load test (expected traffic), stress test (beyond capacity), spike test (sudden surges), endurance test (sustained load), scalability test (growth readiness).
- Core components: Thread Groups (virtual users), Samplers (requests), Listeners (results), Assertions (validations), Timers (think time).
- Key KPIs: Response time (<2s), throughput (requests/sec), error rate (<1%), concurrent users, 90th/95th percentile latency.
- CI/CD integration: JMeter CLI mode + Jenkins/GitHub Actions for automated performance gates in every build.
- Salary India 2026: Mid-level ₹6-12 LPA, senior ₹15-20 LPA. Demand driven by e-commerce, banking (UPI), and SaaS platforms.
- Alternatives: Gatling (Scala, developer-friendly), k6 (JavaScript, cloud-native), Locust (Python), Artillery (Node.js).
What Is Performance Testing and Why Every QA Engineer Needs It in 2026
Performance testing measures how a system behaves under load — its speed, stability, scalability, and resource utilisation when real users interact with it simultaneously. It is not about finding functional bugs. Functional testing tells you whether the login button works. Performance testing tells you whether the login button works when 10,000 users click it at the same time during a flash sale. These are fundamentally different questions, and both must be answered before any production deployment.
The business case is unambiguous. A 1-second delay in page load time reduces customer satisfaction by 16%, page views by 11%, and conversion rates by 7%. Amazon calculated that every 100ms of latency costs them 1% in revenue. For Indian e-commerce platforms handling Diwali sales, banking applications processing UPI transactions during salary day, and SaaS platforms onboarding enterprise clients — performance failures are not inconveniences. They are revenue events. When Flipkart’s Big Billion Days sale goes live, the platform must handle a traffic spike from 2 million to 50 million concurrent users within minutes. Without systematic performance testing, that transition crashes servers, loses sales, and damages brand trust.
Performance testing is now a standard requirement in QA automation interviews. Recruiters at Infosys, TCS, Wipro, Flipkart, Razorpay, and Freshworks specifically ask about JMeter thread group configuration, performance testing KPIs, and CI/CD integration of load tests. QA engineers who can only do functional automation (Selenium, Playwright) compete for ₹5-8 LPA roles. Those who add performance testing with JMeter to their skill set access ₹10-20 LPA roles where competition is significantly lower because fewer testers have this expertise.
Performance testing is the highest-leverage skill gap in QA automation in India in 2026. Thousands of testers know Selenium. Hundreds know JMeter well enough to design, execute, and analyse load tests independently. The supply-demand imbalance means performance testers command a ₹2-5 LPA premium over functional-only testers at every experience level. Learning JMeter is a 4-6 week investment that permanently increases your earning ceiling.
The Five Types of Performance Tests — and When to Use Each
Performance testing is not a single activity. It is a category of five distinct test types, each designed to answer a different question about your system. Running only one type leaves critical blind spots. A comprehensive performance testing strategy uses all five, prioritised by risk.
1. Load Testing
Load testing simulates the expected number of concurrent users performing typical actions. If your application normally serves 5,000 concurrent users, a load test runs 5,000 virtual users executing realistic workflows (login, browse, search, checkout) and measures response times, throughput, and error rates under this expected traffic. This is the baseline performance test — run it first on every release. The pass criteria are straightforward: response time under 2 seconds, error rate under 1%, throughput within 10% of the previous release.
2. Stress Testing
Stress testing pushes the system beyond its expected capacity to find the breaking point. If your load test runs 5,000 users, stress testing ramps from 5,000 to 10,000, then 15,000, then 20,000 users. The goal is not to prove the system works — it is to find where and how it fails. Stress testing reveals whether failures are graceful (slow response, queued requests) or catastrophic (server crash, data corruption, cascading failures). It also identifies the bottleneck — CPU, memory, database connections, network bandwidth, or application code.
3. Spike Testing
Spike testing simulates sudden, extreme traffic surges — going from 1,000 to 50,000 users within seconds. This mirrors real-world events: a product going viral on social media, a news article driving traffic, a flash sale launch, or UPI transactions spiking at month-end salary processing. Spike testing reveals whether auto-scaling works, whether connection pools handle sudden demand, and whether the system recovers to normal performance after the spike passes. Indian banking applications and e-commerce platforms require spike testing before every major event.
4. Endurance (Soak) Testing
Endurance testing runs a sustained load for an extended period — typically 8-24 hours. It detects problems that only appear over time: memory leaks, database connection pool exhaustion, log file growth consuming disk space, and gradual performance degradation. A system that performs well for 30 minutes may crash after 8 hours due to a memory leak that consumes 50MB per hour. Endurance testing catches these time-dependent failures that shorter tests miss entirely.
5. Scalability Testing
Scalability testing measures how performance changes as you add resources (vertical scaling: more CPU/RAM) or instances (horizontal scaling: more servers). It answers the question: if we double our infrastructure, do we get double the capacity? Scalability testing reveals diminishing returns, database bottlenecks that do not scale horizontally, and the optimal infrastructure configuration for your target user count. SaaS companies planning for customer growth and cloud cost optimisation rely on scalability testing to make data-driven infrastructure decisions.
JMeter Core Components — Building Your First Load Test
Apache JMeter organises every load test into a hierarchy of components. Understanding these five core components is essential for designing realistic, maintainable performance tests. Every JMeter test plan uses them in combination.
- Thread Groups: The foundation of every JMeter test. A thread group defines the number of virtual users (threads), the ramp-up period (how quickly users are added), and the loop count (how many times each user repeats the test). A thread group configured with 500 threads, 60-second ramp-up, and 5 loops simulates 500 users gradually arriving over 1 minute, each executing the test scenario 5 times. Realistic ramp-up is critical — real users do not all arrive at the same millisecond.
- Samplers: The requests your virtual users send to the system under test. HTTP Request sampler is the most common (for web applications and REST APIs). JDBC Request sampler tests database performance directly. SOAP/XML-RPC sampler handles legacy web services. FTP Request sampler tests file transfer performance. Each sampler is configured with the target server, path, method (GET/POST/PUT/DELETE), headers, and body data.
- Listeners: Components that collect and display test results. View Results Tree shows individual request/response details (for debugging, not execution). Summary Report shows aggregate statistics (average, min, max, throughput, error rate). Aggregate Report groups results by sampler with percentile data. For CI/CD, use the Backend Listener to stream results to InfluxDB + Grafana for real-time dashboards. Never run listeners during high-load tests in GUI mode — they consume memory and skew results.
- Assertions: Validations applied to each response. Response Assertion checks that the response body contains (or does not contain) specific text. Duration Assertion fails any request exceeding a time threshold (e.g., response time > 2000ms). JSON Assertion validates specific values in JSON API responses. Assertions transform load tests from “does it respond?” to “does it respond correctly and fast enough?” — a critical distinction.
- Timers: Delays between requests that simulate real user think time. Without timers, JMeter fires requests as fast as the system can handle them — unrealistic and misleading. Constant Timer adds a fixed delay (e.g., 2 seconds between page views). Gaussian Random Timer adds variable delay around a mean (more realistic). Uniform Random Timer adds random delay within a range. Always use timers. Tests without think time overestimate server load and produce misleading throughput numbers.
The most common JMeter mistake is running tests without timers and with listeners enabled in GUI mode. This combination produces artificially high load (no think time between requests) while consuming local machine resources on result visualisation, yielding results that are both unrealistic and unreliable. Always use CLI mode for execution (
jmeter -n -t test.jmx -l results.jtl) and add Gaussian Random Timers to simulate real user behaviour. The results from a properly configured 500-user test are more valuable than a poorly configured 5,000-user test.
Performance Testing KPIs — What to Measure and What Is Acceptable
| KPI | What It Measures | Acceptable Threshold | Red Flag |
|---|---|---|---|
| Response Time (Avg) | Mean time from request sent to response received | <2 seconds | >5 seconds |
| 90th Percentile Latency | Response time at which 90% of requests are faster | <3 seconds | >8 seconds |
| Throughput | Requests processed per second | Stable under load | Declining as users increase |
| Error Rate | Percentage of failed requests | <1% | >5% |
| Concurrent Users | Active simultaneous virtual users | Meets business SLA | Crashes before target |
| CPU Utilisation | Server CPU usage during test | <70% at expected load | >90% sustained |
| Memory Utilisation | Server RAM usage during test | <75% at expected load | Continuously growing (leak) |
| Network Bandwidth | Data transferred per second | Within infrastructure limits | Saturated, causing timeouts |
Source: Google Web Vitals benchmarks, industry SLA standards, and JMeter performance testing best practices — 2026.
JMeter vs Alternatives: Performance Testing Tools Compared
| Tool | Language | Licence | Protocol Support | CI/CD Integration | Learning Curve | Best For |
|---|---|---|---|---|---|---|
| Apache JMeter | Java | Free / Open-source | HTTP, HTTPS, JDBC, SOAP, REST, FTP, LDAP, TCP | CLI + Jenkins / GitHub Actions | Medium | All-round testing, enterprise, distributed load |
| Gatling | Scala / Java | Free (OSS) + Enterprise | HTTP, HTTPS, WebSocket, JMS | Maven / Gradle + CI native | Medium-High | Developer-driven, code-as-test, high throughput |
| k6 | JavaScript | Free (OSS) + Cloud | HTTP, HTTPS, WebSocket, gRPC | CLI native, Docker, cloud | Low | Cloud-native, DevOps teams, JS-centric stacks |
| Locust | Python | Free / Open-source | HTTP, HTTPS, custom protocols | CLI + Docker + CI | Low | Python teams, custom protocols, lightweight |
| Artillery | Node.js / YAML | Free (OSS) + Pro | HTTP, WebSocket, Socket.io | CLI + CI native | Low | Microservices, serverless, rapid scripting |
Source: Official tool documentation, GitHub stars, and Stack Overflow Developer Survey — mid-2026. JMeter remains the most requested tool in Indian QA job postings.
JMeter’s advantages over alternatives are clear for QA engineers in India: it is completely free with no usage limits, offers both GUI (for designing tests visually) and CLI (for execution in pipelines), has the largest plugin ecosystem (300+ plugins via JMeter Plugins Manager), supports distributed testing across multiple machines for generating massive load, and is the tool most frequently mentioned in Indian QA job descriptions. Gatling and k6 are strong alternatives for teams with development-heavy workflows, but JMeter’s install base, community support, and interview relevance make it the default starting point.
JMeter in CI/CD — Automated Performance Gates
Running JMeter tests manually after deployment is better than not running them, but integrating performance tests into your CI/CD pipeline is what separates mature testing practices from ad-hoc efforts. The pattern is straightforward: JMeter runs in CLI mode as a pipeline stage, results are parsed against pass/fail thresholds, and the build is blocked if performance degrades beyond acceptable limits.
In Jenkins, use the Performance Plugin to execute JMeter tests and evaluate results. The pipeline step runs jmeter -n -t load_test.jmx -l results.jtl -e -o report/ in non-GUI mode, then the Performance Plugin parses the JTL file against configured thresholds (e.g., average response time <2s, error rate <1%). If thresholds are breached, the build fails. In GitHub Actions, run JMeter via Docker container (justb4/jmeter), upload the HTML report as a build artifact, and use a custom step to parse results and fail the workflow. This creates an automated performance gate — no code reaches production without proving it meets performance standards.
Use Cases: Performance Testing in Indian Industry
E-Commerce (Flipkart, Myntra, Meesho)
Flash sales create traffic spikes of 10-50x normal load within seconds. Performance testing validates auto-scaling, CDN caching, cart and payment flow under concurrent load, and inventory management under race conditions. A checkout flow that works at 1,000 users but returns errors at 50,000 concurrent users loses crores in revenue during a single sale event.
Banking and Fintech (UPI, Razorpay, PhonePe)
India processes 14+ billion UPI transactions monthly. Salary day (1st of the month), festival periods, and government disbursements create predictable transaction spikes. Performance testing ensures transaction processing latency stays under 500ms, database locks do not create cascading failures, and the system handles 10x normal transaction volume without data inconsistency.
SaaS Platforms (Freshworks, Zoho, Chargebee)
Multi-tenant SaaS platforms must guarantee performance SLAs to enterprise clients. One tenant’s heavy usage must not degrade another tenant’s experience. Performance testing validates tenant isolation, API rate limiting under load, background job processing at scale, and database query performance as data volume grows over time.
Case Study: E-Commerce Platform Reduces Checkout Failures by 85%
Before
A mid-size Indian e-commerce company running seasonal sales experienced checkout failure rates of 12-18% during peak traffic. The platform handled normal daily traffic (8,000 concurrent users) without issues but degraded severely during sale events (40,000+ concurrent users). Payment timeouts, cart abandonment due to slow page loads (6-8 seconds), and 502 gateway errors during the first 30 minutes of every sale were recurring problems. The QA team performed only functional testing with Selenium. No performance testing existed in their process.
The Approach
A QA engineer trained in JMeter performance testing joined the team and implemented a systematic approach. First, baseline load tests established that the checkout flow (add to cart, enter address, apply coupon, process payment) had a 2.1-second average response time at 5,000 users. Stress tests revealed the breaking point at 18,000 users — database connection pool exhaustion caused cascading failures. Spike tests simulating sale-day traffic patterns (1,000 to 45,000 users in 60 seconds) showed the auto-scaler took 4 minutes to provision new instances, creating a 3-minute window of degraded performance. Endurance tests over 12 hours uncovered a memory leak in the coupon validation service that increased response times by 200ms per hour.
Result
After fixing the identified bottlenecks (increased connection pool size, pre-warmed auto-scaler instances before sales, patched memory leak), the next seasonal sale saw checkout failures drop from 15% to 2.2% — an 85% reduction. Average checkout response time during peak traffic improved from 6.8 seconds to 1.9 seconds. Revenue from the sale increased by 23% compared to the previous quarter, directly attributable to reduced cart abandonment. The JMeter test suite was integrated into Jenkins CI/CD, running automatically on every deployment to prevent performance regressions.
Common Performance Testing Mistakes — and How to Avoid Them
- Mistake: Running load tests in JMeter GUI mode.
Fix: GUI mode is for test design and debugging only. It consumes significant memory rendering listeners and result trees, reducing the load your machine can generate and skewing results. Always execute tests in CLI mode:jmeter -n -t test.jmx -l results.jtl. Generate HTML reports post-execution withjmeter -g results.jtl -o report/. - Mistake: Not using think time (timers) between requests.
Fix: Without timers, JMeter sends requests as fast as the server responds — no real user behaves this way. This creates artificially high load that does not represent actual usage patterns. Add Gaussian Random Timer with a mean of 2-5 seconds between page interactions. Your 500-user test with realistic think time is more accurate than a 5,000-user test without it. - Mistake: Testing in a non-production environment and assuming results transfer.
Fix: Performance test environments must mirror production — same infrastructure specs, same database size, same network topology. A test passing on a 2-core staging server tells you nothing about a 16-core production server’s behaviour. If identical infrastructure is not possible, document the differences and apply scaling factors to results. - Mistake: Ignoring correlation and parameterisation.
Fix: Hardcoded session IDs, tokens, and user data cause requests to fail or reuse cached responses — both invalidate results. Use JMeter’s Regular Expression Extractor or JSON Extractor to capture dynamic values from responses and pass them to subsequent requests. Use CSV Data Set Config to feed unique user credentials and test data to each virtual user. - Mistake: Reporting only average response time and ignoring percentiles.
Fix: Averages hide outliers. An average of 1.5 seconds looks acceptable, but if the 95th percentile is 8 seconds, it means 5% of users experience unacceptable latency. Always report 90th and 95th percentile response times alongside averages. Percentiles reveal the experience of your slowest users — the ones most likely to abandon.
Performance Tester Salary in India — 2026
| Experience Level | Salary Range (LPA) | Key Skills Expected | Typical Job Titles |
|---|---|---|---|
| Fresher (0-1 yr) | ₹3.5 – 6 LPA | JMeter basics, HTTP fundamentals, test plan creation | Junior Performance Tester, QA Trainee |
| Mid-Level (2-5 yr) | ₹6 – 12 LPA | JMeter advanced, scripting, CI/CD, distributed testing, KPI analysis | Performance Test Engineer, QA Automation Engineer |
| Senior (5-8 yr) | ₹12 – 18 LPA | Performance architecture, capacity planning, Gatling/k6, cloud infrastructure | Senior Performance Engineer, Lead SDET |
| Lead/Architect (8+ yr) | ₹15 – 25 LPA | Enterprise strategy, SRE overlap, observability, team leadership | Performance Architect, Engineering Manager – QA |
Source: Naukri, LinkedIn Salary Insights, Glassdoor India, and AmbitionBox — mid-2026. Ranges vary by company tier (product vs service), city, and domain expertise.
Frequently Asked Questions
What is performance testing with JMeter in 2026?
Performance testing with JMeter is the process of using Apache JMeter — a free, open-source, Java-based tool — to simulate concurrent users accessing your application and measuring its response time, throughput, error rate, and resource utilisation under load. JMeter supports HTTP, HTTPS, JDBC, SOAP, REST, and FTP protocols. In 2026, JMeter remains the most widely used performance testing tool globally, with strong demand in Indian QA job postings. It runs in GUI mode for test design and CLI mode for execution in CI/CD pipelines like Jenkins and GitHub Actions.
What is the difference between load testing, stress testing, and spike testing?
Load testing simulates expected traffic to verify the system meets performance SLAs under normal conditions. Stress testing pushes the system beyond expected capacity to find the breaking point and observe failure behaviour. Spike testing simulates sudden, extreme traffic surges (e.g., 1,000 to 50,000 users in seconds) to test auto-scaling and recovery. Load testing answers “does it work under normal use?” Stress testing answers “where does it break?” Spike testing answers “can it handle sudden surges?” All three are configured using JMeter thread groups with different ramp-up patterns.
How do I configure JMeter thread groups for realistic load testing?
A thread group requires three settings: number of threads (virtual users), ramp-up period (seconds to start all threads), and loop count (repetitions per user). For realistic load testing, set ramp-up to at least 1 second per 10 users — so 500 users should ramp up over at least 50 seconds. Add Gaussian Random Timer between samplers to simulate think time (2-5 seconds between actions). Use CSV Data Set Config for unique user credentials. Never start all users simultaneously — real traffic arrives gradually.
What is the performance tester salary in India in 2026?
Performance testers in India earn ₹3.5-6 LPA at fresher level, ₹6-12 LPA at mid-level (2-5 years), ₹12-18 LPA at senior level (5-8 years), and ₹15-25 LPA at lead/architect level. Performance testing skills command a ₹2-5 LPA premium over functional-only QA roles at every level. The premium is highest at product companies (Flipkart, Razorpay, Freshworks) and in banking/fintech domains where performance SLAs are strict and failures have direct financial consequences.
How does JMeter compare to Gatling, k6, and Locust?
JMeter is best for all-round testing with its GUI, extensive protocol support, and plugin ecosystem. Gatling (Scala-based) is preferred by developer-centric teams writing tests as code with high-throughput simulation. k6 (JavaScript) is ideal for cloud-native teams and DevOps workflows with lightweight scripting. Locust (Python) suits Python-heavy teams needing custom protocol support. JMeter’s advantages are its zero cost, distributed testing capability, largest community, and dominance in Indian job market requirements. Learn JMeter first, then add Gatling or k6 based on your team’s tech stack.
How do I integrate JMeter with Jenkins or GitHub Actions for CI/CD?
In Jenkins: install the Performance Plugin, add a pipeline step that runs JMeter in CLI mode (jmeter -n -t test.jmx -l results.jtl -e -o report/), and configure the plugin to parse JTL results against thresholds (average response time, error rate). In GitHub Actions: use a JMeter Docker container (justb4/jmeter), run the test as a workflow step, upload the HTML report as a build artifact, and add a custom step to check results against pass/fail criteria. Both approaches create automated performance gates that block deployments failing performance standards.
What are the most important performance testing KPIs to track?
The five essential KPIs are: response time (average and 90th/95th percentile — target under 2 seconds), throughput (requests per second — should remain stable as load increases), error rate (percentage of failed requests — target under 1%), concurrent users (maximum users before SLA breach), and server resource utilisation (CPU under 70%, memory under 75% at expected load). Always report percentile response times alongside averages — an average of 1.5 seconds can hide a 95th percentile of 8 seconds, meaning 5% of users experience unacceptable performance.
What is distributed load testing in JMeter and when do I need it?
Distributed load testing uses multiple JMeter instances (one controller + multiple worker machines) to generate load that exceeds what a single machine can produce. A single machine typically generates 500-2,000 virtual users depending on hardware and test complexity. For tests requiring 5,000+ virtual users, distributed testing splits the load across multiple workers controlled by one master. Configure workers in jmeter.properties (remote_hosts setting), start workers with jmeter-server, and trigger from the controller. Cloud providers (AWS, Azure) enable spinning up worker instances on demand for high-load tests.
Your Next Step
Performance testing with JMeter is the single most impactful skill you can add to your QA automation toolkit in 2026. Functional testing tells you whether the application works. Performance testing tells you whether it works at scale — and that distinction determines whether you are a ₹6 LPA tester or a ₹15 LPA performance engineer. The five test types (load, stress, spike, endurance, scalability), JMeter’s core components (thread groups, samplers, listeners, assertions, timers), and CI/CD integration are learnable in 4-6 weeks of focused practice. The demand from Indian e-commerce, banking, and SaaS companies for QA engineers with JMeter expertise consistently exceeds supply.
Start with a simple load test: install JMeter, create a thread group with 50 users, add an HTTP Request sampler pointing at a test application, add a Gaussian Random Timer, run it in CLI mode, and analyse the results. Then add assertions, parameterisation, and correlation. Build from there to stress tests, spike tests, and CI/CD integration. The gap between “I know Selenium” and “I know Selenium and JMeter” is 4-6 weeks of learning. The salary gap is ₹2-5 LPA for the rest of your career.