Page 1 of 1

Compress Data between client and server?

Posted: 15.04.2011, 13:20
by mparak
Hi Friends,
If I select to text file, zip the file, copy the file over the wire, unzip and restore the records to a temp file, it is often much faster than a straight select.

I am told that if there is a way of compressing the data that I send over the wire, at the level of the connection I could get an amazing improvement in performance.

Any ideas?

Regards

M Parak
CAD RETAIL South Africa.

Posted: 17.04.2011, 12:00
by ism
There is a utility "mysqlimport", it can enable built-in compression MySql

C:\Program Files\MySQL\MySQL Server 5.5\bin

Posted: 17.04.2011, 18:00
by mparak
I think maybe I did not explain myself. Let me first comment on the mysqlimport matter.
I have successfully used this utility to load data to a Mysql server. With compression.
What I am trying to do is enable compression between the Tconnection and the Mysql server to reduce the traffic when a TzQuery or tTable object acceses data over a slow connection.
I am not sure that the mysqlimport suggestion is able to help me with this.

Posted: 18.04.2011, 22:57
by designshouse

Posted: 19.05.2011, 21:45
by mdaems
mparak,
Did this help?

Mark

Posted: 20.05.2011, 13:55
by mparak
Hi mDeams,

I set the connection property to compressed, using all the various methods, and did not notice any change at all.

My next option is to write a sever application which listens to the remote requests using sockets. Maybe I can compress the traffic between them myself. It would have been nice if the easy way worked though.

Regards
MParak
Durban South Africa.

Posted: 20.05.2011, 20:29
by trupka
mparak,
compression mostly doesn't hurt but there are other factors that influence network bandwith. Network latency is one of them. If your network communcation consists of mostly smaller packets (mysql protocol is close to that definition) , this can be serious issue (time between two data packets is large).
There are no general and simple solution to this problem. However, in most cases it can be done (this stuff is part of my daily job).
Can you provide some more info about network type, params and data sizes? How long currently does it take? Your expectations?