Question: I have used Gurobi and cplex for solving large scale LP problems with Pyomo. However, I do need to use open source solver. Any advise?
glpk and cbc seems to be very slow in solving the problem (with 2e6 variables)

Answer: 
The Mittlemann benchmarks are an excellent benchmark as ever in particular these two:

* [Benchmark of Barrier LP solvers](http://plato.asu.edu/ftp/lpbar.html)
* [Large Network-LP Benchmark (commercial vs free)](http://plato.asu.edu/ftp/network.html)

Note that Pyomo doesn't have bindings for most of these locally. If you are just looking for high-level modeling language and are not tied to Python you could use the JuMP modeling language instead which uses Julia. Julia's excellent package system means many Open Source solvers are only an `]add Tulip`, `]add Ipopt`, `]add HiGHS` (you should be aware this binding it is still under active development see [GitHub](https://github.com/jump-dev/HiGHS.jl/blob/master/README.md) for details) or `]add Clp` in the command line away.
If you mean by LP is referred to the linear programming (not mixed-integer linear programming), there are some open-source solvers like SoPlex and Clp which can be linked with Pyomo via Neos server but, I really do not know is there any way to connect those locally. If you meant is the mixed-integer linear programming one of the best options is SCIP, but as far as I know it's not quite free at all.