Hi Anny, SPARK_WORKER_INSTANCES is the number of copies of spark workers running on a single box. If you change the number you change how the hardware you have is split up (useful for breaking large servers into <32GB heaps each which perform better) but doesn't change the amount of hardware you have. Because the hardware's the same, you're not going to see huge performance improvements unless you were in the huge heap scenario.
Typically you should configure the parameters so that SPARK_WORKER_CORES * SPARK_WORKER_INSTANCES = the number of cores on your machine. If you have an 8 core box, then you should lower SPARK_WORKER_CORES as you raise SPARK_WORKER_INSTANCES.