Best Practices for Configuration of PrismMQ and POSV1 Services in Retail Pro Prism
Best Practices for Configuration of PrismMQ and POSV1 Services in Retail Pro Prism
PrismMQ and POSV1 are Retail Pro Prism services. By configuring these services, RP Prism will be able to function as efficiently as possible.
PrismMQ Recommended Configurations
The PrismMQService.ini file has key settings related to data replication. You can configure the PrismMQService.ini file at …\ProgramData\RetailPro\Server\conf.
The properties, along with their default and recommended settings are listed below.
Certain settings are only present when Retail Pro Prism DRS is installed. It is not present on MySql systems, so services are split into RP Prism Settings and RP 9 and RIL Settings.
RP Prism Settings
Property |
Possible Values |
Default/Recommended |
Purpose |
Initialization Threads Per Sender |
1 to number of CPU cores |
5/5 |
Set the Initialization Threads Per Sender to 5 or the number of cores you have allocated if you allocate more than 5. |
Initialization Max Senders |
Positive Number |
5 |
Number of threads that can run simultaneously sending data for initialization |
Initialization Max Receivers |
Positive Number |
10 |
Number of threads that can run simultaneously receiving data for initialization. |
Initialization Max Retries |
Positive Number |
20/10 |
DEPRECATED. Maximum number of retries is NO LONGER USED. Remove from file. |
Initialization Batch Size |
Positive Number |
25/200 |
How many messages to read from the database and process at a time. Also affects logging or progress, as a log entry is only written as each batch is processed. If set too high, memory issues could occur. |
Day-to-Day Max Receivers |
Positive Number |
1/10 |
Number of threads that can run simultaneously receiving data for Day to Day. |
Day-to-Day Max Retries |
Positive Number |
5/5 |
Maximum number of retries before failing |
Day-to-Day Producer Interval |
Positive Number |
10/10 |
How often (in seconds) to scan data event queues on RP Prism side for outgoing changes. |
Preserve Successful Records |
TRUE, FALSE |
FALSE |
Determines whether users will see successful records and errors, or only errors. The default value is False, meaning successful records are not preserved. Keeping the default value of False is important for customers with large data sets. If set to true, large quantities of unneeded data (sometimes millions of rows) could be preserved. When you run initialization and everything is successful, but the property is set to False, you will see the completed message in the RIL Initialization Dashboard but you will not see success records |
Initialization Guaranteed Message Delivery |
TRUE, FALSE |
FALSE/TRUE |
Guarantee that no messages are lost if RabbitMQ goes down. This setting is used in tandem with the Resume Initialization at Startup. |
Resume Initialization at StartupRESUMEINITONSTARTUP |
TRUE, FALSE |
TRUE/TRUE |
If a consumer goes down during an initialization, having ResumeInitOnStartup set to True ensures that the consumer will resume initialization automatically upon restart. VERY IMPORTANT: In tandem with this property the user must also set the INIGUARANTEEDMESSAGEDELIVERY to True on the sending server for the desired initialization type (RIL to RPP or RPP to RPP) to guarantee that no messages are lost if RabbitMQ goes down. For example, if you start an initialization and realize the consumer's 20-thread default is too low for the power of the machine, you can now pause that consumer, change the thread count and then resume the consumer. Initialization will pick up where it left off with the new thread count. Also, if a consumer goes down or stops responding, initialization can be resumed either automatically or manually by the user when PrismMQ restarts.
NOTE: YOU CANNOT PAUSE THE SENDER, BUT EACH DOWNSTREAM CONSUMER SYSTEM CAN NOW BE PAUSED AND OR RESUMED. |
RP9 and RIL Settings
Property |
Possible Values |
Default/Recommended |
Purpose |
Initialization Batch Size |
Positive Number |
25/25 |
How many messages to read from the database and process at a time. Also affects the logging or progress, as a log entry is only written as each batch is processed. If set too high, memory issues could occur. |
Initialization Max Senders |
Positive Number |
1/5 |
Number of sender threads that can be spun up simultaneously. If the user would like the ability to initialize multiple RP Prism servers simultaneously, this number needs to be raised. Note: when initializing multiple RP Prism Servers, all connections to the RP Prism servers must be successful, or else this will result in the initialization failure to ALL the RP Prism Servers. For this reason, it may be advisable to initialize one RP Prism server at a time. |
Day-to-Day Max Receivers |
Positive Number |
5/10 |
Number of threads that can run simultaneously receiving data for Day to Day. |
Day-to-Day Max Retries |
Positive Number |
5/5 |
Maximum number of retries that will be attempted before failing. |
Preserve Successful Records |
TRUE, FALSE |
FALSE |
Determines whether users will see successful records and errors, or only errors for both initialization and Day to Day. The default value is False, meaning that successful records are not preserved. Keeping the default value of False is important for customers with large data sets. If set to true, large quantities of unneeded data (sometimes millions of rows) could be preserved. If set to False, when you run initialization and everything is successful, you will see the completed message in the RIL initialization dashboard but no success records. |
Pub Update Interval |
Positive Number |
100/600 |
How often (in seconds) to scan 1st level DRS logs to catch changes coming from RIL side. |
Initialization Guaranteed Message DeliveryINITGUARANTEEDMESSAGEDELIVERY
|
TRUE, FALSE |
TRUE/TRUE |
If a consumer goes down during an initialization, having ResumeInitOnStartup set to True ensures that the consumer will resume initialization automatically upon restart. VERY IMPORTANT: In tandem with this property the user must also set the INIGUARANTEEDMESSAGEDELIVERY to True on the sending server for the desired initialization type (RIL to RP Prism or RP Prism to RP Prism) to guarantee that no messages are lost if RabbitMQ goes down. For example, if you start an initialization and realize the consumer's 20-thread default is too low for the power of the machine, you can now pause that consumer, change the thread count and then resume the consumer. Initialization will pick up where it left off with the new thread count. Also, if a consumer goes down or stops responding, Initialization can be resumed either automatically or manually by the user when PrismMQ restarts.
|
General Descriptions
Property |
Description |
Receive Timeout |
Time to wait between receives |
Compression Threshold |
Helps improve performance when replicating large files, such as a large Promotions file. You can select to compress payloads above the selected size (default 100k). |
Server Mode |
The Server Mode configuration option for the PrismMQ service helps improve performance for high-performance, multi-CPU systems (four CPU cores or more) when high-throughput and increased processing power are needed. For example, during initialization the server is trying to quickly import and process many records. However, Windows default power management settings can end up throttling performance on high-performance machines. Server Mode enables you to bypass some of these default Windows power management settings so servers can make more efficient use of available computing resources. |
Host Name |
Server name |
RP Prism POSV1 Recommended Configurations
This service handles POS-related tasks, Physical Inventory and a few other inventory-related tasks.
The POSv1Service handles the RPC Methods and REST Resources that are listed in the RPSRESTSERVICEMODULE area of the RP Prism API Explorer.
This service has settings related to thread counts and timeouts. The purpose of these entries is to control how much memory is allocated to a given RPS instance. In our 32-bit architecture, each instance is limited to a maximum of 2 GB of memory.
Transform is a very heavy resource and has a defined limit that we believe will be adequate for most circumstances.
Auth threads are only applicable to the primary instance and define how many auth requests can occur simultaneously.
Property |
Possible Values |
Default/Recommended |
Purpose |
LOGLEVEL=2 |
0 = None 1 = Errors Only 2= Min 3 = Verbose |
2 is Recommended |
How much logging to produce |
LIVELOGGING |
TRUE, FALSE |
FALSE, FALSE |
Used with Codesite. |
CODESITEACTIVE |
TRUE, FALSE |
FALSE, FALSE |
Denotes whether Codesite is installed and active. Default is FALSE, TRUE if installed and active. |
DEBUGSTACKTRACEACTIVE |
TRUE, FALSE |
FALSE, FALSE |
Output a stack trace for debugging purposes for all exceptions thrown, even those that are swallowed and not normally surfaced. Do not change. |
BUFFERSIZE |
0-500 0 = No buffer, all entries written to disk |
500 is Recommended |
|
MAXENTRYLENGTH |
0-100000 |
10000 is recommended |
How many entries are in the file |
LOGTIMING |
TRUE, FALSE |
FALSE is recommended |
Output timings for parts of the system in the log file; debugging only. |
RetainXLogs |
0-100 |
9 is Recommended |
How many logs will be retained |
AUTHTHREADCNT |
Positive Number |
10 |
The default number of threads that can run. Increase only if there is thread contention, typically when there is a large number of users creating and updating sales documents simultaneously. Increasing will also impact the overall memory usage, so add only a few threads at a time. |
V1TRANSFORMTHREADCNT |
Positive Number |
1 |
Transform thread count - do not change |
RECVTHREADCNT |
Positive Number |
5 |
Increase only if there is thread contention, typically when there is a large number of users creating and updating sales documents simultaneously. Increasing will also impact the overall memory usage, so add only a few threads at a time. |
V1CUSTOMERTHREADCNT |
Positive Number |
20 |
Number of threads that can be used to run the service. Increase only if there is thread contention, typically when there is a large number of users creating and updating sales documents simultaneously. Increasing will also impact the overall memory usage, so add only a few threads at a time. |
V1DOCUMENTTHREADCNT |
Positive Number |
20 |
Increase only if there is thread contention, typically when there is a large number of users creating and updating sales documents simultaneously. Increasing will also impact the overall memory usage, so add only a few threads at a time. |
AUTHONLYPRIMARY |
FALSE |
FALSE |
Do not change. |