Git Product home page Git Product logo

Comments (18)

odino avatar odino commented on July 27, 2024

hey @pulciux thanks for the report!

@nrk could this be a problem by re-using the curl handle?

from orientdb-odm.

pulciux avatar pulciux commented on July 27, 2024

Hi Alessandro.
Thank you for replying.
I've no idea. Have you some suggestion about how to check it out?
I might try to find empirically where is the piece of code causing the biggest loss of performance.

from orientdb-odm.

odino avatar odino commented on July 27, 2024

that'd be great! it was implemente in this pull request

from orientdb-odm.

pulciux avatar pulciux commented on July 27, 2024

You totally right!
I saw you can tell to the CurlClient object to reset itself each time you call its execute method.

So I changed my binding initialization that way:

$adapter = new Doctrine\OrientDB\Binding\Adapter\CurlClientAdapter(new CurlClient(true));
$parameters = new BindingParameters($this->host,$this->port,$this->user,$this->password,$this->dbname);
$this->oobj = new HttpBinding($parameters,$adapter);

and it works. No more additional delay.

I'm wondering. Is it a issue related to the culr library in PHP 5.5?

from orientdb-odm.

odino avatar odino commented on July 27, 2024

I honestly have no idea, especially because the library is only tested on php 5.3 and 5.4 :)

from orientdb-odm.

odino avatar odino commented on July 27, 2024

@nrk do you have any idea?

from orientdb-odm.

pulciux avatar pulciux commented on July 27, 2024

Nope.
I should give it a try on a different environment.
When I'll have enough time I'll set up a virtual machine for some test, exchanging components versions.
Thank you. :-)

from orientdb-odm.

nrk avatar nrk commented on July 27, 2024

@odino & @pulciux sorry I can't look into this until this weekend but I will definitely get back to you after trying to reproduce the same issue.

from orientdb-odm.

pulciux avatar pulciux commented on July 27, 2024

@nrk, thank you in advance.
If you need any additional info just ask, I'll try to produce it.

from orientdb-odm.

nrk avatar nrk commented on July 27, 2024

Just did a quick test against OrientDB 1.6.2 using PHP 5.4.17 and 5.5.6 under MacOS X 10.9 but I couldn't reproduce the reported issue: reusing or not the underlying cURL handle didn't make much difference, the observed timings were roughly the same (between 1ms and 4ms).

@pulciux where is the OrientDB database instance running? Same host of your scripts or a remote host?

from orientdb-odm.

pulciux avatar pulciux commented on July 27, 2024

Same host, connected through remote protocol.

But that's interesting.
Yesterday I've migrated my under develop db from OrientDB 1.6 to 1.6.2 but I haven't tried to change binding setting for orientdb-odm. So I was using it without reusing curl handler.
After your reply I enabled it again and I tried it out. It works as expected. No delay experienced.
Then I've reactivated the older version of OrientDB and the additional delay went back.
So it's definitely related to the OrientDB version.

Here a comparison with curl handler reusing :

OrientDB 1.6.2

2013-12-14T12:28:13+01:00: objects list retrieved
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.0051379203796387 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.0030069351196289 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.0028700828552246 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.0036120414733887 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.0034480094909668 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.0027210712432861 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1

OrientDB 1.6.0

2013-12-14T12:33:11+01:00: objects list retrieved
[Sat Dec 14 12:33:14 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.051347970962524 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:14 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.22251796722412 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:14 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.29134297370911 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:15 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.29687786102295 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:15 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.27451682090759 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:15 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.31422305107117 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:16 2013] [error] [client 192.168.1.129] PHP Notice: time: 0.35869193077087 in /home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1

from orientdb-odm.

odino avatar odino commented on July 27, 2024

Ping @lgarulli

On Dec 14, 2013 4:08 PM, "pulciux" [email protected] wrote:

Same host, connected through remote protocol.

But that's interesting.
Yesterday I've migrated my under develop db from OrientDB 1.6 to 1.6.2 but
I haven't tried to change binding setting for orientdb-odm. So I was using
it without reusing curl handler.
After your reply I enabled it again and I tried it out. It works as
expected. No delay experienced.
Then I've reactivated the older version of OrientDB and the additional
delay went back.
So it's definitely related to the OrientDB version.

Here a comparison with curl handler reusing :

OrientDB 1.6.2

2013-12-14T12:28:13+01:00: objects list retrieved
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.0051379203796387 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.0030069351196289 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.0028700828552246 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.0036120414733887 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.0034480094909668 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:28:13 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.0027210712432861 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1

OrientDB 1.6.0

2013-12-14T12:33:11+01:00: objects list retrieved
[Sat Dec 14 12:33:14 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.051347970962524 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:14 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.22251796722412 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:14 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.29134297370911 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:15 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.29687786102295 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:15 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.27451682090759 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:15 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.31422305107117 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1
[Sat Dec 14 12:33:16 2013] [error] [client 192.168.1.129] PHP Notice:
time: 0.35869193077087 in
/home/gianluigi/onTheCluod/Work/www/jengine2.3p/jdb/orientdb-odm/src/Doctrine/OrientDB/Binding/Client/Http/CurlClient.php
on line 108, referer: http://192.168.1.133/joshua3/stage.php?nomewin=1


Reply to this email directly or view it on GitHubhttps://github.com//issues/168#issuecomment-30569418
.

from orientdb-odm.

odino avatar odino commented on July 27, 2024

ooops /cc @lvca

from orientdb-odm.

lvca avatar lvca commented on July 27, 2024

OrientDB 1.6.2 has little enhancements on performance (and the upcoming 1.6.3 a little more), so I'm expecting it could be faster.

from orientdb-odm.

nrk avatar nrk commented on July 27, 2024

Considering that this issue seems to be specifically related to 1.6.0 and previous or later releases of OrientDB behave normally with our HTTP bindings, I'd be more inclined to close it and eventually put a note somewhere.

from orientdb-odm.

odino avatar odino commented on July 27, 2024

ok, thanks @lvca / @pulciux / @nrk for the feedback! For now we can close this!

BTW performance is pretty solid :)

from orientdb-odm.

lvca avatar lvca commented on July 27, 2024

Great!

from orientdb-odm.

pulciux avatar pulciux commented on July 27, 2024

Thanks :-)

from orientdb-odm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.