[Javalist] play / c3p0pooledconn ...

Istvan Verhas istvan at verhas.com
2012. Jan. 24., K, 11:38:28 CET


Ha a gépnek nagy a load-ja (függetlenül attól, hogy fizikai vagy virtuális) akkor első lépésben azt kell kideríteni, hogy miért és nem azt, hogy mi okozza. A load csak annyit tesz, hogy időegység alatt mennyi az elvégzendő feladat vagy éppen mennyi vár a sorára. A miértre alapvetően két válasz lehetséges: processzor, I/O. Ha processzor nem pörög 100%-on akkor az I/O-ban a következő problémák lehetnek: kevés a memória és swap-el, lassú a diszk hozzáférés és írásra/olvasásra vár vagy a network kevés és arra vár. Mindezek kiderítéséhez egy kellemes eszköz a vmstat.
Virtuális környezetben személyes tapasztalatom szerint a diszk hozzáférés szokott belassulni ha nincs jól konfigurálva, de ez csak egy nagyon kis mintavételezés.

Verhás István
JIRA szakértő
Verhás & Verhás Szoftver Manufaktúra Kft.
istvan at verhas.com
t: +36(30)3997117
skype: verhasi

On Jan 24, 2012, at 11:23 AM, Balázs Hollósi wrote:

> sziasztok
> 
> igazából olyan vizeken evezek, ahol nem sok helyismeretem van, ezért
> bármi nemű segítséget köszönök.
> 
> tehát. van egy play framework webes alkalmazásom, postgres
> adatbázissal. eddig tök jól ment minden, viszont a hosting cég ahol
> van (vps) konfigolt egyet, és most érdekességek történnek. a cég
> alapvetően konstruktív, már átraktak egy másik node-ra, ahol a config
> ua, de a vas más, ergo a memória hibát meg a többi hw parát úgy
> gondolom kizárhatom. eddig a vps 4 cpu-t látott (/proc/cpuinfo) most
> egy magot, amelyik azt mondja magáról hogy 4 magos, gondolom a
> virtualizáción állítottak, azért lett más, lényegében a sebesség
> maradt, ezzel sincs gondom.
> 
> a jelenség hogy egyszercsak felugrik a java process load-ja 100%-ra,
> még egy darabig működik az alkalmazás, de rosszabb esetben segfault-ol
> a vm, jobbik esetben izzasztja a vasat, és 4-5ös load mellett azért
> néha kiszolgál egy-egy requestet. ja igen, demo alkalmazás, bármilyen
> "eszköz" engedélyezett :)
> 
> debug módban elindítottam a vm-et, és remote rácsatlakoztam. eclipse
> alatt szép sorban suspend a szálakra, így meglett a bőnös (legnagyobb
> meglepetésre nem a play szál).
> 
> a bűnös thread stack:
> 
> 
> Daemon Thread [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0]
> (Suspended)
>        Finalizer.add() line: 42
>        Finalizer.<init>(Object) line: 67
>        Finalizer.register(Object) line: 72
>        Jdbc4Statement(Object).<init>() line: 20
>        Jdbc4Statement(AbstractJdbc2Statement).<init>(AbstractJdbc2Connection,
> int, int) line: 135
>        Jdbc4Statement(AbstractJdbc3Statement).<init>(AbstractJdbc3Connection,
> int, int, int) line: 36
>        Jdbc4Statement(AbstractJdbc3gStatement).<init>(AbstractJdbc3Connection,
> int, int, int) line: 23
>        Jdbc4Statement(AbstractJdbc4Statement).<init>(Jdbc4Connection, int,
> int, int) line: 26
>        Jdbc4Statement.<init>(Jdbc4Connection, int, int, int) line: 25
>        Jdbc4Connection.createStatement(int, int, int) line: 30
>        Jdbc4Connection(AbstractJdbc3Connection).createStatement(int,
> int) line: 231
>        Jdbc4DatabaseMetaData(AbstractJdbc2DatabaseMetaData).createMetaDataStatement()
> line: 4266
>        Jdbc4DatabaseMetaData(AbstractJdbc2DatabaseMetaData).getTables(String,
> String, String, String[]) line: 2069
>        DefaultConnectionTester.activeCheckConnectionNoQuery(Connection,
> Throwable[]) line: 185
>        DefaultConnectionTester.activeCheckConnection(Connection, String,
> Throwable[]) line: 62
>        DefaultConnectionTester(AbstractConnectionTester).activeCheckConnection(Connection)
> line: 67
>        C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.testPooledConnection(Object)
> line: 368
>        C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.refurbishIdleResource(Object)
> line: 310
>        BasicResourcePool$AsyncTestIdleResourceTask.run() line: 1999
>        ThreadPoolAsynchronousRunner$PoolThread.run() line: 547
> 
> ez ha jól tudom db pool cucc. viszont otthon, meg eddig kint is ua
> verzió (play embeddelt) fut, otthon még most is, kint eddig stabil
> volt.
> első körben a kérdésem, találkozott-e már valaki hasonló parával.
> ismert-e hogy 1 (virtuális) magos környezetben gondok lennének
> vele? egyéb javaslat?
> 
> ezer köszi előre is,
> B
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3015 bytes
Desc: not available
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120124/dac62a7d/attachment.bin>


További információk a(z) Javalist levelezőlistáról