Investigating network traffic


#1

I am investigating the role networks play in overall performance behavior in scale environments. (So not your single webpage sitting on your own single server)

My first hypothesis is that applications and data seem to drift more and more physically appart. This is driven by multi-cloud environments in which data may be in one cloud and the application processing it in another. Generally, it seems that network performance is becoming increasingly relevant to application performance - especially in highly parallelized computing setups with high speed storage arrays.

My second hypothesis is that the increased use of frameworks leads to less transparency on how each request is actually built and how it loads the network. A simple example is a database connection. Does the framework connect, open, query, close and disconnect ever time? Or only open, query, close? I am really after the network traffic perspective here: how many packets are sent back and forth? How much do the routers in between have to work? This largely depends on how the framework works. There are ample arguments for not closing open connections, but there are also arg7ments for indeed closing them after you got what you wanted - especially in web-native applications.

Any insights on how Zend considers network constraints? Or does Zend assume everything is on a LAN and doesn’t really care?

Thanks for your insights.


#2

Hey @sbv3,

ZF has little to do with network: it generally communicates with the world through PHP-FPM or MOD_PHP and doesn’t per-se produce any network traffic.
This is pretty much the equivalent of reading/writing to STDIN/STDOUT/STDERR.


#3

Thank you for the rapid and good answer!
May I place a follow on?

How often does ZF call PHP-FPM or MOD_PHP in case of a simple query statement like “select x from y”? Is it one call only? Or are there multiple calls, really? Put differently: when using ZF the recommended way, what would the result be?

Second Q: where would I post my Q on top? Wold it be some php.net site?


#4

Hey @sbv3,

ZF does not call PHP-FPM nor MOD_PHP: those call ZF (by starting the entire PHP dispatch cycle).

As for the queries: that depends on the application design. The framework itself does not perform any queries at all. If you implement the service/repositories/read models correctly, you don’t get repeated queries.


#5

Hi, thanks, got it.

So ZF is not involved with formulating queries. That makes it clear!

(Thought of ZF as a set of functions that make writing code easier, cleaner, debuggable and more compatible and thought it does so by the script calling a Zend object or class, which will then call the pop functions. Sorry for my misperception.)

Thank you!