Currently the operator of the Czech national electric power distribution network runs a pilot project of testing deployment of approximately 35,000 smart meters – devices which measure various quantities related to power consumption at the end-user side. The measured data are gath- ered along the distribution to concentrator devices (each serving several hundreds of smart meters typically) which send it further to a cluster of central servers for data processing. The pilot will be followed by deployment of approximately 100x more such devices. However, such deployment is unprecedented with the software in use. Therefore a simulation experiment is required to discover and mitigate potential scaling issues in advance. The simulation is run in the cloud infrastructure of CERIT-SC (managed by the OpenNebula stack). The central servers are deployed on hardware of similar scale and in the same software configuration as intended for the production. The data sources – smart meters are simulated at the level of concentrators. The implementation allows to simulate varying patterns of measurements and patterns of unaccessibility. Unchanged communication protocols between the concentrator and the central server are used then. Because the target setup assumes up to 50,000 concentrators, up to thousands of concentrators must be handled by a single simulator instance. The target environment uses data links of varying qualities, starting even at GPRS links. Therefore the simulator also includes modules which emulate packet loss, delay, and jitter in the network communication in a controlled way. This setup allows testing sensitivity of the entire system on network properties. The cloud is an essential flexible infrastructure to run such an experiment. With the exception of the RDBMS server running on a large SMP machine all the servers (both the central cluster and the data source simulators) are run in virtual machines in the cloud. This allows multiplatform setup (Windows and two Linux flavours are used) and, in particular, servers can be added to various groups (simulators, front-ends, application logic, etc.) easily. On the other hand, resources which are not required in a certain stage of the experiment, can be easily released to other use, which makes even such a large experiment affordable