Question Webspeed And Iis 7.5 Hosted In Separated Servers?

konfuncio

New Member
Hi friends!

The title is quite explanatory. Maybe I am asking for a silly thing, but we would like to develop in this scenario. The reason is because, as far as we know, we are not able to install webspeed separated from the rest of the OpenEdge bundle. Currently we have a Progress installation to host the database, and therefore we have our OE license already commited.

Many thanks in advance.
Alberto.
 

lee.bourne

Member
If you log into your Progress online account you'll find a list of 'free' license codes. One of these will be for the Progress Messenger (cgiip.exe). You can set this up on your web server and point it your web brokers on your current OpenEdge box by modifying cgiip.wsc.

For more info take a look at WebClient Executables | Progress Software
 

joey.jeremiah

ProgressTalk Moderator
Staff member
sure. you can do that. lookup messenger only installation on the documentation or knowledgebase. plus you don't need any extra license or products to install just the messenger on another machine. there's a free download for the messenger only installation at the progress esd.

BUT putting the messenger and appserver/webspeed on different machines will cost an extra 300 milliseconds per request (ymmv) for all the extra communication between the servers. it will definitely run smoother and faster on the same machine.

NEVER put the database and appserver/webspeed on different machines that could make your queries 10x times slower! because of the way progress queries work.

BEST thing is to put everything together. why not install a webserver on the same machine?
 

konfuncio

New Member
Thanks for so quick replies!

I will check all this documentation you mention, and regarding the reason to separate, we would like to have it organized: one server for progress database (and webspeed) and other for web issues (internal Web Site, Share Point developments, etc.). We will check anyway the response times we get and reconsider this architecture if necessary.

Kind regards.
 

lee.bourne

Member
For intranet applications I would agree with Joey. Install everything on the same machine, both for performance and simplicity.
For public facing internet applications then your split of webserver/messenger on one machine and webspeed/appserver/db on a second machine makes sense for security reasons.

Lee
 

GregTomkins

Active Member
NEVER put the database and appserver/webspeed on different machines

That is not bad advice and it's certainly true that putting everything on one machine will make individual queries slower. But if you put AppServers onto another machine, you will be able to scale users much closer to linearly, and with greater flexibility, which can be important if you get into the 100's / 1000's of concurrent users scenario. So I wouldn't say 'NEVER'.

In our world, our larger customers all run AppServers on separate machines (usually several of them). The smaller ones run single-machine (except for web servers of course), but, we are moving towards standardizing on multiple-machines for everyone, since we don't really care about the smaller customers anyway.
 

konfuncio

New Member
I followed your advices and installed a messenger in the web server. Following up the Progress documentation, I understand that´s the only component that I should install. But now, my concern is how to communicate both the Web Server and the WebSpeed server. As far as I understand, It´s a matter of ubroker properties files, but I admit being a newbie in webspeed world, so all these terms and concepts are pretty confusing for me xD.

This is what I have, obviously wrong because it doesn´t work:

In WebServer (Messenger):

[NameServer.NS1]
srvrLogFile=@{WorkPath}\NS1.ns.log
environment=NS1
location=remote #set up by me
host=192.168.0.224 #set up by me (where 192.168.0.224 is the IP Address of the WebSpeed Server)

I understand that nothing has to be done in the WebSpeed Server configuration, right?

Edit: the basic test http://localhost/scripts/cgiip.exe/ping doesn´t work either, what makes me think there´s something wrong in the IIS configuration...

Many thanks in advance.
 

joey.jeremiah

ProgressTalk Moderator
Staff member
That is not bad advice and it's certainly true that putting everything on one machine will make individual queries slower. But if you put AppServers onto another machine, you will be able to scale users much closer to linearly, and with greater flexibility, which can be important if you get into the 100's / 1000's of concurrent users scenario. So I wouldn't say 'NEVER'.

In our world, our larger customers all run AppServers on separate machines (usually several of them). The smaller ones run single-machine (except for web servers of course), but, we are moving towards standardizing on multiple-machines for everyone, since we don't really care about the smaller customers anyway.

ahhh, NEVER!!!

i would never put a database and appserver/webspeed on different machines. the performance hit is far greater than anything else.

because the progress database server can only execute single table queries, for each statements are broken by the client into nested single table queries.

for example -
for each orderline, each item of orderline:

woud be broken down by the client to -
for each orderline:
for each item of orderline:
end.
end.

so for every orderline record a new query will be opened for the item query which will require an additional network round trip.

let's say there are 13,000 orderline records, on average every roundtrip is 1 millisecond which comes out to an additional 13 seconds so a query that would take you 200 milliseconds with a self-service connection would take you 13+ seconds on a network connection.

bottom line is if you're running big queries they're hundreds of times slower than they would be running on the same machine.
 
Last edited:

konfuncio

New Member
If I try this the browser asks me for choosing opening the cgiip.exe file or saving it from localhost, as if it were a file to download from a web page :(. Rather weird....
 

joey.jeremiah

ProgressTalk Moderator
Staff member
If I try this the browser asks me for choosing opening the cgiip.exe file or saving it from localhost, as if it were a file to download from a web page :(. Rather weird....

If that's the problem then the cgimodule handler mapping doesn't exist or is not working and it's just treating the cgiip.exe as a regular file.

Are you sure you added a handler mapping and restarted the server?
 

konfuncio

New Member
Yes, I did:

upload_2015-11-10_19-16-32.png

Ok and restart. Anyway, what you say makes a lot of sense for me. Do you have any other idea of what could be happening?

Thanks.
 

joey.jeremiah

ProgressTalk Moderator
Staff member
Yes, I did:

View attachment 1424

Ok and restart. Anyway, what you say makes a lot of sense for me. Do you have any other idea of what could be happening?

Thanks.

i don't use iis but i think you used add script map or add wildcard script map instead of add module mapping like it says in the knowledge base article.

the screen should have a type combobox and you should select cgimodule from the list.
 

konfuncio

New Member
Yes, you are right, the screen actually had a comobox to select cgimodule:

upload_2015-11-11_8-51-11.png

But surprisingly (at least for me xD) it shows the other look when opening to modify...
I will keep investigating, but my brain is close to be exhausted xD.
 

konfuncio

New Member
I made a mistake writing the extension in the path in last screenshot, but the correct one is that (*.wsc):

upload_2015-11-11_10-6-4.png

And this is how I set it up in my IIS.
 
Top