Controllers can be divided into two broad categories:
Samplers are the components which allow JMeter to send specific types of requests to a server.It simulates a user's request for a page to the target server.
Samplers are a must to add component to a test plan as only it can let JMeter know what type of request need to go to a server. Requests could be HTTP, HTTP(s), FTP, TCP, SMTP, SOAP etc.
Given below is the list of requests serviced by JMeter samplers:
JMeter samplers can only be added to a thread group through the method shown in the figure below:
The following image shows an HTTP Request Sampler Control Panel:
Logic Controllers help you to control the flow the order of processing of samplers in a thread. It can also change the order of requests coming from their child elements.
Following is the list of all Logic Controllers in JMeter:
The following image shows how you can add a ForEach Logic Controller to your test plan:
The following image shows a ForEach Controller Control Panel: