World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
GrahamC 18-Dec-2010 [9370] | Yes |
Dockimbel 18-Dec-2010 [9371] | Use SSL: http://it.toolbox.com/blogs/securitymonkey/howto-securing-a-website-with-client-ssl-certificates-11500 |
Oldes 18-Dec-2010 [9372] | Or use Nginx as a reverse proxy to Cheyenne. |
GrahamC 18-Dec-2010 [9373x5] | So, I don't need Apache then? |
I'm currently using Cheyenne ... and stunnel to provide SSL | |
Looks like I could still use stunnel .. and put all the certificates in a directory and disconnect users who don't present a certificate | |
I might have a few hundred users ... so hopefully this can cope. | |
So, I guess I'm asking if anyone has experience with this and was it straight forward? | |
Kaj 18-Dec-2010 [9378] | Hundred users total, or concurrently? |
GrahamC 18-Dec-2010 [9379x2] | total |
I'm looking to implement a nationwide registry for patients taking biologics | |
Kaj 18-Dec-2010 [9381] | Shouldn't be much of a problem performance wise |
GrahamC 18-Dec-2010 [9382] | worst case scenario - 60 concurrent users |
Kaj 18-Dec-2010 [9383] | How many requests would they make within a minute? |
GrahamC 18-Dec-2010 [9384] | I wouldn't have thought that many ... of course I'm just guessing! |
Kaj 18-Dec-2010 [9385x2] | Well, that determines your scalability concerns |
60 Concurrent users is a lot - except if they're idling for five minutes between every request | |
GrahamC 18-Dec-2010 [9387x3] | I guess I can just get a bigger VM if it comes down to it ... :) Yes, I expect they'll be idling most of the time |
So, I guess the next question is .. how does one determine if the server is overloaded? | |
read the logs and ?? | |
Kaj 18-Dec-2010 [9390x2] | Your customers will be on the phone yelling at you :-) |
If it's a Unix box, you use tools such as uptime, top and htop | |
GrahamC 18-Dec-2010 [9392x4] | Windows 2003 server on Ec2 |
I gave them my cellphone so they can pay the charges for yelling at me! | |
heh... the freemed guy was asking if I can rewrite my drug interaction portal in php and python! | |
Hmm... can Magic on Apache run similar RSP code as Cheyenne ? Wonder how hard it would be to port from Cheyenne to Magic | |
Kaj 18-Dec-2010 [9396] | Magic!'s concept is the reverse of RSP |
GrahamC 18-Dec-2010 [9397x2] | reverse? |
I've never used it ... just know it exists | |
nve 18-Dec-2010 [9399x2] | Dockimbel can give you advices. |
There's QM from ChrisRG but not sure it reached a official release. | |
GrahamC 18-Dec-2010 [9401x4] | True and that uses Apache |
This is the app I'm working on to deploy nationwide ( small nation though :) ) https://nzra.cloud-ehr.net/ | |
There's a Guest account | |
Now if a certain big pharma company goes ahead to pay for this as they have said .. I'll put "powered by Rebol" banners everywhere :) | |
nve 18-Dec-2010 [9405] | And Powered by Cheyenne banner ! |
GrahamC 18-Dec-2010 [9406] | that's already ther e... |
nve 18-Dec-2010 [9407x2] | everywhere ! |
;-) | |
Kaj 18-Dec-2010 [9409] | RSP is a template system. Magic! generates pages from REBOL dialects |
Dockimbel 19-Dec-2010 [9410] | Graham, if you're concerned about performances and scalability, I don't understand why you're considering a CGI-based solution? AFAICT, Cheyenne/RSP is the most scalable solution for running REBOL code on server-side. If a single Cheyenne instance is not enough, you can use a nginx front-end to server static content and dispatch the load over several Cheyenne instances. Our biggest online web-app has ~800 users, with several hundreds logging in each day, accessing a 400MB RDBMS with millions of records served by a single Cheyenne instance, with 8 workers (each taking 15 to 25MB of RAM) running on a 2.2Ghz DualCore CPU with 2GB of RAM. Average Cheyenne load is 2 req/s with peaks up to 100 req/s (usually caused by web scanners or attacks). The webapp is still performing well under these conditions, and we have plenty of space to improve performances when it will be required (with faster hw and more instances). Also, a key factor is optimizing webapp's code, especially for the most used RSP pages. Btw, a profiler would be a good addition to Cheyenne/RSP framework. |
Kaj 19-Dec-2010 [9411] | Cool |
nve 19-Dec-2010 [9412] | Great, I was sure that Cheyenne can do it ! |
GrahamC 19-Dec-2010 [9413x2] | Doc, it wasn't me .. it was these other guys who wanted to use this thing I'm writing where they don't have the option of installing Cheyenne. |
They also asked me to port to python and php ... lol | |
Kaj 20-Dec-2010 [9415] | One version in Python and one version in PHP? |
GrahamC 20-Dec-2010 [9416] | I guess so ... |
GrahamC 29-Dec-2010 [9417x2] | Given this JS if ( bValid ) { var dataString = 'pain=' + pain + '&ptgl=' + gs + '&fn=' + fn + '&rapid3=' + rapid3 + '&fatigue=' + fatigue + '&ros=' + ros + '&ems=' + ems + '&patient=' + '<%=patient%>' ; //alert (dataString);return false; $.ajax({ type: "POST", url: "add-rapid3.rsp", data: dataString, success: function() { // removed ... } }); return false; //$( this ).dialog( "close" ); } }, what would cause this? 28/12-23:58:37.055-[DEBUG] c: [pain "[object Object]" ptgl "[object Object]" fn "[object Object]" rapid3 "[object Object]" fatigue "[object Object]" ros "[object HTMLInputElement]" ems "[object Object]" patient "7"] where the add-rapid3.rsp is <% ; add-rapid3.rsp c: request/content ?? c exit %> |
guess my javascript is screwed somewhere ... | |
PeterWood 29-Dec-2010 [9419] | This is a result of not overriding the default toString() method in your pain, gs, fn, rapid3, fatigue, ros and ems objects. |
older newer | first last |