IRC logs of #tryton for Monday, 2011-11-21 #tryton log beginning Mon Nov 21 00:00:01 CET 2011
-!- ciupicri(~ciupicri@unaffiliated/ciupicri) has joined #tryton00:03
-!- ciupicri(~ciupicri@unaffiliated/ciupicri) has joined #tryton00:51
-!- flox(~florentxi@unaffiliated/flox) has joined #tryton10:10
corroHi there, I'm facing some serious problems with the performance of Tryton in a live installation. Does someone have some tipps on optimizing a Tryton installation?10:35
corroI already found the --profile option for both the server and the client, but I don't really see the bottleneck10:40
cedkcorro: which kind of queries are slow?10:41
corrocedk: the slowest ones are the invoices10:42
corrocedk: sometimes it takes ~30-45s to open the invoice list10:43
cedkcorro: have you modified it?10:43
corrocedk: there are some minor modifications, 2 new fields and some business logic10:45
cedkcorro: what are those fields?10:45
corrocedk: mom, it's loading...10:47
corrocedk: it's a one2many and a char field10:49
cedkcorro: are the one2many displayed in the list?10:50
cedkcorro: are they Function fields?10:51
corrocedk: you suspect the fields to have this impact? I believe this could be possible... I'll have to review their implementation10:55
cedkcorro: it depends of the kind of fields?10:56
corrocedk: I think I found some crappy code of ours, commenting it out does increase the performance quite a bit11:11
corrocedk: however scrolling in the list of invoices is still painfully slow, what does the client do there? Is there some querying involved?11:13
cedkcorro: yes it does lazzy loading11:25
cedkcorro: could you show us the 2 new fields?11:25
corrocedk: the lazy loading does not have an effect: nothing is being transmitted to or from the server when scrolling according to wireshark11:30
corrocedk: by the way: we are still using 1.8, forgot to mention it11:31
cedkcorro: have you good performence with other GTK application?11:32
corrocedk: no performance issues with other GTK applications: GIMP and Pidgin are working fine11:33
Timitoscorro: maybe it would be good to reduce the search limit.11:35
cedkcorro: it is strange but is there any logging message on the client side?11:35
corroTimitos: It is already down to 20011:36
Timitoscorro: ok. so this should not be the problem11:38
corrocedk: Enabling the -v mode tells me we have actually two different problems: first querying the server takes a long time (10s) then displaying the list takes another 5s. The second problem is that scrolling is painfully slow even if the client is not loading additional records11:45
corroprofiling the server shows he's waiting most of the time, it does not tell on what he's waiting though...11:50
corrocould the postgres server be the bottleneck on the server side11:50
zxq9That's very unlikely unless trytond makes really inefficient calls to postgres *or* that server is suffering from other problems.11:58
zxq9Of course, I haven't had a chance to dig into the SQL side of things yet and don't know what modifications you have to your schema, so this could be the case.11:59
grasbauercedk: ping13:20
cedkgrasbauer: pong13:28
grasbauercedk: trying your sphinx - need to nclone the repositories into the path - right?13:30
cedkgrasbauer: that's for the documentation?13:33
grasbauercedk: Yes - just to see, how the style looks after building ....13:34
cedkgrasbauer: normally the script fetch every things13:36
grasbauercedk: ok got it - ncloned trytond in my sphinx folder13:36
corroWe probably found our bottleneck: even the most expensive server query returns after 2s, so the Tryton client is probably to blame. Does someone know of any significant speed improvements in the client versions 2.0 and 2.2?16:25
zxq9My biggest speed issue with the client is complex layout rendering of XML in v2.2. I haven't experienced any problems with large list data (its a touch slower and scrolls a bit jerky on old systems, but that's all)16:26
corrozxq9: So you did not face any problems even in 1.8?16:27
zxq9corro: I don't remember having problems in 1.8, but my data was much smaller back then.16:28
zxq9corro: Because of rendering times, though, we (my company, not the Tryton project) are considering writing an extended client which would include an XML rendering engine in C++, though.16:30
zxq9corro: But the main client code would be unchanged, just rendering in something faster to get the large page render time down.16:30
corrozxq9: Sounds reasonable. We count around 1300 invoice records in our installation and it's nearly unuseable. Now we just hope there is some improvement in 2.216:31
zxq9There certainly may be some improvement in 2.2. There have been many small changes and some of them may affect you in a good way.16:32
zxq9Some of the server code seems to have changed, too. It could be that all the stuff happening in the invoice module on the server side (trytond, not Postgres) is adding some slowness as well.16:33
corrozxq9: Thanks for the information. Time to force the update then.16:33
zxq9Corro: It should be easy to set up a test server/client to check and compare the speed.16:34
zxq9corro: If the server is really old with very small memory and the client is very old I can imagine performance would suffer. Trytond does not scale to SMP without starting/configuring multiple server instances, which is another thing to keep in mind.16:35
zxq9corro: But as far as that type of setup you'd have to ask others on how to do it. I haven't tried it (yet -- probably will next week sometime)16:35
corrozxq9: We really don't think the performance issue is on the server side: When I make the exact same query as the client in a python console via XMLRPC I get the results after 2s.16:38
corrozxq9: The client however needs another 15-20s until the result is rendered16:38
zxq9That sounds about like the tests I've done, just much worse.16:41
zxq9On complex views we get around a 4s delay rendering the window on a view switch (especially if images are involved), but the server response is < 1s.16:41
zxq9corro: This is testing on a slightly old client machine. On a faster machine the rendering delay is not very noticable.16:43
corrozxq9: I have to admit that my system running the Tryton client is a virtual machine with limited resource allocation, so my numbers may be somewhat larger than on a physical machine. Nevertheless even on a physical machine working with invoices is really a pain.16:44
zxq9corro: The problem with that is that our customers have a lot of legacy hardware remaining (old Celeron notebooks and things) so this is a noticable issue.16:44
zxq9corro: Two difficult problems in one place: Virtualize Everything + Scripted/Interpreted Desktop Execution16:48
zxq9corro: That is why my company is on a major drive to slim the computing stack back down -- even though its completely the opposite of what everyone is selling in the media right now.16:49
-!- pjstevns( has left #tryton17:20
cedkcorro: this is very strange because of other GTK apps are working fast17:20
corrocedk: the other GTK applications probably don't manage enough data for this effect to show up17:22
corrocedk: until ~100 invoices everything seemed ok in Tryton too17:23
corrocedk: we will give 2.2 a try and let you know of any progress17:25
cedkcorro: but you did not show the 2 fields that you added ?17:26
corrocedk: that's true. But I really don't think they are the key. They are not even shown in the list17:29
corrothanks for the assistance everyone, bb17:32
zxq9Regarding the search and "bloatbox" discussion from last week:19:38
zxq9I am extremely impressed with search now after some testing. Great feature improvement.19:39
zxq9I am also MORE convinced now after some user testing that we need a bloatbox-type button for the average user so they can build their own queries without looking up query syntax.19:40
-!- Timitos(~kp@ has left #tryton20:03
grasbauerACTION 70% done with sphinx template20:12
udonograsbauer: +120:55
cedkgrasbauer: is it easy?20:55
grasbauercedk: jinja sucks20:56
grasbauercedk: and its a lot of reading the sphinx docs20:57
grasbauercedk: the 3 points in the main navigation are rendered from rst in the docs as well - and they are highlighted if active ...21:01
grasbauerwill do some investigations ....21:05

Generated by 2.11.0 by Marius Gedminas - find it at!