package com.ausregistry.jtoolkit2; import com.ausregistry.jtoolkit2.se.*; import com.ausregistry.jtoolkit2.session.*; public class PerfTest implements Runnable { private static final String PROPS_FILE = "/home2/anthony/etc/toolkit/perftest.props"; private SessionManager sessionManager; private Command[] commands; private int count; public PerfTest() { } public PerfTest(String[] args) { count = Integer.parseInt(args[0]); commands = new Command[count]; for (int i = 0; i < commands.length; i++) { if (i < count / 3) { commands[i] = new Command(StandardCommandType.CHECK) { private static final long serialVersionUID = -216980404383587901L; protected String toXMLImpl() { return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><command><check><domain:check xmlns:domain=\"urn:ietf:params:xml:ns:domain-1.0\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\"><domain:name>optometrists.com.au</domain:name><domain:name>prescriptions.com.au</domain:name><domain:name>lingeriemodels.com.au</domain:name><domain:name>intentions.com.au</domain:name><domain:name>cherub.com.au</domain:name><domain:name>medications.com.au</domain:name><domain:name>smashed.com.au</domain:name><domain:name>hunters.com.au</domain:name><domain:name>anthology.com.au</domain:name><domain:name>drenches.com.au</domain:name><domain:name>inks.com.au</domain:name><domain:name>fashiondesigner.com.au</domain:name><domain:name>devices.com.au</domain:name><domain:name>pizzas.com.au</domain:name><domain:name>rogue.com.au</domain:name><domain:name>hairsalon.com.au</domain:name><domain:name>cleanliving.com.au</domain:name><domain:name>requisitions.com.au</domain:name><domain:name>airporttransfers.com.au</domain:name><domain:name>buildingsocieties.com.au</domain:name><domain:name>waiter.com.au</domain:name><domain:name>surnames.com.au</domain:name><domain:name>ambulances.com.au</domain:name></domain:check></check><clTRID>9379431169103313674689062</clTRID></command></epp>"; } }; } else if (i < count * 2 / 3) { commands[i] = new Command(StandardCommandType.CHECK) { /** * */ private static final long serialVersionUID = -8054202272360872140L; protected String toXMLImpl() { return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><command><check><domain:check xmlns:domain=\"urn:ietf:params:xml:ns:domain-1.0\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\"><domain:name>optometrists.com.au</domain:name><domain:name>prescriptions.com.au</domain:name><domain:name>lingeriemodels.com.au</domain:name><domain:name>intentions.com.au</domain:name><domain:name>cherub.com.au</domain:name><domain:name>medications.com.au</domain:name><domain:name>smashed.com.au</domain:name><domain:name>hunters.com.au</domain:name><domain:name>anthology.com.au</domain:name><domain:name>drenches.com.au</domain:name><domain:name>inks.com.au</domain:name><domain:name>fashiondesigner.com.au</domain:name><domain:name>devices.com.au</domain:name><domain:name>pizzas.com.au</domain:name><domain:name>rogue.com.au</domain:name><domain:name>hairsalon.com.au</domain:name><domain:name>cleanliving.com.au</domain:name><domain:name>requisitions.com.au</domain:name><domain:name>airporttransfers.com.au</domain:name><domain:name>buildingsocieties.com.au</domain:name><domain:name>waiter.com.au</domain:name><domain:name>surnames.com.au</domain:name><domain:name>ambulances.com.au</domain:name></domain:check></check><clTRID>1207098411691033136503880218</clTRID></command></epp>"; } }; } else { commands[i] = new Command(StandardCommandType.CHECK) { /** * */ private static final long serialVersionUID = 3851052297698192792L; protected String toXMLImpl() { return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><command><check><domain:check xmlns:domain=\"urn:ietf:params:xml:ns:domain-1.0\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\"><domain:name>spoil.com.au</domain:name><domain:name>comics.com.au</domain:name><domain:name>vacuumcleaners.com.au</domain:name><domain:name>cleanwater.com.au</domain:name><domain:name>vacuumcleaner.com.au</domain:name><domain:name>officeequipment.com.au</domain:name><domain:name>golfvacation.com.au</domain:name><domain:name>perfectmatch.com.au</domain:name><domain:name>animalshelter.com.au</domain:name><domain:name>trustees.com.au</domain:name><domain:name>coffeecup.com.au</domain:name><domain:name>memento.com.au</domain:name><domain:name>coincidence.com.au</domain:name><domain:name>atv.com.au</domain:name><domain:name>essay.com.au</domain:name><domain:name>economy.com.au</domain:name><domain:name>realestatedeveloper.com.au</domain:name><domain:name>videogames.com.au</domain:name><domain:name>calendar.com.au</domain:name><domain:name>lovepoem.com.au</domain:name><domain:name>clothes.com.au</domain:name><domain:name>lowgidiet.com.au</domain:name><domain:name>pizzas.com.au</domain:name><domain:name>cateringservices.com.au</domain:name></domain:check></check><clTRID>1152455611691034111578254964</clTRID></command></epp>"; } }; } } try { sessionManager = SessionManagerFactory.newInstance(PROPS_FILE); } catch (Exception e) { e.printStackTrace(); } } public void run() { try { sessionManager.startup(); Transaction[] tx = new Transaction[count]; for (int i = 0; i < tx.length; i++) { tx[i] = new Transaction(commands[i], new DomainCheckResponse()); } long start = System.nanoTime(); sessionManager.execute(tx); long end = System.nanoTime(); long diff = end - start; System.out.println(diff); sessionManager.shutdown(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { Thread[] threads = new Thread[50]; for (int i = 0; i < threads.length; i++) { threads[i] = new Thread(new PerfTest(args)); threads[i].start(); } } }