Oren - Thanks for the reply !So, is there a way to _fix_ the 200ms write problem if running a web app on RavenHQ at AppHarbor?>> ...you are aware that you are actually testing this with remote machine cost tied in, right?Yes, I'm aware I'm testing with a remote machine. Maybe I'm under-informed, is there another way to deploy a web app using RavenHQ at AppHarbor?
>> If you want to test performance, you can try creating a local test, because that neutralize the network noise.
I just want my application to perform well when I deploy it on AppHarbor. Since it does about 50/50 read/write, the slow write performance is very concerning. In the stackoverflow question, I mention 2 tests. The first is on my local network - although it did use separate machines. The second (see the "Edit") is at AppHarbor and is just the sample that AppHarbor provides for RavenHQ (which you guys may have provided to frissm?) - you can try it yourself and there are links for the source as well. I've also tried it on my local machine and while it's a bit faster, it's still +10x times slower than SQL Server or MySQL.
>> Also, it is quite important to note what IO you have.
The AppHarbor sample simply persists a single string (a "Thingy") that you enter. That's it. So, there is very little I/O.
Oren - Thanks for the reply !So, is there a way to _fix_ the 200ms write problem if running a web app on RavenHQ at AppHarbor?>> ...you are aware that you are actually testing this with remote machine cost tied in, right?Yes, I'm aware I'm testing with a remote machine. Maybe I'm under-informed, is there another way to deploy a web app using RavenHQ at AppHarbor?
>> If you want to test performance, you can try creating a local test, because that neutralize the network noise.
I just want my application to perform well when I deploy it on AppHarbor. Since it does about 50/50 read/write, the slow write performance is very concerning. In the stackoverflow question, I mention 2 tests. The first is on my local network - although it did use separate machines. The second (see the "Edit") is at AppHarbor and is just the sample that AppHarbor provides for RavenHQ (which you guys may have provided to frissm?) - you can try it yourself and there are links for the source as well. I've also tried it on my local machine and while it's a bit faster, it's still +10x times slower than SQL Server or MySQL.
>> Also, it is quite important to note what IO you have.
The AppHarbor sample simply persists a single string (a "Thingy") that you enter. That's it. So, there is very little I/O.
Since it does about 50/50 read/write, the slow write performance is very concerning.
I would spend some time analzying your models and indexes. You most likely didn't model transaction boundaries well and have documents that are too granular and behave like SQL server table rows and not actual documents.
duration (ms) | with children (ms) | from start (ms) | |
---|---|---|---|
59.8 | 618.5 | +0.0 | |
20.4 | 346.0 | +10.8 | |
5.1 | 5.1 | +17.1 | |
320.5 | 320.5 | +29.5 | |
212.7 | 212.7 | +383.4 | |
shareshow trivialhide time with children |
The example app on Appharbor just has one model with a single field Name.
While porting a more complex app, I noticed writes were taking a long time. I tried a few things, but kept seeing slow writes and decided I needed to make sure it wasn't my code or setup. So, I looked around and found a super-simple sample on AppHarbor which was good since I'd like to deploy on Appharbor using RavenHQ. The Appharbor sample is what we're talking about now because it shows the same slow writes.