Utilizzare un RamDisk per l’esecuzione dei Test

Print Content | More

In un paio di post di circa un mesetto fa (li trovate qui e qui) Alkampfer aveva mostrato un ottimo tip per migliorare le performances di Visual Studio, spostando i files temporanei della compilazione ed il database di test in un RamDisk.

Inutile parlare dell’incredibile aumento di performances che si può ottenere con un approccio di questo tipo; prendendo spunto dall’idea mostrata da Alkampfer, ho pensato di fare lo stesso per la parte di testing.
Proprio oggi ho avuto la necessità di eseguire più volte dalla mia macchina diversi test, alcuni di questi molto onerosi in termini di performances, testing su disco, database, ecc, ed ho notato un certo rallentamento nell’esecuzione degli stessi.
Da qui è nata l’idea di spostare la directory di output dei test, che normalmente si trova nella stessa folder della solution, dal disco fisico al RamDisk, in modo da ridurre al minimo lo swap su disco di tutte quelle informazioni di cui non ho bisogno che rimangano persistite anche dopo il riavvio.

Per effettuare ciò è necessario andare modificare il file di configurazione LocalTestRun.testrunconfig presente nello stesso percorso della solution ed aggiungere la seguente riga:

In questo modo tutte le cartelle contenenti l’output dei test verranno create nel RamDisk con un discreto incremento delle performaces.

Ciauz


Testing , Visual Studio

7 comments

Related Post

  1. #1 da Andrea Balducci Tuesday October 2009 alle 11:41

    qui trovi il post di Palermo a riguardo jeffreypalermo.com/.../

  2. #2 da Ugo Lattanzi Tuesday October 2009 alle 12:00

    Ciao Andre, Thx per il link, ho proprio utilizzato quel software per il RamDisk ;)

  3. #3 da Gian Maria Thursday October 2009 alle 12:38

    Una piccola nota, il casing del xml è in realtà il seguente [Deployment useDefaultDeploymentRoot="false" userDeploymentRoot="V:\TestOutput\"][/Deployment] se metti tutto minuscolo il VS me lo segna come sbagliato e non mi funziona.

  4. #4 da Gian Maria Thursday October 2009 alle 12:39

    Altra piccola nota, nel commento al posto delle parentesi angolari ho usato le quadre altrimenti mi generava errore, probabilmente perchè rileva un tentativo di XSS.

  5. #5 da Ugo Lattanzi Thursday October 2009 alle 12:49

    Ciao Gian Maria, hai ragione sia per il case che per l'XSS :D. l'XSS è voluto (ma forse devo dare un messaggio specifico), mentre per il case il problema è dovuto al tool che utilizzo per l'inserimento del Markup (almeno credo xchè nel mio file testrunconfig è scritto corretto ed ho fatto copia ed incolla); Cmq grazie per la segnalazione!

  6. #6 da Gian Maria Thursday October 2009 alle 02:28

    Ne faccio un'altra allora, attenzione se avete la database edition + test edition e fate i test per i database con i preload, perchè se nel web.config ci sono i percorsi relativi (ve li mette di default) sbaglia a prendere il progetto database per sincronizzare il db di test. L'errore è dovuto che vi prende la directory virtuale dei test come base di partenza e quindi il progetto database non ve lo trova :( alk.

  7. #7 da Ugo Lattanzi Thursday October 2009 alle 09:54

    Ma quante ne sai? non a caso sei MVP su Team System :) thx 1k

The comments for this post are closed.

  1. There is no TrackBack for this post.