On average, my PHP page generation time is 10ms. So i should be able to execute 100 requests one after the other one
No, this is very wrong. depending on what the code is doing it should be a lot more, if it's badly written then potentially a lot less.
How did you measure the 10ms?
some read queries solved by indexes.
Which rather implies a database - but you didn't even mention one, let alone what it's actually doing.
i'm having problems reaching 50 pages per seconds
So what's constraining the performance? Disk I/O, memory I/O? CPU?
No stats. No code. No config info. Sorry but we're even more in the dark than you are.
since that php is not multithreaded
No - it's multi-processing - or at least it should be (unless it happens to be handling a message queue rather than webserver requests). If you've only allowed one PHP instance in the fastcgi config (again you don't say which fastcgi manager you are using) then that's probably the biggest bottleneck.