World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
BrianH 9-Jan-2009 [3718] | Cheyenne has FastCGI already, and uses it to call PHP.. |
Anton 11-Jan-2009 [3719] | Excuse me if I'm wrong, but "Accept-Ranges: bytes" is not implemented. Can this be done ? I've just tried to resume a file from Henrik's server, and noticed that it has "Accept-Ranges: none". I know this means the web server is advertising "you can't resume!" My download client can use this information to avoid trying to resume, but it would be even better if the server allowed me to resume too :-) |
Dockimbel 11-Jan-2009 [3720] | See the roadmap at http://www.cheyenne-server.org/roadmap.shtml(at 1.x section). |
Anton 11-Jan-2009 [3721x3] | Byte-Ranges -- way down the roadmap list after big-sounding items :-() I have to wait. No problem. |
(Hmm... isn't it pretty easy, though ?) | |
(I didn't say that - of course it isn't as simple as it seems on the surface..) | |
Dockimbel 11-Jan-2009 [3724] | It's not difficult, but requires deep changes in UniServe layer, so it takes some times to make the required changes without making regressions. Anyway, it's more a matter of priority, and dependencies, I need the full unit tests suite ready to start making such changes. From 1.0, I need completly stable Cheyenne releases without any regression. |
btiffin 11-Jan-2009 [3725] | Umm; Go Doc Go! not that you haven't heard THAT one before. ;) |
Janko 11-Jan-2009 [3726x2] | Just wanted to say I've started using Cheyenne with RSP yesterday to make some webapp and so far it all works awesome-ly! :) |
I always thought that because cheyenne is pure rebol it will be quite slow but http_load got me 250 req/sec on a RSP page which is unusually good. I rememeber when I was playing with Lua a while ago (which is one of few the fastest dynamic languages) and Kepler(it's default webapp thing at the time) and I tested lua based webserver it was quite slow, same is known for webrick from ruby etc.. and also my php with all the needed includes were well below 50 r/s. So awesome job Dockimbel ! | |
Dockimbel 11-Jan-2009 [3728] | Thanks for these interesting info. Cheyenne has been optimized for speed, caching in memory, at all levels is the key for performances. There's still some space for some speed improvements. |
Janko 11-Jan-2009 [3729x2] | The debug mode is also very nice, catching before redirecting also helps a lot |
the biggest blockage in developing learning was just now when I was making login function and it stopped setting cookie, it took me at least half an hour looking at the code and then I discovered I disabled cookies by accident in FF webdev toolbar :) | |
Dockimbel 12-Jan-2009 [3731x3] | If you have propositions for improving the debug mode, I'll be glad to hear them. I'm currently working on a new Cheyenne release with a big cleanup of all debug and error logging done by background RSP processes. It will basically generate only 2 log files : error.log and debug.log. You'll be able to send content to debug.log file using some functions like : - debug/print data - ?? word |
Btw, I've tried to use file locking method to be able to sync writes to the same file from several processes. None of the file locking code found on rebol.org works reliably enough. At best, all processes can write their content to the file, but the order is messed up (each line starts with a timestamp), so not usable in my case. I didn't want to try using OS native file locking API, I'm afraid that a frozen process could permanently lock the file and block all the other processes, so it's too risky (at least using only REBOL, I could have some escape strategy to avoid that). | |
So, the solution I choose was to add a log service in Cheyenne that would serialize all log messages passed through TCP connections and write them to log file from the main process. It's kind of pulling out the big guns for a very simple problem, but that's the most reliable solution I could found. I would be interested to know if anyone has a better option. | |
Janko 12-Jan-2009 [3734x2] | doc: I will tell you if I get any ideas while working on it .. so far nothing substantial. |
About how you solved it, it might seem like big guns but it seems very good solution for looging to me, in fact I was thinking of something similar and saw it on some places - that all procedures that aren't involved in producing a html response get offloaded to other processes that can take their own timepace | |
Kaj 12-Jan-2009 [3736] | Yes, background servers are customary for solving the logging problem, in Unix for example, and it may also make better use of multiple CPUs or cores |
Gregg 12-Jan-2009 [3737] | Same idea here Doc. Apps can do individual logging, which can then be merged for analysis. But if you need everything to go to a single log file, you need a controller for them to go through. I'm also still very big on the DTrace model. |
Will 12-Jan-2009 [3738] | gregg can you read Dtrace sample output? I have an issue where cpu goes 100% and no clue what rebol is doing so, on os x 10.5 intel I can sample that process but have no clue on reading it |
Gregg 13-Jan-2009 [3739] | My experience with DTrace is mainly studying the design. How useful the output is depends on the probes, which REBOL won't have to help us at the app level. What probes are you using? |
amacleod 22-Jan-2009 [3740] | I'm having trouble getting Cheyenne running as a service with windows server 2003. I get this message when I try to start from the services list: Could not start Cheyenne Web Server service on local Computer. Error 1053: This service did not respond to the start or control request in a timly fashion. |
Will 22-Jan-2009 [3741] | linode or slicehost? Marteen is for slicehost, Ken Collins is for linode, I like linode, any last counter advice? thx! |
Janko 22-Jan-2009 [3742x2] | I liked linode but haven't tried slicehost yet |
will you be using it for server or something less hungry , like crawler, bot.. etc? because for that there are even cheaper vps-s | |
Will 22-Jan-2009 [3744] | I'll use it for cheyenne, web serving, thx for your advice, if nobody comes against linode , I'll go for it 8) |
Janko 22-Jan-2009 [3745] | are there any noticable differences in features between the two? I will need a new vps too soon |
kcollins 22-Jan-2009 [3746x3] | I have used both Slicehost and Linode. Both provide excellent realiability; I did not experience any downtime with either provider. Linode provides somewhat more memory, storage and transfer allowance for the same price. I ran a benchmark against both and got about 15% better performance from Linode. |
A big advantage for Linode is the amount of control it gives you. With Slicehost you have a single disk volume and your slice is either running or not. Linode allows you to have multiple volumes. These can be mounted simultaneously, which can be nice if you want to prevent /var/log from filling the disk. | |
In addition, as space allows you can have multiple different profiles. So you could run different distros from the same VPS, although not simultaneously. | |
Janko 22-Jan-2009 [3749] | yes, the different profiles is really cool feature , especially at developement experiment time |
kcollins 22-Jan-2009 [3750x2] | There are a variety of other nice features. You can have multiple users with different levels of control over your VPS. Another nice thing is that performance graphs are available over the web on the Linode Manager screen. |
Another thing to be aware of is that Slicehost by default gives you a 64 bit distro. That caused me some problems I didn't want to deal with. | |
Janko 22-Jan-2009 [3752] | I was just talking to some client of mine and he proudly told me that they moved all stuff to 64 bit... and I scratched my head a little thinkihn about potential problems |
Will 22-Jan-2009 [3753x2] | Thank you Ken and Janko for these insightfull details. |
One more question, what distro would you suggest? Any problem with rebol and Debian 4.0 ? | |
Janko 22-Jan-2009 [3755] | I always used debian , not sure what version and rebol always worked |
Will 22-Jan-2009 [3756] | Great, thanks Janko! |
Dockimbel 22-Jan-2009 [3757] | Amacleod: are you using the enpro or enface binary version? |
kcollins 22-Jan-2009 [3758] | I use Debian 4.0 32 bit and REBOL 2.7.6 runs with no problems. |
Will 22-Jan-2009 [3759x2] | Thanks Ken, that's what I'm going to use 8) |
btw, http://journal.dedasys.com/2008/11/24/slicehost-vs-linode | |
amacleod 23-Jan-2009 [3761x2] | Doc, I'm using Enface. I'll try Enpro |
Enpro does not work either They work as an application but when I change over to service it won't start up. If I go to admin services panel I can see it there but I get the error message above if I try to start it. | |
Dockimbel 24-Jan-2009 [3763] | Never tested the service mode on WS2003. I have a WS2003 disk image somewhere, I'll see if I can reproduce the error. |
Janko 24-Jan-2009 [3764] | just to say that I am still working on cheyenne based web-app .. I find cheyenne rsp api very well designed, everything is obvious and simple.. I will put out some sources of the tools I built to help me develop, nothing special but maybe can come handy to someone |
Henrik 24-Jan-2009 [3765] | Janko, perhaps you want to try the HTML dialect? http://www.hmkdesign.dk/rebol/html-dialect/docs/0.0.7/html-dialect.html |
Janko 24-Jan-2009 [3766] | wow, I imagined smaller dialect but this is quite impressive. I won't use it for this project as I have most made it already, but I will look at it deeper for next. I also made a forms dialect also, which is not so different than yours at first sight at least. |
Dockimbel 24-Jan-2009 [3767] | Thanks Janko, the RSP API is very inspired by other APIs like ASP and JSP, so most of the credits goes to Microsoft and Sun ;-). |
older newer | first last |