Foxhound 2.0 FAQ
Foxhound 2.0 FAQ Home      Foxhound Home      RisingRoad           Breck.Carter@gmail.com     


Question: How do I start multiple copies of Foxhound on a single computer?

Answer: You can use the Extended Edition of Foxhound to start up to 10 different copies of the Foxhound database on one computer, each running as a separate server and monitoring a separate set of target databases.

Here's how to set it up:

  1. Make sure your original copy of the Foxhound database is activated as an Extended Edition copy.

  2. Stop and/or delete any Foxhound Monitor sampling sessions you don't want to run on all copies of Foxhound.
    Your original copy of the Foxhound database is going to serve as a model or template for the other nine copies. In other words, when the nine new copies are first started they will contain exactly the same settings as the original copy, and you can only customize each copy after it is started.
  3. Shut down your original copy of the Foxhound database.

  4. Make 9 file copies (see example 1 below) of your original foxhound2.db file in nine different folders.
    By default, Foxhound is installed in this location on Windows XP:
    C:\Documents and Settings\All Users\Application Data\RisingRoad\Foxhound2
    and on Vista and Windows 7 it is here:
    C:\ProgramData\RisingRoad\Foxhound2
  5. Use dbsrv12.exe (see example 2 below) to start your original Foxhound database plus the nine copies as follows:

    • use different runtime server names: foxhound2, foxhound2b, foxhound2c, ..., foxhound2j

    • use different HTTP ports; e.g., 49301, ... 49310

    • choose cache memory options carefully; e.g., -c 5p -ch 10p

  6. Start 10 browser sessions (see example 3 below) using the different HTTP ports.

  7. Use Monitor Options - 2. Manage Multiple Monitor Sessions in each browser session to set up the target databases for each copy of Foxhound.

  8. See example 4 below for a script to stop all 10 copies of Foxhound.

Here is a sample Windows command file that makes the 9 copies in nine different folders and then starts all 10 copies of Foxhound:

Example 1: Make 9 Copies Of Foxhound   [Top]

REM ******************************************************************
ECHO Making nine Foxhound database copies...

CD /D "%FOXHOUND2%"

MD b
MD c
MD d
MD e
MD f
MD g
MD h
MD i
MD j

COPY /V /Y foxhound2.db b
COPY /V /Y rroad2.dll   b
COPY /V /Y rroad264.dll b

COPY /V /Y foxhound2.db c
COPY /V /Y rroad2.dll   c
COPY /V /Y rroad264.dll c

COPY /V /Y foxhound2.db d
COPY /V /Y rroad2.dll   d
COPY /V /Y rroad264.dll d

COPY /V /Y foxhound2.db e
COPY /V /Y rroad2.dll   e
COPY /V /Y rroad264.dll e

COPY /V /Y foxhound2.db f
COPY /V /Y rroad2.dll   f
COPY /V /Y rroad264.dll f

COPY /V /Y foxhound2.db g
COPY /V /Y rroad2.dll   g
COPY /V /Y rroad264.dll g

COPY /V /Y foxhound2.db h
COPY /V /Y rroad2.dll   h
COPY /V /Y rroad264.dll h

COPY /V /Y foxhound2.db i
COPY /V /Y rroad2.dll   i
COPY /V /Y rroad264.dll i

COPY /V /Y foxhound2.db j
COPY /V /Y rroad2.dll   j
COPY /V /Y rroad264.dll j

PAUSE

Example 2: Start 10 Copies Of Foxhound   [Top]

REM ******************************************************************
ECHO Starting ten Foxhound engines...

SET BIN=Bin32
IF EXIST "%SQLANY12%\Bin64\dbsrv12.exe" (SET BIN=Bin64)
IF "%FOXHOUND2BIN%"=="Bin32" (SET BIN=Bin32)

CD /D "%FOXHOUND2%"

REM Maintenance Note: This script does not use the
REM    same set of dbsrv12 options as the other
REM    scripts that launch Foxhound...
REM       $backup_foxhound2.bat
REM       $start_foxhound2_engine.bat
REM       $start_foxhound2_chrome.bat
REM       $start_foxhound2_chrome_debug.bat
REM       $start_foxhound2_firefox.bat
REM       $start_foxhound2_firefox_debug.bat
REM       $start_foxhound2_ie.bat
REM       $start_foxhound2_ie_debug.bat

IF EXIST "%FOXHOUND2%\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2 -o foxhound2_debug.txt -oe foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49201) -xd -xs http(port=49301;maxsize=0;to=600;kto=600) foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\b\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\b\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2b -o b\foxhound2_debug.txt -oe b\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49202) -xd -xs http(port=49302;maxsize=0;to=600;kto=600) b\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\c\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\c\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2c -o c\foxhound2_debug.txt -oe c\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49203) -xd -xs http(port=49303;maxsize=0;to=600;kto=600) c\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\d\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\d\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2d -o d\foxhound2_debug.txt -oe d\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49204) -xd -xs http(port=49304;maxsize=0;to=600;kto=600) d\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\e\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\e\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2e -o e\foxhound2_debug.txt -oe e\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49205) -xd -xs http(port=49305;maxsize=0;to=600;kto=600) e\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\f\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\f\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2f -o f\foxhound2_debug.txt -oe f\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49206) -xd -xs http(port=49306;maxsize=0;to=600;kto=600) f\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\g\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\g\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2g -o g\foxhound2_debug.txt -oe g\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49207) -xd -xs http(port=49307;maxsize=0;to=600;kto=600) g\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\h\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\h\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2h -o h\foxhound2_debug.txt -oe h\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49208) -xd -xs http(port=49308;maxsize=0;to=600;kto=600) h\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\i\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\i\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2i -o i\foxhound2_debug.txt -oe i\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49209) -xd -xs http(port=49309;maxsize=0;to=600;kto=600) i\foxhound2.db -n f

IF ERRORLEVEL 1 GOTO dbsrv12_failure

IF EXIST "%FOXHOUND2%\j\foxhound2_debug_startup.txt" DEL /F /Q "%FOXHOUND2%\j\foxhound2_debug_startup.txt"

"%SQLANY12%\%BIN%\dbspawn.exe" -f "%SQLANY12%\%BIN%\dbsrv12.exe" -c 5p -ch 10p -cr- -gk all -gn 120 -gna 0^
  -n foxhound2j -o j\foxhound2_debug.txt -oe j\foxhound2_debug_startup.txt^
  -o 1M -sb 0 -x tcpip(port=49210) -xd -xs http(port=49310;maxsize=0;to=600;kto=600) j\foxhound2.db -n f

IF ERRORLEVEL 1 ( GOTO dbsrv12_failure ) ELSE ( GOTO dbsrv12_success )

:dbsrv12_failure
ECHO ******************************************************************
ECHO *** ERROR ********************************************************
ECHO *** dbspawn/dbsrv12 set ERRORLEVEL = %ERRORLEVEL%
ECHO *** To display startup diagnostics,
PAUSE
IF NOT EXIST "%FOXHOUND2%\foxhound2_debug_startup.txt" ( GOTO file_does_not_exist ) ELSE ( GOTO file_exists ) 

:file_does_not_exist
REM ******************************************************************
ECHO *** No startup diagnostics are available.
PAUSE
GOTO end

:file_exists
REM ******************************************************************
TYPE "%FOXHOUND2%\foxhound2_debug_startup.txt"
PAUSE
GOTO end

:dbsrv12_success
REM ******************************************************************
IF NOT EXIST "%FOXHOUND2%\foxhound2_debug_startup.txt" ( GOTO end ) ELSE ( GOTO display_file ) 

:display_file
ECHO ******************************************************************
ECHO *** ERROR ********************************************************
ECHO *** To display startup diagnostics,
PAUSE
TYPE "%FOXHOUND2%\foxhound2_debug_startup.txt"
GOTO end

:end
REM ******************************************************************
ECHO All done...
PAUSE
EXIT

Example 3: Start 10 Foxhound Browser Sessions   [Top]

REM ******************************************************************
ECHO Starting ten Chrome browser sessions...

IF EXIST "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" ( GOTO use_AppData ) ELSE ( GOTO use_LocalSettings )
 
:use_AppData
START "f01" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49301/foxhound
START "f02" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49302/foxhound
START "f03" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49303/foxhound
START "f04" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49304/foxhound
START "f05" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49305/foxhound
START "f06" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49306/foxhound
START "f07" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49307/foxhound
START "f08" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49308/foxhound
START "f09" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49309/foxhound
START "f10" "%UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe" http://localhost:49310/foxhound

GOTO end

:use_LocalSettings
START "f01" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49301/foxhound
START "f02" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49302/foxhound
START "f03" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49303/foxhound
START "f04" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49304/foxhound
START "f05" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49305/foxhound
START "f06" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49306/foxhound
START "f07" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49307/foxhound
START "f08" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49308/foxhound
START "f09" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49309/foxhound
START "f10" "%UserProfile%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" http://localhost:49310/foxhound

:end
PAUSE

Example 4: Stop 10 Copies Of Foxhound   [Top]

REM ******************************************************************
ECHO Stopping ten Foxhound engines...

SET BIN=Bin32
IF EXIST "%SQLANY12%\Bin64\dbsrv12.exe" (SET BIN=Bin64)
IF "%FOXHOUND2BIN%"=="Bin32" (SET BIN=Bin32)

"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2b;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2c;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2d;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2e;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2f;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2g;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2h;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2i;UID=STOPPER;PWD=SQL" -y
"%SQLANY12%\%BIN%\dbstop.exe" -c "ENG=foxhound2j;UID=STOPPER;PWD=SQL" -y

PAUSE

See also...
How do I start Foxhound?
How do I tell Foxhound to use an HTTP port other than 80?


This page was last updated on October 23, 2012. Foxhound 2.0 FAQ Home      Foxhound Home      RisingRoad      Breck.Carter@gmail.com