Ik zou je ten zeerste afraden om mysql te gebruiken om sessies op te slaan. Ik raad aan om redis of memcache te gebruiken. Redis slaat de gegevens op schijf op voor het geval uw server crasht. Met Redis kun je ook een TTL instellen om de sessie te laten verlopen, wat #4 zou oplossen.
Als u op rust gebaseerde oproepen gebruikt, raad ik aan om de sessie gewoon als een cookie aan de koptekst toe te voegen en die heen en weer door te geven. In feite emuleren we de manier waarop een browser die pagina zou openen. Ik denk dat dat het testen ook makkelijker zou maken.