thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer" <jensge...@hotmail.com>
Subject Re: Thrift-deserialization performance issue with newer nodes
Date Tue, 17 Nov 2015 23:11:38 GMT
Hi Erik,

something reproducible is always a good thing to have.
Could you put together some isolated test case and file a JIRA ticket?

That would be awesome.

Have fun,
JensG


-----Urspr√ľngliche Nachricht----- 
From: Erik Karlsson
Sent: Monday, November 16, 2015 10:10 AM
To: user@thrift.apache.org
Subject: Thrift-deserialization performance issue with newer nodes

Hi,

I'm sorry if this has been discussed on the mailing list earlier. Tried to
find any discussion around this but couldn't find. This may be an issue
with the newer node.js but would like to ask if anybody else have
experienced similar cases.


I have been using thrift to transport data between servers. One of the
server that I'm using is done in javascript and running on top of node.js
(0.10.39 series). The problems started when I tried to update the server to
newer ones. Deserialising messages passed to node.js server started to take
10x more time than before.

We are passing quite complex objects (structs with list of structs etc.).
I tried to simplify the issue as much as possible. If creating a method
like this:

service TestApi {
    list<map<string, string>> findThingsById(1: i64 avatarId)
}

(no structs etc.)

The issue is present. When passing list of 2000 objects with around 8 keys
each the performance drop is very visible compared with node 10.39 and node
0.12.2.

With rudimentary profiling the most time is spent reading the actual
message and constructing the corresponding javascript native object.


I'm using SSL connection between the servers.

Have anybody else had similar type of issues? Or any ideas what to do with
the case.
Thanks beforehand.


BR,
- Erik 


Mime
View raw message