World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
Graham 11-Oct-2006 [138x2] | memory resident db ? |
Carl's blog needs a way to implement emoticons ! | |
Terry 11-Oct-2006 [140x2] | :( |
Rebol is alive... again :) | |
Dockimbel 12-Oct-2006 [142x2] | Graham: good idea, I already wrote REBOL code to support emoticons in another project. I'll add it to the blog. (Note to myself : The link to Carl's blog source code disapeared in our blog template file, I have to put it back!) |
Memory DB: even in memory if you count the overhead of a SQL layer + storage layer, it would still be much slower than direct storing of data in a REBOL block! or hash!. | |
Maarten 12-Oct-2006 [144] | Doc: I know, but I also read the RubyOnRails book where they measured all this. A database scales better, and for low usage the performance hit you tahe is little. Files/memory is faster but collapses pretty soon, MySQL runs with constant overhead (and little enough, I might add). It is more a question of balancing performance with different load scenarios. |
Rebolek 12-Oct-2006 [145] | http://en.wikipedia.org/wiki/Comparison_of_web_servers Cheyenne missing here :) |
Graham 12-Oct-2006 [146x2] | I was using rebol blocks to store greylisting data ... |
However after a few hundred thousand greylisting entries .. it started to collapse a little. I should have gone db ... | |
Louis 12-Oct-2006 [148] | Doc, I am also one of your fans. I've been going to your web site regularly to see if Cheyenne was released. I was excited to be able to download it. But I have a problem. Cheyenne loads fine, but when I try to test the links on the index.html page they fail. What am I doing wrong? |
Dockimbel 12-Oct-2006 [149] | Are you using the exe version or source version ? What OS ? Any crash.log file found ? |
Louis 12-Oct-2006 [150] | Both versions act the same. Win XP Home. No crash.log file found. This is what loads: [uniserve] Async Protocol FastCGI loaded [uniserve] Starting task-master... [uniserve] Starting HTTPd... |
Dockimbel 12-Oct-2006 [151] | Can you give me details on what is failing precisely ? |
Louis 12-Oct-2006 [152] | Test CGI script Test RSP script Test RSP WebApp |
Dockimbel 12-Oct-2006 [153] | What error message do you have ? |
Louis 12-Oct-2006 [154x3] | For the RSP WebApp test I get: The page cannot be displayed The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings. |
For Text CGI script I get: #!/usr/bin/rebol --cgi REBOL [ Title: "show" File: %show.r ] print "Content-type: text/html^/" print {Back } print ["Script path :" system/script/path " ] print CGI Object :" print " foreach name next first system/options/cgi [ either :name = 'other-headers [ print [ name : ] foreach [n v] list: system/options/cgi/:name [ print [ n : " mold select list n ""] ] print " ][ print [ name : " mold system/options/cgi/:name ""] ] ] print " if system/options/cgi/request-method = POST" [ vars: make object! decode-cgi make string! input if not empty? next first vars [ print " Variables passed : foreach name next first vars [ print [ name : " mold vars/:name ""] ] print " ] ] print | |
For Text RSP script I get: Back Timestamp: Request parameters : HTTP Method: HTTP Port: Client IP address: Request headers : Request variables : Session : SID: No session | |
Dockimbel 12-Oct-2006 [157] | Looks like the configuration parameters are not loaded...Did you modified your httpd.cfg ? |
Louis 12-Oct-2006 [158x3] | No. |
However, since it wasn't working, I did set the includes to the SDK sources on my harddrive, and then reencapped. | |
For the tests, I get the same results whither Cheyenne is running or not. | |
Dockimbel 12-Oct-2006 [161x4] | Did you tried without encapping, just using the sourced version ? |
The encapping procedure is special for Cheyenne, it needs to be run in normal mode first before encapping to preprocess the source and generate the .cache.efs file. | |
Btw you shouldn't get any result if Cheyenne is not running ! | |
Are you testing using the http://localhosturl ? | |
Louis 12-Oct-2006 [165] | OK, http://localhostworks. I have a lot to learn, as you can see. Thanks for helping me through this. I was just clicking on the index.html file in the www folder. |
BrianH 12-Oct-2006 [166x2] | Can you make the session storage server a RebService, called from the various processes that need to read/write the data? That overhead might be less than the SQL overhead. |
I haven't had a chance to review the Cheyenne source yet. Are the subprocesses called by a central broker? Perhaps that broker can manage the session data. That way any in-process accesses could be almost as fast as straight block access, with only API overhead. | |
Will 12-Oct-2006 [168] | Brian, that is exaclty how sessions are handled right now. Sessions are managed by central broker uniserve with service httpd.r and data exchanged with task-handlers subprocesses executing rsp |
BrianH 12-Oct-2006 [169] | Well, if you package the session data in a manager API, you can export that API as a REBOL Service that subprocess can use as well. |
Will 12-Oct-2006 [170] | are rebol services stable and fast? |
BrianH 12-Oct-2006 [171x2] | Not sure. I remember that there was a version built on UniServe, same as Cheyenne, so we could use that. |
Or was it built on BEER? | |
Dockimbel 12-Oct-2006 [173] | It's BEER I guess, not UniServe/ |
Louis 12-Oct-2006 [174x3] | Does the REBOL/Plugin work with Cheyenne? |
Doc, please see my posts in the Plugin-2 group. | |
Also, would be nice to have a link on your Cheyenne page to your Cheyenne blog. | |
Dockimbel 13-Oct-2006 [177x2] | REBOL/Plugin: yes, as any other HTTP client. |
Blog: I'll add it this WE, I'm still doing adding some features to the blog, I'd like to test it a few days more with a low traffic. | |
BrianH 13-Oct-2006 [179] | I'd love if there were an LNS implementation built on UniServe. This would let you turn Cheyenne into a general purpose app server. |
Pekr 13-Oct-2006 [180] | general? Rebol general,no? maybe XML-RPC would be interesting for non-rebol world, but it could be added too .... |
BrianH 13-Oct-2006 [181x2] | I've been thinking of LNS syntax shims that would allow REBOL services to be called by non-REBOL clients. |
Does Cheyenne have an option to limit which network adapters it will serve to? For example, I have 5 adapters on this computer (ethernet, wireless, 2 VMware, Hamachi), maybe 6 counting localhost, and I would like the web server to only be visible to the virtual adapters, not even opening a port on the physical ones. I remember this being difficult in REBOL, that REBOL would always open server ports on all available adapters, so you would have to inspect the incoming connections and filter. Have you come up with a better workaround for this, or a way to do it properly? | |
Pekr 13-Oct-2006 [183] | IIRC via set-modes/get-modes, you can know what adapter is involved. I am afraid there is no other way how to prevent this. Opening a socket is OS thing imo, and I wonder if C socket functions allow you to choose your device? |
BrianH 13-Oct-2006 [184] | They do, AFAIK. I do have the standard Windows firewall installed, but it would be better (lower overhead) to just not open the port on the wrong adapters in the first place. |
Dockimbel 13-Oct-2006 [185] | It can be done at the C socket level, unfortunately, I don't know any way of doing that from REBOL. I guess that's not supported in the current REBOL port!. |
Graham 13-Oct-2006 [186x2] | Can Cheynne support Ajax ? |
Does each http request spawn a new instance ? | |
older newer | first last |