Part of testing with populated data is performance testing. If your data populating utilities can't give a high enough throughput, you can't really test your application under load.
And generating meaningfully big sets of data requires a lot of time. So for example, with Caché populate utils it takes 7.891 seconds on my machine to create 1M pairs of ,

The same takes 0.39s on my machine with a rudimentary go implementation.
I very much disagree that performance doesn't matter.

In terms of an online service, you could do something like:

curl -H "Content-Type: application/json" -X POST --data '{"count":1000000,"headers":false,"fields":[{"name":"Name","type":"name"},{"name":"Age","type":"digits"}]}' http://data.panadadata.com -o data.json

(disclaimer, I run that service)

Hi,

it depends a little bit what exactly the bottleneck is. If it's the processing, you could possibly split the reading from the processing by inserting a scheduling mechanism and just have the read process queue up things and several worker threads for the processing.

If the bottleneck is the reading, there is not much you can do. Reading from the same file in multiple locations is going to make it slower overall.

Best,
Fab

Hi!

A couple of things to note/check on your end:

  • %SYS_Monitor service is enabled (and is not restricting access for your IP)
  • Make sure the iscsnmp.dll is registered. You can run
    d $ZU(190,5,0) to delete the registry entries
    and
    d $ZU(190,5,1) to add them again.

  • Restart SNMP in Cache:
    zn "%SYS"
    d stop^SNMP
    d start^SNMP

  • Make sure there is a SNMP job running in your instance (System -> Processes, filter for SNMP)

  • Make sure the windows firewall allows connections, in doubt you could disable the windows
    firewall service temporarily

For debugging you can set:

  s  ^SYS("MONITOR","SNMP","DEBUG")=1

Which will create a SNMP.log file in your mgr directory.

As well as in the registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intersystems\Cache\SNMP\CurrentVersion

(for 64bit)

"Debug" = "true" (String value)

Which will create a file snmpdbg.log in c:\windows\syswow64\snmpdbg.log

Then you can try and get a value directly like this:

snmpwalk -r:"localhost" -os:.1.3.6.1.4.1.16563.1.1.1.1.3 -op:.1.3.6.1.4.1.16563.1.1.1.1.4

(or you can use a tool like the iReasoning MIBBrowser..., import the MIB from directory>/SNMP)

Hope this helps.

Best,
Fabian