r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

BrianH
9-Jan-2009
[3716]
It's basically a simplified, non-multiplexed alternative to FastCGI. 
It seems to me that it may have less overhead.
Pekr
9-Jan-2009
[3717]
having fast-cgi would be fine. But - fast-cgi does not have sense 
for Cheyenne, no? Hmm, maybe it does, when you use e.g. php ...
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