Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #33099
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Cecil Westerhof <Cecil@decebal.nl> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Performance JPA |
| Date | Wed, 11 Nov 2015 06:50:02 +0100 |
| Organization | Decebal Computing |
| Lines | 110 |
| Message-ID | <87k2pp3x11.fsf@Equus.decebal.nl> (permalink) |
| References | <87lhagkcsh.fsf@Equus.decebal.nl> <563763d9$0$23727$e4fe514c@news.xs4all.nl> <87d1vrk20x.fsf@Equus.decebal.nl> <n1a51v$4qh$1@dont-email.me> <87ziyvhs0r.fsf@Equus.decebal.nl> <n1b13k$rd7$1@dont-email.me> <87mvuui2ws.fsf@Equus.decebal.nl> <87si4e49ja.fsf@Equus.decebal.nl> <n1u3ne$hvk$1@speranza.aioe.org> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| Injection-Info | mx02.eternal-september.org; posting-host="528adfd6ad074c92fdc6a7f8fb9e23d8"; logging-data="30084"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19U09LDFYE/ybwr6KI5aBo3DMC4XVsSwhA=" |
| User-Agent | Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
| Cancel-Lock | sha1:tyHMlMoHXA1LuOQsQz6LXoMEuxY= sha1:ZxjO3Knxd5T+HKtPSoifds3VCjw= |
| X-Homepage | http://www.decebal.nl/ |
| Xref | csiph.com comp.lang.java.programmer:33099 |
Show key headers only | View raw
On Wednesday 11 Nov 2015 01:56 CET, Arne Vajhøj wrote: > On 11/10/2015 2:07 AM, Cecil Westerhof wrote: >> On Wednesday 4 Nov 2015 09:28 CET, Cecil Westerhof wrote: >>> No. Until now it where two completely different environments. I at >>> last managed to get them to test on the same test database. I >>> should soon get more trustworthy measurements. >> >> I got some progress. Last week the old and new version where run in >> the same environment/database. The performance problem still stood. >> So there is certainly a problem with the new program. Because >> several things have changed I am not sure what would be the >> problem, but the rest is convinced it is a JPA problem. > > It is very likely that performance problems in a database > application relates to its usage of database, so it makes sense to > focus troubleshooting on that. > >> In principal database logging is going to be enabled, but I am >> waiting already a week for this. > > If you enable logging of the generated SQL then you can start moving > on instead of waiting for somebody else. The problem was that logging did not work. But I understood that they solved the problem with that. Until know I was told to look at the logging of the unit tests. I do not think that you can be sure that unit tests will give an accurate representation of live behaviour. >> Yesterday I was told that the queries themselves do not take a lot >> of time. > > If that is true, which it may not be, then that points to not > being database. I found that even if they find it annoying I have to check and recheck what I am told. For example the what I was told about the timings was not correct. I was told 5 seconds with JDBC and 2 minutes with JPA. That turned out to be 1 second and 19 seconds. Less of a difference, but still way of. >> But I am told that JPA does a lot of things beside retrieving >> things out of the database and that those other things JPA is doing >> are the problem. Sounds far-fetched to me, but this is the first >> time I am working with JPA. Could they be right? If so: how do we >> pinpoint this? > > JPA does not do things randomly. It does what you tell it to do. That is what I would think. But this is the first time I work with JPA, so I thought I should check if it would be possible that what they are saying could be true. > Do you have any potential complications: * relations that pull in > many extra rows without enabling lazy loading * relations that > convert single object update into many row updates Not directly, no. Here is the strange part. There are some relations, but they are manually fetched. In JDBC and JPA in the same way. So on the one hand that should not be a problem. But on the other hand when those fetches are disabled the JPA application is a lot faster. Today the person who found this problem should be at the company. I hope that face to face communication will go better as through instant message. As I understand it, there are several queries that are not necessary and the other ones are quit inefficient. So one solution would be to remove the unnecessary queries (after first identifying them) and then rewriting the rest. That would probably solve the problems. And it would be a good idea to do this. There is only one problem with this: we do not pinpoint why we have such a big performance difference between JDBC and JPA while we think we are doing the same. From an academic point I like to understand why things go differently, but even more important: there are about 20 to 40 other projects that also need to be migrated: so if we could pinpoint the problem, we would prevent the same troubles at the other migrations. One change I managed to arrange: with the other migrations every week some testing will be done instead of waiting till the migration is ‘finished’. That should circumvent the quagmire we got into now. > Most of these problems are easily found during developer test > when enabling logging of generated SQL. > >> I think it is time for profiling. As long as we are not sure what >> the problem is, it is impossible to solve it. Until now I never had >> to profile in Java. We work with Eclipse Kepler and IBM WebSpere >> Application Server v8.0. What are good resources to learn to >> profile the code? > > I would start by getting that logging enabled. There was a problem with that, but I was yesterday notified that this problem was solved. Something else: I do not think it could be a problem, but better save as sorry. I read somewhere that using @EmbeddedId could result in a performance hit. Is that true? If so what could be the reason for this? Because there are quit a few entities that use @EmbeddedId. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-02 09:47 +0100
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-02 14:23 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-03 07:52 +0100
Re: Performance JPA Martin Gregorie <martin@address-in-sig.invalid> - 2015-11-03 11:16 +0000
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-03 19:11 +0100
Re: Performance JPA Martin Gregorie <martin@address-in-sig.invalid> - 2015-11-03 19:15 +0000
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-04 09:28 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-10 08:07 +0100
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-10 10:35 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-11 06:20 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-11 09:32 -0500
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-10 19:56 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-11 06:50 +0100
Re: Performance JPA Martin Gregorie <martin@address-in-sig.invalid> - 2015-11-11 12:17 +0000
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-11 09:30 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-11 23:20 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-11 23:11 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-11 19:10 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-12 07:27 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-13 08:30 +0100
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-13 10:45 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-13 11:06 +0100
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-13 13:36 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-20 09:04 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-13 21:46 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-20 09:09 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-03 20:35 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-04 09:35 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-07 22:09 -0500
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-03 12:29 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-03 19:23 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-03 20:44 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-04 09:48 +0100
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-04 10:23 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-04 11:27 +0100
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-04 12:42 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-07 22:18 -0500
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-09 10:43 +0100
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-20 09:13 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-07 22:12 -0500
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-09 10:22 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-10 21:35 -0500
Re: Performance JPA Silvio <silvio@internet.com> - 2015-11-11 11:29 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-03 20:42 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-04 11:19 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-07 22:05 -0500
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-02 20:08 -0500
Re: Performance JPA Cecil Westerhof <Cecil@decebal.nl> - 2015-11-03 07:55 +0100
Re: Performance JPA Arne Vajhøj <arne@vajhoej.dk> - 2015-11-03 20:45 -0500
Re: Performance JPA Lew <lewbloch@gmail.com> - 2015-11-16 14:43 -0800
csiph-web