none
iexplore.exe -nomerge limited to 30 browsers. can this be increased ? RRS feed

  • Question

  •  

    I have written a program to simulate multiple users concurrently browsing a web site using internet explorer.

    When using the -nomerge parameter of IE8 the maximum number of browsers is limited to 28->30  internet explorer's 
    The actual limit varies depending on the machine tested on, but low spec laptop v high spec only varies by 2 internet explorers.

    1) Why is this ?
    2) Can this limit be increased ?

    I've googled for days with out finding an answer or a way round this limitation.

    Any help greatly appreciated

    • Moved by Bob Shen Wednesday, July 10, 2013 4:20 AM
    Monday, July 8, 2013 9:41 AM

Answers

All replies

  • I believe you can increase the number of instances by increasing the desktop heap.

    http://support.microsoft.com/default.aspx?scid=184802

    Look at the sharedsection parameters and increase the middle one (3072) to 4096 and try again.

    Monday, July 8, 2013 10:00 AM
  • Also, for simulating users on a website, you'd might want to check out products like Selenium.
    Monday, July 8, 2013 10:03 AM
  • I believe you can increase the number of instances by increasing the desktop heap.

    http://support.microsoft.com/default.aspx?scid=184802

    Look at the sharedsection parameters and increase the middle one (3072) to 4096 and try again.

    many thanks for your response but I don't think the desktop heap is the issue as I have tried it

    on many machines from w8 + w7 + vista laptops to an EC2 instance 16gb quad core and all of them are limited to 30 browsers.

    Just to double check, again I changed my SharedSection registry entry  from 1024,20240,768

    to -> 2048,30760,1024, rebooted and still no change.

    I'm in the process of trying to install and run dheapmon to treble check the desktop heap but I'm not optimistic about finding the heap as the cause because I have tried it on so many different machines.

    Any other suggestions gratefully received .

    Monday, July 8, 2013 12:28 PM
  • Trying to install dheapmon is another exercise in contrite convoluted and  pointless hoop jumping.

    dheapmon comes with an installer that doesn't install it ( that would be to simple )

    The installer requires that you learn all sorts of nonsense about symbol servers and what not.....

    ( all I want to do is run more than 30 IE's with -nomerge option, not study for a degree in inferred and opaque computing documentation )

    so many attempts with different dheapmon packages... none worked.

    So I can't eliminate desktop heap explicitly using dheapmon, but..... based  on this problem occurring

    on VISTA, Windows 7 & 8 Windows Server 2008 + 2012. with memory specifications from 2GB to 17GB.

    I'm going to implicitly eliminate it as the source of the limit, because all these test machines have different heap settings but they all fail at 28 to 30 IE browsers.

    If anyone can change their WindowsSharedSection registry entry and actually effect the number of IE browsers they can open then I would like to hear about it.

    Anyone got other suggestions ?

     ( its not TabProcGrowth either )

    Monday, July 8, 2013 4:24 PM
  • Hi Jake_UK,

    It seems that this issue isn't related to C#. I am moving your question to the moderator forum ("Where is the forum for..?"). The owner of the forum will direct you to a right forum. Thanks for your understanding.


    Bob Shen
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Wednesday, July 10, 2013 4:20 AM
  •  "The owner of the forum will direct you to a right forum"

    Any help is gratefully received.

    Today I'm trying to hack round this limit by starting the process using a different user

    but it still limits the explorers to 30 total across different users

    private InternetExplorer _IE;        
    public AppDomain appDom;
    
            public StartNewBrowser(string usrname, string pwd)
            {
    
                try
                {
    
    
                    appDom = AppDomain.CreateDomain("myDomain");
    
                    Process p = new Process();
    
                    p.StartInfo.UserName = usrname;
                    p.StartInfo.LoadUserProfile = false;
                    
                    p.StartInfo.FileName = @"C:\Program Files\Internet Explorer\iexplore.exe";
                    p.StartInfo.WorkingDirectory = @"C:\Program Files\Internet Explorer";
                    
                    
    
                    p.StartInfo.Arguments = "-nomerge";
    
                    p.StartInfo.RedirectStandardError = true;
                    p.StartInfo.RedirectStandardOutput = true;
                    p.StartInfo.RedirectStandardInput = true;
    
    
    
                    //p.StartInfo.Domain = "Optional_Domain";
                    p.StartInfo.Domain = "myDomain";
    
                    System.Security.SecureString encPWD = new System.Security.SecureString();
    
                    foreach (Char c in pwd)
                    {
                        encPWD.AppendChar(c);
                    }
    
                    p.StartInfo.Password = encPWD;
    
    
                    // The UseShellExecute flag must be turned off in order to supply a password:
                    p.StartInfo.UseShellExecute = false;
    
                    p.Start();
    
                    Thread.Sleep(3000);
    
                    _IE = null;
    
                    ShellWindows m_IEFoundBrowsers = new ShellWindowsClass();
    
                    foreach (InternetExplorer Browser in m_IEFoundBrowsers)
                    {
                        if (Browser.HWND == (int)p.MainWindowHandle)
                        {
                            TTraceMsg("IE HWND FOUND ! <------------------------------------");
                            _IE = Browser;
                            break;
                        }
                    }
    
                    IE.Visible = true;
                    IE.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler(IE_DocumentComplete);
    
                }
                catch (Exception ex)
                {
                    TTraceMsg("Error: IEDriver(usr,pwd) : {0}, ({1})", ex.Message,ex.Data);
                }
    
            }

    Wednesday, July 10, 2013 1:32 PM
  • So this is IE Dev?

    Try here: http://social.msdn.microsoft.com/Forums/ie/en-US/home?forum=iewebdevelopment

    Thanks!


    Ed Price (a.k.a User Ed), SQL Server Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Tuesday, July 16, 2013 7:46 PM
    Owner
  • So this is IE Dev?

    Try here: http://social.msdn.microsoft.com/Forums/ie/en-US/home?forum=iewebdevelopment

    Thanks!


    Can this thread be moved to the IE forum ?

    progress report:

    I've since tried a few ideas such as launching them under different users  ( still limited to 29 ) 

    Also looked at multiple desktops but this layers to much complexity on the controller.

    So far the most successful working model I've built is a kludge based on anomaly of having 64 bit and 32 bit versions of iexplore.exe on the same machine.

    I can now control 58 concurrent browsers using 29 x 64 bit and 29 x 32 bit iexplore.exe's

    ( this proves that it is not the desktop heap that is limiting IE sessions to 29 )


    Wednesday, July 17, 2013 4:34 PM