|Keep It Simple, Stupid|
I am also not sure what you are trying to do but if you just want to exercise the back end and do not care about the contents you are putting in perhaps you do not need to create and read large XML files. Would a small routine that just hammers data pairs into the back end and warns of any errors be enough?
Are you trying to test the FakeFEClient which I see in the line: my $obj1 = new FakeFEClient::FakeFEClient("192.168.106.57",9001,"1","default_encrypt1");
Your code does look to create a lot of large data sets, this will take time and possibly use a lot of memory, if you can take your key/value pairs one at a time and then do the required work you may find it faster. It may be enough to generate random key/value pairs in a loop and the test the insertion of these into the back end.
Perhaps you can explain in a few steps what you are trying to do and why you decided to do this by first building a massive XML file.
There are also two lines missing from the code you have posted:
They will save you a lot of time in the long run
Pereant, qui ante nos nostra dixerunt!