Web Server Tuning

Hi there,
Actually I have a full iPlanet solution up running on Solaris 8 environment, which contains:
-     iPlanet Application Server 6.5
-     iPlanet Directory Server 4.1
-     iPlanet Web Server 4.1
-     iPlanet Integration Server (EAI) 2.6
-     iPlanet Portal Server 3.0
And I want to monitor the Web Server performance and to tune the required parameters.
So that, firstly I want to know what is the services that I should monitor to make sure that the Web Server is up and running and performing well.
And then, I want to know if there is any tool which can help me evaluate the Web Server performance and find out the proper tuning parameter in case if it is needed.
Many Thanks

The Performance Tuning Guide for iWS4.1 will be able to help get you started:
http://docs.sun.com/source/816-5679-10/index.html

Similar Messages

  • Webi Server Performance Tuning

    We have Webi Server in a clustered environment.
    Our environment doesn't have much reports for Webi server to handle..
    But, webi server goes down often and i have to restart the physical server to get webi running.
    Is there a way to tune webi performance or find the root cause where the problem is ?

    Yes, there are.
    In CMC got o servers and view properties for Webi report server, Admin guide will have details on those parameters and possible tunigs...
    Also, applying latest Service Packs and Fix PAcks helps a lot.
    Improving report design helps tremendously.
    To troubleshoot issues - you need to enable tracing, review log files.

  • Hi, I am using HP11 and iPlanet web server. When trying to upload files over HTTP using FORM ENCTYPE="multipart/form-data" that are bigger than a few Kilobytes i get a 408 error. (client timeout).

    Hi, I am using HP11 and iPlanet web server. When trying to upload files over HTTP using FORM ENCTYPE="multipart/form-data" that are bigger than a few Kilobytes i get a 408 error. (client timeout). It is as if the server has decided that the client has timed out during the file upload. The default setting is 30 seconds for AcceptTimeout in the magnus.conf file. This should be ample to get the file across, even increasing this to 2 minutes just produces the same error after 2 minutes. Any help appreciated. Apologies if this is not the correct forum for this, I couldn't see one for iPlanet and Web, many thanks, Kieran.

    Hi,
    You didnt mention which version of IWS. follow these steps.
    (1)Goto Web Server Administration Server, select the server you want to manage.
    (2)Select Preference >> Perfomance Tuning.
    (3)set HTTP Persistent Connection Timeout to your choice (eg 180 sec for three minutes)
    (4) Apply changes and restart the server.
    *Setting the timeout to a lower value, however, may    prevent the transfer of large files as timeout does not refer to the time that the connection has been idle. For example, if you are using a 2400 baud modem, and the request timeout is set to 180 seconds, then the maximum file size that can be transferred before   the connection is closed is 432000 bits (2400 multiplied by 180)
    Regards
    T.Raghulan
    [email protected]

  • Is there a restriction on length of Http request posted to a Iplanet Web Server ?

    I am submitting an Http Request by POST method to my server. The request will be received and forwarded by Iplanet Web Server to a clustered Weblogic environment, which will then be handled by Java Servlets. The problem I am facing is that when the length of the request shoots up to around 2000 bytes, NES doesn't receive and forward the request to Weblogic. There is no fixed cut-off for the length, it keeps fluctuating.
    I observed the following after hitting the server hundreds of times with Http Requests that vary in length.
    1) If length of Request is below 1500 bytes, request always goes through successfully.
    2) In a range of 1500 bytes to 2000 bytes, request fails most of the times. (Around 80 %)
    3) Requests with length above 2000K invariably fail, though it just worked for a 2.4K request on one occasion (out of some 100 hits)
    Note that by "length of request", I mean the data I post through Http Request (I just have a single parameter in Http request having the literal "XML" as key and a well formed XML document as value. That is equivalent to submitting a HTML form just having a text area called "XML" containing a XML document. )
    I presume that the length of actual Http Request is slightly greater than that of XML (probably by around 100 bytes).
    My Iplanet documentation says that the upper limit on the length of a POST Http Request is 64 K, which is way above the value (2-3 K) at which I am facing the problem.

    Hi Ganesh
    Did you check the HTTP Persistent timeout of your server? Check the value which has been set up by default. Try increasing the timeout value and try again.
    follow these steps it might solve your problem:
    (1)Goto Web Server Administration Server, select the server you want to manage.
    (2)Select Preference >> Perfomance Tuning.
    (3)set HTTP Persistent Connection Timeout to your choice (eg 180 sec for three minutes)(note : if you are posting large amount of data or file increase the value accordingly)
    (4) Apply changes and restart the server.
    *Setting the timeout to a lower value, however, may    prevent the transfer of large files as timeout does not refer to the time that the connection has been idle. For example, if you are using a 2400 baud modem, and the request timeout is set to 180 seconds, then the maximum file size that can be transferred before   the connection is closed is 432000 bits (2400 multiplied by 180)
    If this doesnot solve your problem notify me
    regards
    T.Raghulan
    [email protected]

  • Using Tomcat as a web server at deployment stage

    Hi everyone,
    Does anyone of you ever used Tomcat as a web server at deployment stage?
    Has he then faced performance problems? or any other of any kind?
    Was he limited in the number of users to get an acceptable request process time? Is there a special configuration to set in the web.xml file?
    Any help would be greatly appreciated.
    Thanks in advance.
    Jennifer

    We have a Tomcat server in production (no Apache/IIS, Tomcat is on port 80) and it runs great. We have about 200 heavy use users on it. The server (version 4.18) is on a Windows 2000 Server / 512 Meg RAM / P3-800 DELL Box. Its connected to a SQL 2000 Server on another box through the built in Tomcat DBCP connection pool.
    We were initially going to run it through IIS; but we found it such a pain to set up we decided to leave it on Tomcat. For our application it probably would not have shown a difference in speed anyways.
    Its very fast and reliable for us.
    As far as tuning, there is a document here that will to you what to do; its very basic actually; just two changes.
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jasper-howto.html#Production%20Configuration
    Also, make sure you don't have any reloadable="true"'s in your Context's.
    - Chris

  • WebLogic as Web Server Installation using WebLogic Express

    Hi all,
    I am in a process of installing WebLogic Web server. I downloaded WebLogic Express from bea site, and it turns out to be the same bin file that I had used for WebLogic Server installation. During the installation, I did not come across an specific steps meant for WebLogic Express (which is a web server + servlet/jsp container)
    Can some one please guide me at the earlier as regards installation steps for WebLogic Web Server,
    Regards,

    Jim,
    I am trying to set up WLS 9.1 and got this error.
    Could you help me with this? Why I am getting it?
    Thanks!
    Marvin
    ####<Jan 16, 2008 10:54:13 PM EST> <Error> <HTTP> <netwave8888> <MedRecServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1200542053359> <BEA-101359> <The servlet weblogic.servlet.AsyncInitServlet init method failed while it was run in the background. The exception was: java.lang.ExceptionInInitializerError.
    java.lang.ExceptionInInitializerError
         at java.lang.Class.forName(Ljava.lang.String;ZLjava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
         at weblogic.servlet.AsyncInitServlet.createDelegate(AsyncInitServlet.java:43)
         at weblogic.servlet.AsyncInitServlet.initDelegate(AsyncInitServlet.java:92)
         at weblogic.servlet.internal.WebAppServletContext$AsyncInitRequest.run(WebAppServletContext.java:1641)
         at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
         at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
         at org.apache.struts.action.ActionServlet.<clinit>(ActionServlet.java:375)
         at java.lang.Class.forName(Ljava.lang.String;ZLjava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
         at weblogic.servlet.AsyncInitServlet.createDelegate(AsyncInitServlet.java:43)
         at weblogic.servlet.AsyncInitServlet.initDelegate(AsyncInitServlet.java:92)
         at weblogic.servlet.internal.WebAppServletContext$AsyncInitRequest.run(WebAppServletContext.java:1641)
         at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    java.lang.reflect.InvocationTargetException
         at jrockit.reflect.NativeConstructorInvoker.newInstance([Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
         at java.lang.reflect.Constructor.newInstance([Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
         at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
         at org.apache.struts.action.ActionServlet.<clinit>(ActionServlet.java:375)
         at java.lang.Class.forName(Ljava.lang.String;ZLjava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
         at weblogic.servlet.AsyncInitServlet.createDelegate(AsyncInitServlet.java:43)
         at weblogic.servlet.AsyncInitServlet.initDelegate(AsyncInitServlet.java:92)
         at weblogic.servlet.internal.WebAppServletContext$AsyncInitRequest.run(WebAppServletContext.java:1641)
         at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    java.lang.NoClassDefFoundError: org/apache/log4j/LogManager
         at org.apache.log4j.Category.getInstance(Category.java:514)
         at org.apache.commons.logging.impl.Log4JCategoryLog.<init>(Log4JCategoryLog.java:104)
         at jrockit.reflect.NativeConstructorInvoker.newInstance([Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
         at java.lang.reflect.Constructor.newInstance([Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
         at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
         at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
         at org.apache.struts.action.ActionServlet.<clinit>(ActionServlet.java:375)
         at java.lang.Class.forName(Ljava.lang.String;ZLjava.lang.ClassLoader;)Ljava.lang.Class;(Unknown Source)
         at weblogic.servlet.AsyncInitServlet.createDelegate(AsyncInitServlet.java:43)
         at weblogic.servlet.AsyncInitServlet.initDelegate(AsyncInitServlet.java:92)
         at weblogic.servlet.internal.WebAppServletContext$AsyncInitRequest.run(WebAppServletContext.java:1641)
         at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    >
    ####<Jan 16, 2008 10:54:13 PM EST> <Info> <Management> <netwave8888> <MedRecServer> <[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1200542053609> <BEA-141052> <The auto deployment poller has started.>

  • Problem with the Installation of Mobile Web Server...

    I have a N95. I have been trying to install Mobile Web Server on it. The installation fisnishes but the icons are all separeted and there is no only one icon for the program (MWS, MWSChat, MWSBlog, MWS).
    Reading the manual of the software I realized that something should run after the installation but nothing is
    executed. I tried to install it on memory card, main memory
    >with no success. Is there any bug reported about it?

    Hello, this is a known problem with new 1.2 release. Please refer to my blog post and stay tuned for a fix.
    http://blogs.s60.com/mws/2008/01/mobile_web_server_new_release.html

  • Problem with maxprocs 1 on Sun One Web server 6.1

    I am using sun one web server on Unix with maxprocs set to 3.
    This means that there are 3 jvms running my application under 1 instance. However I have certain components like an application cache that I would like to share between these 3 processes.
    Additionally is there a way to configure the server so that requests from 1 session are served by 1 process only.
    I am really stuck here. Have searched in all the documentation, but in vain. Would really help if some one of the Sun Developers could answer this.
    Thanks
    Chetan

    Elving,
    It is great to hear that there is no predefined limit on number of sessions but if that's the case why the webserver always starts with 1000 allowed by default. Are there any potential performance reasons behind it?
    I have your link open in my browser for a few days now as a reference because I am experimenting with different Session Managers. I am trying to find a solution for BheegaChicken to be able to accomodate several thousand simultaneous sessions for his application.
    We use V6.0SP2 and SP6 and for BheegaChicken's app specifically V6.1SP2...
    I have spent some time in the past looking for the answers how to handle higher then 1000 sessions capacity on one instance and that was even before V6.1 was out. I have found the following reco that talks about optimal performance for sites using threads:
    http://docs.sun.com/source/816-5690-10/perf6.htm#17580
    *** start qoute
    Multi-Process Mode
    You can configure the server to handle requests using multiple processes with multiple threads in each process. This flexibility provides optimal performance for sites using threads, and also provides backward compatibility to sites running legacy applications that are not ready to run in a threaded environment. Because applications on Windows NT generally already take advantage of multi-thread considerations, this feature applies to Unix/Linux platforms.
    The advantage of multiple processes is that legacy applications that are not thread-aware or thread safe can be run more effectively in iPlanet Web Server. However, because all the Netscape/iPlanet extensions are built to support a single-process threaded environment, they may not run in the multi-process mode, and the Search plug-ins will fail on startup if the server is in multi-process mode.
    In the multi-process mode, the server spawns multiple server processes at startup. Each process contains one or more threads (depending on the configuration) which receive incoming requests. Since each process is completely independent, each one has its own copies of global variables, caches, and other resources. Using multiple processes requires more resources from your system. Also, if you try to install an application which requires shared state, it has to synchronize that state across multiple processes. NSAPI provides no helper functions for implementing cross-process synchronization.
    If you are not running any NSAPI in your server, you should use the default settings: one process and many threads. If you are running an application which is not scalable in a threaded environment, you should use a few processes and many threads, for example, 4 or 8 processes and 128 or 512 threads per process.
    MaxProcs (Unix/Linux)
    Use this directive to set your Unix/Linux server in multi-process mode, which may allow for higher scalability on multi-processor machines. If you set the value to less than 1, it will be ignored and the default value of 1 will be used.
    Tuning
    You can set the value for MaxProcs by:
    Editing the MaxProcs parameter in magnus.conf
    Setting or changing the MaxProcs value in the Magnus Editor of the Server Manager
    Note      You will receive duplicate startup messages when running your server in MaxProcs mode.
    *** end quote
    If it is not relevant anymore please explane.
    I am still interested to understand which of the SessionManagers is recommended by Sun to have optimal performance for sites with high number of sessions and using threads. It is not really obvious from http://docs.sun.com/source/817-6251/pwasessn.html. On top of this that's documented just for V6.1. What about V6.0?
    Thank you very much for your cooperation!
    Sasha aka ttalex

  • Sun Java Web Server 6.1SP4 deadlock, stops responding

    Hi, i have a java web app on a Java Web SErver 6.1SP4 and when there are a lot of users the web server hangs, it stops responing. After a while (from 2 to 15 minutes) it start responding again. This serves neither dinamic nor static content. CPU usage is 100%. Just stoping and restarting the web server instance it works properly (even with the same or greater number of clients).
    Reading many posts some one wrote to use pstack to see whats happening. I did it, but i can't interpret results (i think there is a deadlock but don't know if thats true and how to resolve it).
    Any hint will be appreciated
    There are a lot of blocks like this:
    ----------------- lwp# 3468 / thread# 3468 --------------------
    fe11f950 lwp_mutex_lock (918c18)
    fd692384 __1cNObjectMonitorGenter26MpnGThread__v_ (5000, 525c, 5000, 50dc, 4800, 4af0) + 2d8
    fd6324d4 __1cSObjectSynchronizerKfast_enter6FnGHandle_pnJBasicLock_pnGThread__v_ (e104f604, e104f77c, 831ff50, 0, 35d654, fd6328ec) + 68
    fd632954 __1cQinstanceRefKlassZacquire_pending_list_lock6FpnJBasicLock__v_ (e104f77c, fd970000, e7330000, 4491d4, fd61bc2c, 0) + 78
    fd63167c __1cPVM_GC_OperationNdoit_prologue6M_i_ (e104f764, 4400, fd970000, 2cdc0, 4a6268, 1) + 38
    fd62e0b0 __1cIVMThreadHexecute6FpnMVM_Operation__v_ (e104f764, 80e9b0, 0, 0, 1, 0) + 90
    fd52c2a4 __1cbCTwoGenerationCollectorPolicyRmem_allocate_work6MIii_pnIHeapWord__ (2e368, fd9c29ec, fd9c297c, fd931a26, 4800, 4998) + 160
    fd522940 __1cNinstanceKlassRallocate_instance6MpnGThread__pnPinstanceOopDesc__ (f3c09020, 831ff50, 81e33e0, 4000, 4178, 0) + 180
    fd7b7744 __1cQjava_lang_StringQbasic_create_oop6FpnQtypeArrayOopDesc_ipnGThread__pnHoopDesc__ (f0a5e910, 0, 831ff50, 0, 1, 1) + a8
    fd63228c jni_NewStringUTF (831ffe4, 605b9c8, fd587824, 80e9f8, 4800, 4998) + b8
    fdafdefc __1cKNSJavaUtilQsetStringElement6FpnHJNIEnv__pnN_jobjectArray_Ipkc_v_ (831ffe4, ace7e4, 2, 605b9c8, 4, 605b828) + 34
    fdb068dc __1cONSAPIConnectorOgetRequestInfo6MpnHJNIEnv__pnN_jobjectArray_4pnK_jintArray__v_ (e104fabc, 831ffe4, ace7e4, ace7e0, ace7dc, 4) + 9c
    fdb042e4 __1cONSAPIConnectorHservice6MpnRJ2EEVirtualServer__i_ (e104fabc, ea9560, 8, 84b9464, 6d137e0, ace7dc) + 260
    fdb02734 service_j2ee (3c1c0, 84b97f0, 84b9868, 0, fdb11d57, 132414) + 40
    ff1cf994 __1cNfunc_exec_str6FpnKFuncStruct_pnGpblock_pnHSession_pnHRequest__i_ (668, 3c1c0, 84b97f0, 84b9868, 0, 0) + 248
    ff1d0db4 INTobject_execute (77308, 84b97f0, 84b9868, 0, 37ff8, 80d290) + 5e8
    ff1d5de4 INTservact_service (84b97f0, 84b9868, ff2e7b58, 0, 0, ff2e7b30) + 4d8
    ff1d64f4 INTservact_handle_processed (84b97f0, 84b9868, 20, 2, 605bee0, 76858) + 158
    ff218a9c __1cLHttpRequestUUnacceleratedRespond6Mpc_v_ (84b9750, ff2e7b7c, 2f48, 1bb, 84b9868, 84b97f0) + 3c8
    ff21818c __1cLHttpRequestNHandleRequest6MpnGnetbuf__i_ (84b9750, 6059290, 605b3f0, 605b3d8, 2000, 60592f0) + 62c
    ff216588 __1cNDaemonSessionDrun6M_v_ (84b9348, 2000, ff2ed7bc, 0, 0, ff2ed774) + 17c
    ff106dec ThreadMain (84b9348, 84fcef0, 3, 0, 1, 4b8) + 24
    fedd0028 ptroot (84fcef0, 0, 0, 0, 20000, fede8d70) + d0
    fe165c94 lwpstart (0, 0, 0, 0, 0, 0)

    hi
    sorry for the delayed response.
    well, the problem that you are trying to run into is very common when your server is getting good amount of load and uses large amount of servlet/jsp web applications running.
    here is a url that you might find it a useful read
    http://java.sun.com/docs/hotspot/gc1.4.2/index.html#4.%20Types%20of%20Collectors|outline
    if you do not want to take this trouble reading this document and want a quick solution, you do can do couple of things:
    - first understand how to size the heap
    http://java.sun.com/docs/hotspot/gc1.4.2/index.html#3.%20Sizing%20the%20Generations|outline
    - understand that the system is paused because jvm is busy doing garbage collection before allowing the web server to continue.
    - this can be avoided by properly tuning the jvm to how you think the server should behave. unfortunately, there is no miracle one one line to fix this issue
    - by careful and decent analysis of your system, you can tune your jvm properly that it can scale very well without any glitches.
    though, you will need to take the pain to learn the garbage collection acronyms and see what's best suited for you.
    - first, you want to know what is happening inside the jvm before you proceed to optimize . you can do this by adding this option
    -verbose:gc -XX:+PrintGCDetails
    How to add this option in the server.xml , is by doing something like
    start admin server -> manager your server -> click Java tab
    -> click on JVM Option in the left side
    -> Add this JVM option -verbose:gc -XX:+PrintGCDetails
    -> restart the server
    -> note, you do NOT want to leave the above option in the production environment as this will tremendously slow your application and this is meant to be only for development purposes.
    - if your server is a multi processor server (has more than 1 CPU) and you want less pause time, you can typically try adding this jvm option to your server and restarting it.
    -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled
    here are few other short cut , jvm options that you also try in your devleopment environment before going to production.
    Server application(Like Web Server 6.1) running alone on a large multi-processor server with 4gb of physical memory.
    #java -server -XX:+AggressiveHeap
    Two applications running on a large multi-processor server with 4gb of physical memory. Each java application instance is allocated a part of total system memory by an explicit specification of the maximum and minimum heap sizes.
    #java -server -XX:+AggressiveHeap -Xms1024m -Xmx1024m
    (again, do your research before you use this option in the production environment)

  • Web server consumes high cpu

    When user experiences slowness in accessing the iPlanet Portal Server, I realise that the Profile Server hit a cpu of 96% using prstat command in solaris. The process is ns-httpd.
    Current version of iPlanet Portal is version 3.0 sp4 hp1. Any idea how to fine tune the web server?

    Before you start tuning, you would need the following information ..
    1.) What is the number of concurrent sessions on the system at any point of time ?
    2.) What is the JVM Max heap size value set ?
    3.) Are you using the gateway or is it an open portal ?
    4.) size of your desktop, number of channels etc.
    5.) What is your hardware configuration, number of cpu's/ram etc ..
    6.) have you done any prior performance tuning ?
    7.) do you see any potential thread dead logs
    when the system slows down do a ps -eLf | grep pid on the process id, it should list details abt the process like the number of threads open and the duration of each thread open and percentage of cpu used by each thread.
    mpstat 5 pid should also list cpu usage information inaddition to smtx information.
    Atleast you might also wanna run top to determine amount of memory used in addition to just cpu usage.
    All these details could potentially tell you whats going on with ur system and you could appropriately tune based on that information.
    HTH ..

  • Application Server Tuning

    Hi there,
    Actually I have a full iPlanet solution up running on Solaris 8 environment, which contains:
    -iPlanet Application Server 6.5
    -iPlanet Directory Server 4.1
    -iPlanet Web Server 4.1
    -iPlanet Integration Server (EAI) 2.6
    -iPlanet Portal Server 3.0
    -Netegrity Site Minder
    And I want to monitor the Application Server performance and to tune the required parameters.
    So that, firstly I want to know what is the services that I should monitor to make sure that the Application Server is up and running and performing well.
    And then, I want to know if there is any tool which can help me evaluate the Application Server performance and find out the proper tuning parameter in case if it is needed.
    Many Thanks

    There are some tuning tips available at the following url :
    http://docs.sun.com/source/816-5794-11/index.html
    hope this might help a bit !!

  • Is the Apache web server feature limited without OS X Server edition?

    I couldn't really find a post that answers my question so here it is...
    I want to use the built-in Apache web server (a.k.a "Web Sharing") in OSX 10.4, I was just wondering if I am limited on the amount of simultaneous connections/requests? I know only a limited amount (like 5) can connect to my system over a network, unless I install Mac OSX Server. Is the Apache Server stuck under these same restrictions? I'd rather run it from my Mac than have to make a separate linux box for the site (and I don't want to have to fork out $1,000 for OSX Server, lol). I am running Mac OS 10.4.9. If someone could tell me if they know anything regarding this, I'd appreciate it. Thank you

    There are differences between the Apache installation in Mac OS X client and Mac OS X Server, but if you're likely to encounter them you should be running Server anyway.
    Most of the changes relate to additional apache modules that are installed (which you could add to client if you're up to it) and performance tuning.
    The latter is likely to be something you can tweak to cover your needs.
    Apache will spawn a new process for each active connection, with an upper limit set to prevent it running away. The limit is higher in Mac OS X Server, but you can increase the default in Mac OS X client to better suit your needs.
    Edit the file /etc/httpd/httpd.conf and look for the line:
    <pre class=command>MaxClients 50</pre>
    (note, your number may be different). You can change the number to any reasonable figure - but don't set it much higher than you actually expect to need.

  • How do I use Sun Web Server 7.0u1 reverse proxy to change public URLs?

    Some of our installations use the Sun Web Server 7.0 (update 1, usually)
    for hosting some of the public resource and reverse-proxying other parts
    of the URI namespace from other backend servers (content, application
    and other types of servers).
    So far every type of backend server served a unique part of the namespace
    and there was no collision of names, and the backend resources were
    published in a one-to-one manner. That is, a backend resource like, say,
    http://appserver:8080/content/page.html would be published in the internet
    as http://www.publicsite.com/content/page.html
    I was recently asked to research whether we can rename some parts of
    the public URI namespace, to publish some or all resources as, say,
    http://www.publicsite.com/data/page.html while using the same backend
    resources.
    Another quest, possibly related in solution, was to make a tidy url for the
    first page the user opens of the site. That is, in the current solution when
    a visitor types the url "www.publicsite.com" in his or her browser, our web
    server returns an HTTP-302 redirect to the actual first page URL, so the
    browser sends a second request (and changes the URL in its location bar).
    One customer said that it is not "tidy". They don't want the URL to change
    right upon first rendering the page. They want the root page to be rendered
    instantly i the first HTTP request.
    So far I found that I can't solve these problems. I believe these problems
    share a solution because it relies on ability to control the actual URI strings
    requested by Sun Web Server from backend servers.
    Some details follow, now:
    It seems that the reverse proxy (Service fn="service-passthrough") takes
    only the $uri value which was originally requested by the browser. I didn't
    yet manage to override this value while processing a request, not even if
    I "restart" a request. Turning the error log up to "finest" I see that even
    when making the "service-passthrough" operation, the Sun Web Server
    still remembers that the request was for "/test" (in my test case below);
    it does indeed ask the backend server for an URI "/test" and that fails.
    [04/Mar/2009:21:45:34] finest (25095) www.publicsite.com: for host xx.xx.xx.83
    trying to GET /content/MainPage.html while trying to GET /test, func_exec reports:
    fn="service-passthrough" rewrite-host="true" rewrite-location="true"
    servers="http://10.16.2.127:8080" Directive="Service" DaemonPool="2b1348"
    returned 0 (REQ_PROCEED)My obj.conf file currently has simple clauses like this:
    # this causes /content/* to be taken from another (backend) server
    NameTrans fn="assign-name" from="/content" name="content-test" nostat="/content"
    # this causes requests to site root to be HTTP-redirected to a certain page URI
    <If $uri =~ '^/$'>
        NameTrans fn="redirect"
            url="http://www.publicsite.com/content/MainPage.html"
    </If>
    <Object name="content-test">
    ### This maps http://public/content/* to http://10.16.2.127:8080/content/*
    ### Somehow the desired solution should instead map http://public/data/* to http://10.16.2.127:8080/content/*
        Service fn="service-passthrough" rewrite-host="true" rewrite-location="true" servers="http://10.16.2.127:8080"
        Service fn="set-variable" set-srvhdrs="host=www.publicsite.com:80"
    </Object>
    I have also tried "restart"ing the request like this:
        NameTrans fn="restart" uri="/data"or desperately trying to set the new request uri like this:
        Service fn="set-variable"  uri="/magnoliaPublic/Main.html"Thanks for any ideas (including a statement whether this can be done at all
    in some version of Sun Web Server 7.0 or its opensourced siblings) ;)
    //Jim

    Some of our installations use the Sun Web Server 7.0 (update 1, usually)please plan on installing the latest service pack - 7.0 Update 4. these updates addresses potentially critical bug fixes.
    I was recently asked to research whether we can rename some parts of
    the public URI namespace, to publish some or all resources as, say,
    http://www.publicsite.com/data/page.html while using the same backend
    resources.> now, if all the resources are under say /data, then how will you know which pages need to be sent to which back end resources. i guess, you probably meant to check for /data/page.html should go to <back-end>/content/page.html
    yes, you could do something like
    - edit your corresponding obj.conf (<hostname>-obj.conf or obj.conf depending on your configuration)
    <Object name=¨default¨>
    <If $uri = ¨/page/¨>
    #move this nametrans SAF (for map directive - which is for reverse proxy within <if> clause)
    NameTrans.. fn=map
    </If
    </Object>
    and you could do https-<hostname>/bin/reconfig (dynamic reconfiguration) to check out if this is what you wanted. also, you might want to move config/server.xml <log-level> to finest and do your configuration . this way, you would get enough information on what is going on within your server logs.
    finally,when you are satisfied, you might have to run the following command to make your manual change into admin config repository.
    <install-root>/bin/wadm pull-config user=admin config=<hostname> <hostname>
    <install-root>/bin/wadm deploy-config --user=admin <hostname>
    you might want to check out this for more info on how you could use <if> else condition to handle your requirement.
    http://docs.sun.com/app/docs/doc/820-6599/gdaer?a=view
    finally, you might want to refer to this doc - which explains on ws7 request processing overview. this should provide you with some pointers as to what these different directives mean
    http://docs.sun.com/app/docs/doc/820-6599/gbysz?a=view
    >
    One customer said that it is not "tidy". They don't want the URL to change
    right upon first rendering the page. They want the root page to be rendered
    instantly i the first HTTP request.
    please check out the rewrite / restart SAF. this should help you.
    http://docs.sun.com/app/docs/doc/820-6599/gdada?a=view
    pl. understand that - like with more web servers - ordering of directives is very important within obj.conf. so, you might want to make sure that you verify the obj.conf directive ordering is what you want it to do..
    It seems that the reverse proxy (Service fn="service-passthrough") takes
    only the $uri value which was originally requested by the browser. I didn't
    yet manage to override this value while processing a request, not even if
    I "restart" a request. Turning the error log up to "finest" I see that even
    when making the "service-passthrough" operation, the Sun Web Server
    still remembers that the request was for "/test" (in my test case below);
    it does indeed ask the backend server for an URI "/test" and that fails.
    now, you are in the totally wrong direction. web server 7 includes a highly integrated reverse proxy solution compared to 6.1. unlike 6.1, you don´t have to download a separate plugin . however, you will need to manually migrate your 6.1 based reverse proxy settings into 7.0. please check out this blog link on how to set up a reverse proxy
    http://blogs.sun.com/amit/entry/setting_up_a_reverse_proxy
    feel free to post to us if you need any futher help
    you are probably better off - starting fresh
    - install ws7u4
    - use gui or CLI to create a reverse proxy and map one on one - say content
    http://docs.sun.com/app/docs/doc/820-6601/create-reverse-proxy-1?a=view
    if you don´t plan on using ws7 integrated web container (ability to process jsp/servlet), then you could disable java support as well. this should reduce your server memory footprint
    <install-root>/bin/wadm disable-java user=admin config=<hostname>
    <install-root>/bin/wadm create-reverse-proxy user=admin uri-prefix=/content server=<http://your back end server/ config=<hostname> --vs=<hostname>
    <install-root>/bin/wadm deploy-config --user=admin <hostname>
    now, you can check out the regular express processing and <if> syntax from our docs and try it out within <https-<hostname>/config/<hostname>-obj.conf> file and restart the server. pl. note that once you disable java, ws7 admin server creates <vs>-obj.conf and you need to edit this file and not default obj.conf for your changes to be read by server.
    >
    I have also tried "restart"ing the request like this:
    NameTrans fn="restart" uri="/data"
    ordering is very important here... you need to do this some thing like
    <Object name=default>
    <If not $restarted>
    NameTrans fn=restart uri from=/¨ uri=/foo.
    </If>

  • Unable to close open and blocked web server ports

    I have been running the sun webserver 6.1 as a test development environment on my local pc (Windows 2000) at work. The machine crashed while the web server was running, and while the server instance stopped, the ports being used are still open and apparently, still being used. Restarting my machine does not solve the problem.
    Using netstat (through cygwin - i am familiar with linux, and have been using cygwin as the easiest way to do many things with the web server) I can see that the ports are indeed being "used", however i cannot find any running processes (through the top or ps command or the task list) associated with the open ports. Also attempts to start the server again fail, and the server complains that the ports are currently being used.
    In order to continue to develop I created a new domain using a different set of ports. Since then, I have (in zealous cleanup) removed the domain that was using those ports, and in attempting to setup a different webserver encountered the open ports.
    I need/wish to stop the running processes and close the open ports. Any ideas?
    Thanks in anticipation.

    There are no such processes running in either the task manager or services.
    I do not believe that the domain/web server is running, since the domain instance has since been removed.
    However, the ports seems to be stuck on being "used".

  • Setting Up a Java Web Server on Linux

    Greetings,
    After a lot of reading, I've decided to learn Java server-side technologies (I already know Java (desktop)
    but with little experience) in order to develop my database driven dynamic website projects.
    However, I'm completed lost between the hundreds of acronyms related to Java and the "thousands" of technologies involved.
    Google hadn't help me understand what they really are and how they relate with each other.
    Even though is easy to find what they stand for and some faqs/descriptions, it hasn't been enought to clear my mind.
    I want my webserver application to do, among other things, the following:
    Retrieve Data from a database, do generate dynamic html files.
    Story Data on the database, from html forms.
    Send automaticly emails for multiple users. (newsletter for example)
    E-Commerce.
    Html graber/parser (I don't know if this is the right word, I mean a program that for example, goes to a URL with an html
    table, and stores that information in a database table, as long as the format didn't change).
    Real Time Chat feature.
    Database connection pooling, caching, and other important optimizations.
    I'm not asking for how to develop or configure this features nor what components and programs, must be installed.
    At the moment, I only want to know how to set up a Java solution that will support them when they are needed.
    *** Linux ***
    I want to set up my webserver on a linux distribution.
    In that respect, I don't know if I should choose RedHat or Fedora Core.
    I've heard that fedora is better for a webserver (having in mind that Red Hat Enterprise AS/ES aren't free).
    But I've read in several sun turorials/webpages references to RedHat (on a J2EE context).
    So I'm wondering if is better to go for Fedora or RedHat. Are there pros & cons? They equally support Java?
    *** Technologies ***
    Then in starts the acronyms problem.
    What do I need to install, in what order, for what?
    Some aconyms and technologies, I have read about but don't fully understand are the following:
    Apache
    J2EE
    J2EE 1.4 SDK
    SUN Java System Application Server Platform Edition 8
    J2SE 1.4.2 SDK
    SUN Java Enterprise System
    Tomcat
    Struts
    Cocoon
    JBoss
    I already know J2EE is only a specification. What implements that specification? Sun Java System Application Server?
    J2SE SDK? or Tomcat?
    What is the role of each technology, namely Apache, Tomcat, Sun Application Server?
    What is the Sun Java Enterprise System?
    How do Struts, Cocoon, JBoss relate to Java?
    Which of these technologies are mutually exclusive (analogous)?
    *** Doubts ***
    Then, I have some doubts that are keeping me from starting to study seriously the important techonologies, because I don't
    want to lose lot's of time and effort learning them to after a dillusion start everything again with PHP (the language
    which make me think and read a lot before going for Java). To keep this from happening, I would like to know the following:
    I want to use Java for developing websites with commercial/profitable use for my company, in some throught e-commerce,
    and in other by banners. I want to do everything by the book, with required licenses.
    ------ Java is Free?
    Is Java Completely Free or it might be possible that at a certain point, when I need some component or library,
    multi-machine webserver, performance or security for high-traffic I will see "buy now" instead of "download now"?
    For what they may "ask for money"? and what are the disavantages if I can't buy?
    For example, "Java System Application Server Standard Edition 8.1 2005Q1" and
    "Java System Application Server Enterprise Edition 8.1 2005Q1" cost $2.000 and $10.000 respectively. That is money.
    (http://www.sun.com/software/products/appsrvr/index.xml). What are the disavantages if stick to the free edition?
    Features like (from sun site)
    Standard Edition:
    Extends the capabilities of the Platform Edition to provide secure, remote, multi-instance, multi-machine management.
    It is aimed at high-volume applications and Web services.
    Enterprise Edition:
    Further extends the capabilities of the Standard Edition to provide continuous availablity for applications and
    Web services. It is aimed at business critical, high value applications and Web services.
    Suppose I achive lots of traffic and I keep the free platform edition.
    I won't be able to have a multi-machine webserver set up correctly?
    What are the drawbacks? How big are the performance penalties?
    ------ Technologies Availability
    Finnaly, I have the idea (I don't know if it's accurate) that there are Sun versions and Open-Source Free versions
    of doing or supporting the same Java related thing.
    Despite the way I choose to set up a Java webserver, I will always have all J2EE techonolies like:
    Java API for XML-Based RPC (JAX-RPC), JavaServer Pages, Java Servlets, Enterprise JavaBeans components,
    J2EE Connector Architecture, J2EE Management Model, J2EE Deployment API, Java Management Extensions (JMX),
    J2EE Authorization Contract for Containers, Java API for XML Registries (JAXR), Java Message Service (JMS),
    Java Naming and Directory Interface (JNDI), Java Transaction API (JTA), CORBA, and JDBC data access API.
    I really appreciate some help. I could learn the basics of all this "stuff" before asking. But the point why I'm asking
    is precisely not starting to learn something I may won't use. Obviously, I will have to make a lot of reading during maybe
    months before writing the first line of code of my projects, but being certain that it will fit my needs.
    I will be very thankful if you can enlightme in my fedora/redhat, setup, free/cost and technologies avaibility issues.
    Thanks Beforehand,
    Pedro Vaz

    Apache is a free Web-server.
    Tomcat is a servlet (and JSP) container. It can be stand-alone or can be used together with a Web server (like Apache).
    J2EE's scope is much wider than the servlet stuff, but a standalone Tomcat is a good starting point to servlets and JSP.
    One of our "real-world" applications is run by a standalone Tomcat using POI and Velocity. I did not regret this architectural decision.

Maybe you are looking for

  • Anybody been told MacBook Air is 'Not A Laptop' when complaining about heat?

    My MacBook Air gets so hot I cannot comfortably keep it on my lap. When I called Support to talk about this they told me it is not a laptop but a portable computer. I find this completely unacceptable and expect a repair or refund - the ones in the A

  • Import project into another shema (Oracle Database)

    I'm going to import project which use schema of local database. Is there any quick solution to change this schema to remote database without another mapping datastore in interface?

  • DB13 scheduled backups getting failed

    Hello Experts, Till sometime back our backups were working fine. But recently it started getting failed. I have checked the RFC connection SAPXPG_DBDEST_PRODORADB. RFC connection test is throwing the following error. Logon Connection Error Error Deta

  • Add Facebook like button in mail

    I would like to add a Facebook button in an email that allows the recipient to easily 'like' a web address.  Can anyone help me do that?  I would also like to add a twitter button that functions as a 'retweet.'  is that possible?

  • PLD Copy Functionality

    Hi Experts How do you copy a layout from one database to the other e.g. designed a Sales Quotation layout in training database want to copy it to the Live database. How do i do this.? Good day Louis