IRC logs of #tryton for Monday, 2011-11-21 #tryton log beginning Mon Nov 21 00:00:01 CET 2011
2011-11-21 00:03 -!- ciupicri(~ciupicri@unaffiliated/ciupicri) has joined #tryton
2011-11-21 00:51 -!- ciupicri(~ciupicri@unaffiliated/ciupicri) has joined #tryton
2011-11-21 10:10 -!- flox(~florentxi@unaffiliated/flox) has joined #tryton
2011-11-21 10:35 <corro> Hi 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?
2011-11-21 10:40 <corro> I already found the --profile option for both the server and the client, but I don't really see the bottleneck
2011-11-21 10:41 <cedk> corro: which kind of queries are slow?
2011-11-21 10:42 <corro> cedk: the slowest ones are the invoices
2011-11-21 10:43 <corro> cedk: sometimes it takes ~30-45s to open the invoice list
2011-11-21 10:43 <cedk> corro: have you modified it?
2011-11-21 10:45 <corro> cedk: there are some minor modifications, 2 new fields and some business logic
2011-11-21 10:45 <cedk> corro: what are those fields?
2011-11-21 10:47 <corro> cedk: mom, it's loading...
2011-11-21 10:49 <corro> cedk: it's a one2many and a char field
2011-11-21 10:50 <cedk> corro: are the one2many displayed in the list?
2011-11-21 10:51 <cedk> corro: are they Function fields?
2011-11-21 10:55 <corro> cedk: you suspect the fields to have this impact? I believe this could be possible... I'll have to review their implementation
2011-11-21 10:56 <cedk> corro: it depends of the kind of fields?
2011-11-21 11:11 <corro> cedk: I think I found some crappy code of ours, commenting it out does increase the performance quite a bit
2011-11-21 11:13 <corro> cedk: however scrolling in the list of invoices is still painfully slow, what does the client do there? Is there some querying involved?
2011-11-21 11:25 <cedk> corro: yes it does lazzy loading
2011-11-21 11:25 <cedk> corro: could you show us the 2 new fields?
2011-11-21 11:30 <corro> cedk: the lazy loading does not have an effect: nothing is being transmitted to or from the server when scrolling according to wireshark
2011-11-21 11:31 <corro> cedk: by the way: we are still using 1.8, forgot to mention it
2011-11-21 11:32 <cedk> corro: have you good performence with other GTK application?
2011-11-21 11:33 <corro> cedk: no performance issues with other GTK applications: GIMP and Pidgin are working fine
2011-11-21 11:35 <Timitos> corro: maybe it would be good to reduce the search limit.
2011-11-21 11:35 <cedk> corro: it is strange but is there any logging message on the client side?
2011-11-21 11:36 <corro> Timitos: It is already down to 200
2011-11-21 11:38 <Timitos> corro: ok. so this should not be the problem
2011-11-21 11:45 <corro> cedk: 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 records
2011-11-21 11:50 <corro> profiling the server shows he's waiting most of the time, it does not tell on what he's waiting though...
2011-11-21 11:50 <corro> could the postgres server be the bottleneck on the server side
2011-11-21 11:50 <corro> ?
2011-11-21 11:58 <zxq9> That's very unlikely unless trytond makes really inefficient calls to postgres *or* that server is suffering from other problems.
2011-11-21 11:59 <zxq9> Of 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.
2011-11-21 13:20 <grasbauer> cedk: ping
2011-11-21 13:28 <cedk> grasbauer: pong
2011-11-21 13:30 <grasbauer> cedk: trying your sphinx - need to nclone the repositories into the path - right?
2011-11-21 13:33 <cedk> grasbauer: that's for the documentation?
2011-11-21 13:34 <grasbauer> cedk: Yes - just to see, how the style looks after building ....
2011-11-21 13:36 <cedk> grasbauer: normally the script fetch every things
2011-11-21 13:36 <grasbauer> cedk: ok got it - ncloned trytond in my sphinx folder
2011-11-21 16:25 <corro> We 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?
2011-11-21 16:26 <zxq9> My 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)
2011-11-21 16:27 <corro> zxq9: So you did not face any problems even in 1.8?
2011-11-21 16:28 <zxq9> corro: I don't remember having problems in 1.8, but my data was much smaller back then.
2011-11-21 16:30 <zxq9> corro: 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.
2011-11-21 16:30 <zxq9> corro: But the main client code would be unchanged, just rendering in something faster to get the large page render time down.
2011-11-21 16:31 <corro> zxq9: 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.2
2011-11-21 16:32 <zxq9> There 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.
2011-11-21 16:33 <zxq9> Some 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.
2011-11-21 16:33 <corro> zxq9: Thanks for the information. Time to force the update then.
2011-11-21 16:34 <zxq9> Corro: It should be easy to set up a test server/client to check and compare the speed.
2011-11-21 16:35 <zxq9> corro: 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.
2011-11-21 16:35 <zxq9> corro: 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)
2011-11-21 16:38 <corro> zxq9: 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.
2011-11-21 16:38 <corro> zxq9: The client however needs another 15-20s until the result is rendered
2011-11-21 16:41 <zxq9> That sounds about like the tests I've done, just much worse.
2011-11-21 16:41 <zxq9> On 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.
2011-11-21 16:43 <zxq9> corro: This is testing on a slightly old client machine. On a faster machine the rendering delay is not very noticable.
2011-11-21 16:44 <corro> zxq9: 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.
2011-11-21 16:44 <zxq9> corro: 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.
2011-11-21 16:48 <zxq9> corro: Two difficult problems in one place: Virtualize Everything + Scripted/Interpreted Desktop Execution
2011-11-21 16:49 <zxq9> corro: 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.
2011-11-21 17:20 -!- pjstevns( has left #tryton
2011-11-21 17:20 <cedk> corro: this is very strange because of other GTK apps are working fast
2011-11-21 17:22 <corro> cedk: the other GTK applications probably don't manage enough data for this effect to show up
2011-11-21 17:23 <corro> cedk: until ~100 invoices everything seemed ok in Tryton too
2011-11-21 17:25 <corro> cedk: we will give 2.2 a try and let you know of any progress
2011-11-21 17:26 <cedk> corro: but you did not show the 2 fields that you added ?
2011-11-21 17:29 <corro> cedk: that's true. But I really don't think they are the key. They are not even shown in the list
2011-11-21 17:32 <corro> thanks for the assistance everyone, bb
2011-11-21 19:38 <zxq9> Regarding the search and "bloatbox" discussion from last week:
2011-11-21 19:39 <zxq9> I am extremely impressed with search now after some testing. Great feature improvement.
2011-11-21 19:40 <zxq9> I 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.
2011-11-21 20:03 -!- Timitos(~kp@ has left #tryton
2011-11-21 20:12 <grasbauer> ACTION 70% done with sphinx template
2011-11-21 20:55 <udono> grasbauer: +1
2011-11-21 20:55 <cedk> grasbauer: is it easy?
2011-11-21 20:56 <grasbauer> cedk: jinja sucks
2011-11-21 20:57 <grasbauer> cedk: and its a lot of reading the sphinx docs
2011-11-21 20:59 <grasbauer> cedk:
2011-11-21 21:01 <grasbauer> cedk: the 3 points in the main navigation are rendered from rst in the docs as well - and they are highlighted if active ...
2011-11-21 21:05 <grasbauer> will do some investigations ....
2011-11-21 21:52 <grasbauer> puh
2011-11-21 21:56 <zxq9> hup

Generated by 2.17.3 by Marius Gedminas - find it at!