问题
I used LR for performance testing and encountered the below error:
Error: Failed to send data by channels - post message failed.
Does such error indicate agents number bottleneck? If so, I just need to add agents, right?
Thanks for the tips.
回答1:
The error occurs on the Load Generator machine(s) when one of the threads under lr_bridge.exe that updates the eve files is not getting enough CPU time slice to be able to send events to the Controller. Enabling an additional flag in the mdrv.dat file on the LG machine will maintain the read and write threads for the eve files on the same main thread, thus allowing it to have all the CPU time needed.
To fix this issue :
Disable Web Diagnostics for J2EE/.NET. If the behavior remains, go through the next steps.
On all of the Load Generator machines where the Vusers are being executed, edit the \dat\mdrv.dat file by adding the line listed below in bold:
[lr_trans_server]
ExtPriorityType=transaction_server
WINNT_EXT_LIBS=trans_server.dll
WIN95_EXT_LIBS=trans_server.dll
LINUX_EXT_LIBS=libtrans_server.so
SOLARIS_EXT_LIBS=libtrans_server.so
HPUX_EXT_LIBS=libtrans_server.sl
AIX_EXT_LIBS=libtrans_server.so
LibCfgFunc=TransactionServer_configure
GetLoaderInterfaceFunc=get_ts_interface
AddLoaderClientInterfaceFunc=add_ts_client_interface
GetLoaderCommandLine=trans_server_extra_ext
Loader=1
ExtMessageQueue=0
SecurityMode=On
ExtCmdLineOverwrite=-eve_thread_run_on_main_thread
Save the changes in the mdrv.dat file then re-run the load test.
来源:https://stackoverflow.com/questions/26457896/error-failed-to-send-data-by-channels-post-message-failed-in-loadrunner