Soci (Soczó Zsolt) szakmai blogja

2010.01.21.

Parallel.ForEach in action

Filed under: Adatbázisok,ADO.NET,SQL Server 2008,Szakmai élet — Soczó Zsolt @ 23:20

Imádom, nagyon ügyes dolog. Csak azért nem hajtotta ki jobban a procikat, mert már nem győzték a diszkek.
Érdekes problémaként még az jött elő, hogy több mint 100 szálat indított a Parallel, mert úgy érezte ez jó lesz, de az Sql Server connection poolja alapban max. 100 kapcsolatot engedélyez, így egyes szálak bedugultak. Lejjebb lehet venni a szálak számát, vagy feljebb a poolt. Nekem 80 szál elég volt, úgyse győzte már az SQL Server az adatokat.

3 Comments

  1. Nem kellemetlen RDP-n at fejleszteni? En biztos kikeszulnek a mellekattintasok miatt…

    Comment by hrongyorgy — 2010.01.22. @ 14:16

  2. Nem abban fejlesztek. A saját laptopomon, aztán berakom a kódot subversionbe, onnan update a szerverre, és ott tesztelem az erőforrásigényes kódokat.

    Comment by Soczó Zsolt — 2010.01.22. @ 19:01

  3. E,

    – Szép példája az absztraction leakingnek, hogy nem bírok – akarmennyire is akarok – megszabadulni az alattam lévő erőforrások egyedi vonatkozásaitól (80-as thread limit).

    – Nem látom a parallel thread inditási/leállítási overheadet

    – Nem látom az f típusát (ez egyébként elépesztően zavar, hogy nekem ugyanúgy ki kell következtetnem, mint a fordítónak. Minek, mikor ott lehetne explicit?)

    – Enterprise applikációban a thread tipikusan olyan előforrás, aminek a használatát minimalizálni kell.

    Kiváncsi lennék egy olyan görbére, ami a MaxDegreeOfParallelism függvényében mutatja a lefutási időket. Kiváncsi lennek, hol az optimum, szerintem a 80 az nagyon sok.

    Comment by Szindbad — 2010.01.26. @ 16:51

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress