sql >> Database >  >> RDS >> Oracle

Is pooling van verbindingen een must-have in ODP.NET?

De enige reden voor pooling zijn prestaties, dus als uw nachtelijke taak binnen het venster wordt uitgevoerd, is er niets mis met wat u doet, vooral omdat het uw implementatie eenvoudig houdt doordat u zich geen zorgen hoeft te maken over dode verbindingen.

Dat gezegd hebbende, ik zou deze standaardpraktijk niet maken. Ik schrijf zelden code om oude verbindingen af ​​te handelen en zelfs dan is het een eenvoudige fabriek. De vraag begint met waarom heb je überhaupt oude connecties? Meestal heeft dit betrekking op een firewall of een DBA-taak die inactieve verbindingen beëindigt, die beide moeten worden gewijzigd of versoepeld voor een toepassingsaccount. Zelfs in dat geval kunt u het volgende doen:

  • Geef Min Pool Size=0 op in uw verbindingsreeks. Als u dit doet, kan ODP.net zelfs de laatste verbinding met uw app opschonen, zodat uw app de verbinding volledig kan verbreken wanneer deze lang genoeg inactief is.
  • Geef een hogere Decr Pool-grootte op in uw verbindingsreeks. Hierdoor kunnen meer inactieve verbindingen om de 3 minuten worden gesloten door ODP.net.
  • Je zou kunnen proberen Validate Connection =true in te stellen - Ik vermoed dat er minder overhead is bij het valideren van de verbinding dan bij het openen ervan.

Meer info is hier te vinden:http:// docs.oracle.com/cd/E15296_01/doc.111/e15167/featConnecting.htm#i1006228




  1. proberen verbinding te maken met mysql op afstand vanaf de .asp-pagina

  2. Hoe een array van rowtype declareren in een PostgreSQL-functie?

  3. Ontbrekende rijen bij het opvragen van tabel met Doctrine (Symfony2)

  4. MySQL-prestaties:DOE MEE AAN vs WAAR