Ideally if you amount of virtual users in 2x times you should get 2x times larger throughput. When your reach saturation point throughput will stop increasing and response time will be growing.
In general my expectation is that for breaking point you will have extremely high response times.
When the application breaks you should STOP getting proper response codes/messages as you will not be able to connect to the application so you will have something like:
Meaning that JMeter has sent the request but failed to receive a proper response which can be parsed. Prior to that you can see 5xx (server error response codes)
In general looking into response code only is not enough to identify the problem, you should collect some more information to wit:
- Server side heath metrics like CPU, RAM, Disk, Network, Swap usage, etc. You can obtain them using JMeter PerfMon Plugin
- Application-specific metrics and counters (these differ depending on technology and web/application server capabilities)
- Performance profiling tools telemetry snapshots
- Client-side health metrics for JMeter Load Generator(s)
- Database, routers, load balancers and other middleware telemetry as any of them might be the bottleneck and an integrated system acts at speed of its slowest component