Load testing is one of the type of performance testing using which we evaluate the performance of an application under expected real-world load.
Virtual users are created to simulate the load of multiple concurrent users accessing the application. After subjecting application to the virtual user load, we eventually measure the different performance attributes along with identifying performance bottlenecks.
The virtual user creation is performed by tools like - JMeter and LoadRunner. These performance testing tools allow us to create scripts which makes different requests to server(just like a real-world user), along with various configurations like number of threads or virtual users, duration of load test, performance attributes & graphs that we want to analyze etc. After the script creation and setting up of test configuration, we can run the load test and analyze the test results.
Load testing is actually a subset of performance testing that focuses on analyzing the behavior of web application under a particular load, for a predefined amount time. Whereas, performance testing is a broader term that includes checking different aspects of system like application's state at workload higher than expected(stress testing); performance of application with large volume of data(volume testing); ability of system to sustain normal workload for a large duration of time(endurance) etc.
You can learn about different performance testing concepts and script creation from our Apache JMeter tutorial.