The general rule for adjusting gain (of any sort) is to tweak the gain up until you start to see an appreciable rise in the noise floor, then back off a tiny bit. I run my Airspy Mini at "LNA:15,MIX:15,IF:8". The goal obviously is to maximize the received signal while minimizing the noise.
I would like to add that in addition to maximizing the desired received signal with minimal noise that you sometimes have to reduced LNA and even MIX gain when there are very strong signals present to avoid intermodulation (IM) products.
It's sometimes necessary that you have to compromise LNA and MIX gains in order to reduce or eliminate IM products, even at the expense of desired signal amplitude where IM would otherwise interfere with the desired signals. This isn't usually a problem with the Airspy Mini's or R2's so much as it is with RTL devices, but nonetheless it can and does occur.
Airspy users should be aware that there are three possible gain modes,
Sensitive,
Linear, and
Free that are dependent upon the specific SDR application software and the configurations available within those applications.
The Sensitive and Linear gain modes each override either user LNA or MIX settings with Automatic Gain Control (AGC) that usually works well but may not be optimum under all signal input conditions. The Free mode is the only gain mode that allows the user to input all three gain type values without AGC override.
OP25 users can implement Free Gain Mode with Airspy devices per the following examples.
rx.py
./rx.py --args 'airspy=0,
sensitivity=0,linearity=0,bias=0' -N 'LNA:15,MIX:15,IF:8'
multi_rx.py
"devices": [
{
"args": "airspy=0",
"frequency": 853925000,
"gains": "LNA:15,MIX:15,IF:8",
"gain_mode": false,
"name": "sdr0",
"offset": 0,
"ppm": 0.30,
"rate": 6000000,
"usable_bw_pct": 0.95,
"tunable": false
}