Different HTTP servers...

I know that Apache is the most widely used http server on the web and has been for quite some time. I plan on setting up my web server with Apache, and using it for 3 out of my 4 websites, but for the 4th website I would like to try an alternative just to learn something else. At first the only other http server software I knew of was lighttp, but I noticed nginx on the recently updated RSS. I clicked over to their website and while they only have 1%-4% of the internet, they have sites like wordpress and hulu... It got me to thinking...
Theoretically the job of an http server is a fairly simple one. It delivers organized text files though the network to client side computer based readers called browsers. The size of a lightly organized text file is relatively minuscule compared to the speeds the internet currently operates, thus a lighter weight http server should be able to serve up more text files faster because they take up less CPU and memory per transaction than a heavier one, thus the attraction of lighttp and nginx.
I figure that while Apache has more functionality, that is not always needed, so it may start seeing it's user base shrink in the future as virtualized processes run the http servers. Virtualization inherently leaves less CPU and RAM than a dedicated 'bare metal' OS, and thus would see the most benefit from the lighter http servers. If this proves to be the case, then more major sites like hulu and wordpress will turn to more efficient solutions. This means that it would be beneficial to me to learn more than just Apache as a newcomer to the field.
What I really want to know is:
1) Do you guys/gals feel that my thoughts are logical and likely start happening?
2) What are the pros and cons of the non-Apache http servers?
3) What sorts of pitfalls am I really looking at when I sacrifice functionality for speed?
Truthfully I am only presuming that Apache is more functional than other solutions while being slightly slower... am I incorrect? I plan on pulling in a great deal more research as well, but I figured I would ask you guys for opinions as Archers tend to be very knowledgeable. (Most way more so than I to be honest.)

LeoSolaris wrote:Thank ya! Are lighttp and nginx the only two alternatives to Apache? I may give them both a spin since I have the available addresses for it.
There are others. cherokee is one, lightspeed is another one (but i don't think it is 'free'). I have used neither of them.
@cactus: what would you say is the main difference between cgi and fastcgi.... by the name one would think that fastcgi would be the "better" implementation.
cgi is single execution and terminate. Think of it like the webserver running a shell script. It runs once, returning the output. Each invocation of a page is a new execution of that script, with all the overhead of loading the file, the virtual machine, standard library, etc, etc.
fastcgi is persistent small serving process. you run a fastcgi instance that takes requests on a socket or tcp port (fastcgi protocol). It then returns a result, and waits for the next request. You only have the virtual machine, script, standard library, etc, loaded up at startup of the fastcgi instance. This is generally much faster/more efficient.
http://www.fastcgi.com/devkit/doc/fastc … astcgi.htm  a likely superior description than i just attempted to give...
Last edited by cactus (2009-09-16 05:42:12)

Similar Messages

  • Portal Import/Export Different OID Servers

    We are trying to move our 9ias instances (portal) to another set of servers used for production with security. Both instances are associated with their
    own OID/Infrastructures - they are not sharing the same infrastructure.
    I reviewed Note:216572.1 Subject: Exporting/Importing in Oracle Portal 9.0.X, but it does not tell you the steps required to migrate the users/groups as well. I also looked at the Portal 9.0.2 Export/Import FAQ (http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/OTN_CONTENT/MAINPAGE/DEPLOY_PERFORM/EXPORT_IMPORT_FAQ_1120.HTM) , but neither tell you how to export the users. They only say to use the OID Tools. What tools?
    Excerpt from FAQ:
    How do I export/import objects (with security) between portals using different OID servers in 9.0.2?
    A manual workaround is available:
    1. Use OID utilities to migrate Users/Groups from source OID server to target OID server.
    2. In Oracle9iAS Portl, migrate portal objects with "export security" enabled from source Portal to target Portal
    3. (MANUAL) For the imported users, set the guid to null (WWSEC_PERSON$.GUID)
    4. (MANUAL) For the imported groups, update the guid using the instructions found in the section below on how to update the GUID.
    Please refer to th[i]Long postings are being truncated to ~1 kB at this time.

    To migrate users, groups, and security within Portal, you must have a common OID environment. The difference between all OID implementations is the RootDSE, (the part that starts with dc=..,dc=..., etc.
    You have to extract the user base and portal groups (and any other unique objects and attributes) from the old OID environment and and use the extraction to create an ldif file that will add these to the new OID environment. The ldif must have its own RootDSE for all distinguished names (dn) and common names (cn) in the ldif file.
    We basically created our OID migration solution around a Java applet that prompts for the OID IP address, OID HOST NAME, OID ADMIN USER, and OID ADMIN PASSWORD. It access the new OID environment and extracts the RootDSE, then builds the ldif file for import of groups, objects, and attributes. Our user ldif will do pretty much the same, once we have the user list from our customer.
    The more complex issue revolved around the migration of external applications, which I address in my EXT_APP package, which enables you to build portlets containing links to external apps, while maintaining portability, as well as Item Level Security. YOu can find this in my Knowledge Exchange folder.
    Quite a mouth full...sorry
    HTH
    LLB

  • Creating multiple http servers on one machine

    I created multiple http servers on one machine.
    I did this in the following way:
    Created a http service as nt service with the following command:
    apache -i -n Testservice -f d:\oracle\isuites\apache\apache\conf\httpd2.conf.
    When I start the service, I always get an error:
    Didn't return an error. Cannot start service.
    Can someone help me.
    I need two httpd services as nt service. Because, I want to use oracle fail safe. So I need a service.
    Alternative : I can create batch files. But I want to start these batch files as nt service. Is there a possibility on
    Windows nt to do this, or an available tool.
    Thanks in advance,
    Iloon

              "Jason Rosenberg" <[email protected]> wrote:
              >Hello,
              >
              >I am wondering about having multiple servers on one machine.
              >I take it, each server will require a unique ip address, which can
              >be done either by using multiple NIC's or using multi-homing.
              If you want to have multiplie servers in the same machine and you want to cluster them then you need ip for each instance.
              If you want multiple instances without clustering, then you can have them run on the same ip but each one should have a different port.
              >
              >I am asking because I am wondering whether it will always be valid
              >for me in servlet code to identify my current server instance by
              >ip address (InetAddress). Or is there a better way to do this?
              If you are accessing the ejb/services on the same server using a servlet. You can get the context, simply using the default getInitialContext(). This should return the context to the local machine. This shoudnt require any ip information.
              >
              >Jason
              >
              >
              

  • EDN:  subscribe to the same event deployed on different domain/Servers

    We are working on use case where in we would like to publish an Event from an ADF application . We would like to subscribe to the same event deployed on different domain/Servers than the servers on which ADF Application deployed. We would like to get more information on the configuartion of Foreing JNDI for the Business events for this use case. in the documentation it was mentioned, it is possible but not much details were provided.
    So far all I have to go on is: http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10224/obe_intro.htm#BABHBGAG

    We are working on use case where in we would like to publish an Event from an ADF application . We would like to subscribe to the same event deployed on different domain/Servers than the servers on which ADF Application deployed. We would like to get more information on the configuartion of Foreing JNDI for the Business events for this use case. in the documentation it was mentioned, it is possible but not much details were provided.
    So far all I have to go on is: http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10224/obe_intro.htm#BABHBGAG

  • Do oracle HTTP servers support https/SSL failover??

    Dear all,
    my company plans to use a load balancer (F5) to distribute the workload to multiple
    oracle http servers and oc4j servers (in different machines).
    we prefer to put the ssl encrypt/decrypt to the http server (ssl pass throuhgh, not put
    on the load balancer due to some reasons).
    so i want to know if using https / ssl, will the ssl state replicate to multiple oracle http
    servers so that when one http server / machine down, the existing ssl traffic can
    transparently rout to other servers?
    if yes, how can i achieve that ??
    thanks.
    lsp

    I now have the standalone version of the Oracle HTTP server 10g.
    I also have a signed certificate that I have been using on the old 9i Oracle HTTP server (with the parameters mentioned above).
    It seems on the 10g version I have to use a wallet file.
    I go into Oracle Wallet manager but I can't import a certificate request, I can only create a new one. Then when I import the signed user certificate I already
    have, it tells me it doesn't match the certificate request file. I need to be able to create a wallet for my existing signed certificate.
    cheers
    Robert

  • Using one public ip for ssh`ing to different internal servers using port-redirections

    Hi, we are having a requirement to use the same public IP to ssh into different internal servers using port re-direction. So lets say from outside, if a user does ssh @ root 4.4.4.4 2222, it should go to a sshsrv1 and then ssh @ root 4.4.4.4 2223 to sshsrv2
    My config is like this:-
    object network sshsrv1
    host 10.110.100.10
    nat (inside,Outside) static 4.4.4.4 service tcp 22 2222
    And then i allowed the object "sshsrv1" in my inbound acl from outside.
    It dosen`t seem to work. Is this doeable?
    Any suggestions??

    Hi,
    Would need to see your NAT configurations.
    There is a possibility that you have a NAT configuration that might be preventing this from working. Then again you are using an extra public IP address for this so it seems strange.
    Could you try the "packet-tracer" command
    packet-tracer input outside tcp 12345 2222
    This should tell us if there is some problem in the ASA configurations.
    - Jouni

  • Unable to Connect to 2 Tracks which are in 2 different NWDI Servers

    Hi All,
    I need to connect to 2 tracks which are in 2 different NWDI Servers using the same NWDS instance.
    Track 1 is based on  NW 7.0 SP21 and another one is based on SAP NW 7.0 Ehp1 version which are in different NWDI servers.
    The problem i am facing is that using the same NWDS, I am unable to connect to the second NWDI server when i already imported the track from the first one.
    I have done the following.
    Imported the Track for NW 7.0 SP21
    I have entered the DTR URL, under Development Configuration pool and then created a DTR Client and imported the track as required into NWDS.
    When i want to import the track for Ehp1, i have changed the SLD URL to point to the Ehp1 SLD under Dev. Configuration pool.
    I have created a client with the Ehp1 DTR URL, and when i try to import the development configurations  and click on Remote,
    I am always authenticated against the Build Server of the existing Configuration (ie) NW 7.0 SP21 and i am unable to import the track from the new NWDI Server.
    When i completely removed all configurations and try a fresh Connection to Ehp1 first i am able to connect to the track and import.
    From there when i try to import NW 7.0 SP21 by changing the Development Configuration Pool URL and by creating a new Client, I used to authenticated against Ehp1 build server instead of SP21 build server. So i am unable to import and work with 2 tracks which are different NWDI servers in a single instance of NWDS.
    Please let me know how i can go ahead to get the tracks which are in different NWDI servers to be available in a single NWDS instance. Is it possible by the way?
    Appreciate your help.
    Thanks and Regards,
    Sekar

    Hi Sekar,
    My suggested work around (my personal preference) would be to install the NWDS versions on separate machines to avoid all the troubles and confusion with the default .DTR/.DTC/.metadata folders as mentioned by Pascal in this thread
    Multiple NWDS Versions on one Workstation?
    IMHO, a different machine also allows you to experiment more freely with another version of browser/client platforms (e.g. IE8/Windows 7/etc.).
    In our case, we installed the newer version on developers' machines (oftenly used going forward) and install the older version on another shared machine (used for maintenance only until the cutoff).
    Maybe other gurus (who often have to work on several different versions for different customers) can provide us with some tips here.
    Hope it helps.
    Regards,
    Dao
    Edited by: Dao Ha on Jul 13, 2010 3:20 PM

  • Multiple HTTP Servers with Portal

    I am trying to set up 9iAS (Portal) on a server that already has several HTTP servers on it. The System Administrator wants a "web services" on a single NT box. I installed 9iAS and that seemed to complete OK but now I'm getting some errors trying to use Portal...I can't get logged in to Portal30/Portal30.
    Is it possible to run several Apache servers including Portal on a single NT box?
    We are moving up to Portal 3.0 from WebDB 2.2 which is on a NT box by itself.

    it is possible, just install 9ias in multiple oracle_homes, if u need 2 instances of HTTP server, install in 2 Oracle homes and each could point to same Login Server. Metalink has a good note on this.

  • How to Parse different HTTP response efficiently ... ?

    how to Parse different HTTP response efficiently ... ?

    1. Last time I helped you I didn't get any response back.
    2. How is this question related to Swing?
    3. Your question has too many details...
    4. No help for you.

  • [svn:bz-trunk] 21394: bug fix for watson 2887837 Not getting duplicate session detected error when same flex client id is used from two different HTTP sessions in CRX .

    Revision: 21394
    Revision: 21394
    Author:   [email protected]
    Date:     2011-06-16 12:34:13 -0700 (Thu, 16 Jun 2011)
    Log Message:
    bug fix for watson 2887837 Not getting duplicate session detected error when same flex client id is used from two different HTTP sessions in CRX.
    get the sessions id before we invalidate the duplicate session.
    Checkintests pass
    Modified Paths:
        blazeds/trunk/modules/core/src/flex/messaging/endpoints/BaseHTTPEndpoint.java

    For our profect I think this issue was caused as follows:
    Believing that remoting was full asynchronous we fired a 2 or 3 remote calls to the server at the same time ( within the same function ) - usually when the users goes to a new section of the app.
    This seemed to trigger the duplicate http session error since according to http://blogs.adobe.com/lin/2011/05/duplication-session-error.html  two remote calls arriving before a session is created will cause 2 sessions to be created.
    Our current solution ( too early to say it works ) is to daisy chain the multiple calls together .
    Also there seemed to be an issue where mobile apps that never quit ( thanks Apple! )  caused the error when activated after a few hours.
    I guess the session expires on the server and the error above occurs on activation.
    So the mobile apps now ping the server with a remote call when activated after sleeping for more than one hour.
    All duplicate http errors are silently caught and reported.
    Fingers crossed we won't get any more!

  • Different pop3 servers - different mailboxes in same account?!?

    When I change pop3 server in e-mail client it seems that e-mail client keeps separate mailboxes for each pop3 server, even though they are on the same account. So when you change pop3 server you can't access mail that was received on the previous pop3 server, instead new mailbox is created. To access old mail, you must change pop3 back to one previously defined (?!?).
    I would like to know is it possible to keep all mail on the account on the same place, that means if I change pop3 server in settings I want to see all mail that is received on that account on all pop3 servers and not only the one that is currently defined.
    And since my iPad now has 2 separate mailboxes on the same account for 2 different pop3 servers, is it possible to merge both mailboxes to be available at all times, no matter which pop3 server is defined in account?
    Thanks!

    Unfortunately, I would have to forward 2 GB of mail so that option cannot be used .
    When will IOS4 for iPad be available then?
    Thanks.

  • How to pass the security context between different OC4J servers

    My problem is the following: it seems that there is no standard J2EE solution in a production environment with more than one J2EE application server products to pass the security context between different J2EE application servers.
    I have a distributed application on two different OC4J servers, let's say that we have the web layer (with servlets) deployed on a server instance Server1 and the EJBs deployed on a second OC4J server Server2. If an user is authenticated at the web tier (in Server1) it gets a Principal object. It seems that the same Principal object cannot be used for authorization in the second application server, Server2. This means that in the server Server2 the authentication should be done again. It means that it should be duplicated the mechanism for authentication on Server2 (together with the passwords, users, and so on), thing that is a clear disadvantage of this approach.
    Do you know if there is a specific OC4J solution for this approach?
    Thank you,
    Marinel

    I have a simmilar issue? Did you succeeded to find a solution?

  • Splitting a background job over different application servers

    I am running my program in the background and its taking long to complete. I have done some optimizations and it has greatly improved but still not running as fast as I want because its processing large amounts of data and the amount of time that I want all the data to be processed is little compared to the runtime of the program so now I want to split the background job over different application servers. Can someone tell me how do I go about doing that and example ABAP code will be greatly appreciated.
    Many thanks

    Hello, If you are interested in BANK_PP_JOBCTRL, here are some of the inputs. Its work very efficeintly, though you will have to investigate a little bit froom your end.
    With in package bank_pp_jobctrl , you will find these FM. I have mentioned the use of it as well.
    RBANK_PP_DEMO_GENERATE_DATA: To create the Business data for Parallel Processing.
    RBANK_PP_DEMO_CREATE_PACKMAN: To create Packages out of the business data.
    RBANK_PP_DEMO_START : To process data in parallel.
    RBANK_PP_DEMO_RESTART: To re-process failed records during parallel Processing.
    You will need to call above in your report program in the same sequence as shown above based on you requirement. I did used only first three.
    TO generate events you will need to execute SE38: RBANK_PP_GENERATE_APPL to create application this will create the FM with numbers as shown below.
    Events: This PPF automatically triggers various events during the execution of theStart Program. Each of this event is associated with a custom function module which contains the business logic.
    For implementing this framework, at least the below mentioned methods should be implemented .
    0205 – Create Package Templates  : This method is used to write the logic for creating packages which in turn decides the data to be processed in parallel. This function module is called in loop at the loop ends only when the exporting parameter E_FLG_NO_PACKAGE has a value ‘X’ passed back to the Parallel processing framework.
    1000 – Initialize Package :This method is the first step in processing a package. It fetches all the parameters required for the parallel processing to start. All the parameters are passed to this FM as importing parameters and it is the responsibility of this FM to save it in global parameters so that it can be utilized by Parallel processing framework.
    1100 – Selection per Range : This method is used to read data for a package. The objects selected must be buffered in global data areas of the application for later processing. The package information is stored as interval in global parameters and this information is used to select the package specific data.
    1200 – Selection for Known Object List: This method is used instead of method 1100 if it is a restart run. The objects to be processed are known already.
    1300 – Edit Objects: The processing logic to be implemented using parallel processing for the selected objects is written in this method. This function module is used to implement the business logic and
    Also, obiviously you would like to log your messages , so the framwrok provides macros to do it.
    Let me know if you need some further help as I know there is very little information provided on this.
    Regards/Ajay

  • Proxing request to multiple http servers

    Hi,
    I want to proxy request to multiple http servers.
    I am able to do that for one, but now i want to configue 3 more servers.
    All the servers will be giving jsp pages.
    Can anybody help me in doing that.
    Thanks in advance
    Anshuman Nanda
    [email protected]

    Just for the information, I am using weblogic 5.1
    and want to do the setting for that only.
    Thanks
    Anshuman <[email protected]> wrote in message
    news:3a836910$[email protected]..
    Hi,
    I want to proxy request to multiple http servers.
    I am able to do that for one, but now i want to configue 3 more servers.
    All the servers will be giving jsp pages.
    Can anybody help me in doing that.
    Thanks in advance
    Anshuman Nanda
    [email protected]

  • How to trace users across different Application Servers?

    Hi,
    We trace users using ST01. But how do we trace users logged in to different application servers? Please help.
    Regards
    MK

    Hi Ahmed,
    SM51 or AL08 shows in which Application server the user is logged in. But ST01 does not allow us to select or to specify the application server while tracing a user. Can you be a little more vivid. How do you specify the application server in ST01?
    Please help.
    Regards
    MK

Maybe you are looking for

  • ISE 1.1 and Apple devices

    I am trying to setup profiling for Apple devices, specifically iPad devices and am seeing where ISE will identitfy an iPad 1 device fine, but will not identity an iPad 2 nor an iPad 3, both list as unknown.  It also shows an iPhone as Apple-Device an

  • Internet through ethernet

    I had my Express set up to take the internet from my extreme and pass it through to the ethernet or so i could conect my imac that dosn't have an airport card to the internet. My problem is that i changed something and now the express seems to be joi

  • Instant client and jdbc bug 6362104

    I am having a problem with the latest version of the instant client for Linux and tomcat. The error message I get is: "Error while registering Oracle JDBC Diagnosability MBean" which has been determined to be bug 6362104. It looks like there is a pat

  • 10g ORA-30625: method dispatch on NULL SELF argument is disallowed Options

    I found this site for consuming a web service from oracle 9i. I'm trying it from 10g http://www.oracle-base.com/articles/9i/ConsumingWebServices9i.php I have an intranet web service (.NET) I know is working as I use it from other clients. But am gett

  • While drill down a char system going into dump

    Hi, We have changed 0COUNTRY as a navigation attr to the 0COMPANY and added to the Muti provider. In query level initially for 0COMPANY data is paulating while trying to drill down 0COUNTRY with 0COMPANY then system is going into dump. Thes system me