Comments (18)
hey @pulciux thanks for the report!
@nrk could this be a problem by re-using the curl handle?
from orientdb-odm.
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.
that'd be great! it was implemente in this pull request
from orientdb-odm.
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.
I honestly have no idea, especially because the library is only tested on php 5.3 and 5.4 :)
from orientdb-odm.
@nrk do you have any idea?
from orientdb-odm.
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.
@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.
@nrk, thank you in advance.
If you need any additional info just ask, I'll try to produce it.
from orientdb-odm.
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.
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.
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=1OrientDB 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.
ooops /cc @lvca
from orientdb-odm.
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.
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.
ok, thanks @lvca / @pulciux / @nrk for the feedback! For now we can close this!
BTW performance is pretty solid :)
from orientdb-odm.
Great!
from orientdb-odm.
Thanks :-)
from orientdb-odm.
Related Issues (20)
- HTTP Client Separation HOT 3
- what happened to the github-wiki HOT 1
- problem with composer "symfony/finder": "2.1.*" HOT 3
- Use maven to install OrientDB in travis HOT 3
- Use with Symfony2 HOT 18
- Missing 'LIKE' detection on Command 'where' method HOT 5
- Question mark in a query causes a server parsing error HOT 3
- Question
- Use with Laravel 4 HOT 2
- [Proxy] Implement a proper ProxyFactory HOT 2
- [Caster] Cache usage
- SQL Update returns Cannot execute non idempotent command HOT 1
- Use as Symfony service HOT 9
- Fatal error: Class 'Doctrine\ODM\OrientDB\Mapper' not found HOT 8
- Binary protocol? HOT 12
- Tests failing HOT 5
- Fatal error: Call to a member function getId() on a non-object
- Active HOT 3
- State of the project HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orientdb-odm.