Home Backend Development PHP Tutorial PHP and Memcached performance monitoring

PHP and Memcached performance monitoring

May 15, 2023 pm 09:51 PM
php memcached Performance monitoring

With the rapid development of modern Internet applications, user experience is crucial to the success of an application. How to ensure high performance and high availability of applications has become one of the important issues that developers need to solve. As one of the widely used programming languages, PHP's performance monitoring and optimization are also very important.

Memcached is a high-performance, distributed memory object caching system that can help applications improve performance and scalability. This article will introduce how to use PHP and Memcached to implement performance monitoring.

1. Working principle of Memcached

The official document defines Memcached as follows: "Memcached is a high-performance distributed memory object caching system that can be used in dynamic web applications to reduce database load. ." Its working principle is to cache data into memory. If there is a request for the same data, it can be read directly from memory.

When specifically using Memcached, the data that needs to be cached will be placed in a key-value pair, so that when the data needs to be called, it can be quickly read from the memory. For PHP applications, this key-value pair can be stored in memory to avoid calling the database query every time.

2. How to integrate PHP with Memcached

PHP can be integrated with Memcached through some extension libraries. The most commonly used ones are Memcached extension and Memcache extension. Their usage and implementation are very similar. This article uses Memcached extension as an example.

First you need to install the Memcached service and introduce the extension into PHP. For specific operations, please refer to the following commands:

1

2

sudo apt-get install memcached

sudo apt-get install php-memcached

Copy after login

After the installation is completed, you can use the following code in the PHP code to cache data:

1

2

3

4

5

$memcached = new Memcached();

$memcached->addServer('127.0.0.1', 11211);

$key = 'example_key';

$data = 'example_value';

$memcached->set($key, $data);

Copy after login

This code first creates a Memcached instance, and Added a local server. Next, a cached key-value pair is defined and then stored in Memcached using the set() method.

3. Use Stats API to monitor the performance of Memcached

In PHP applications, you can monitor the performance of Memcached through the built-in Stats API. It provides methods to obtain Memcached statistical information, such as cache hit rate, expiration time, cache space occupied, etc.

The following code demonstrates how to use the Stats API to obtain some performance information of Memcached:

1

2

3

4

5

6

7

$memcached = new Memcached();

$memcached->addServer('127.0.0.1', 11211);

$stats = $memcached->getStats();

echo "Memcached key count: " . $stats['curr_items'] . "

";

echo "Memcached hit rate: " . $stats['get_hits'] / ($stats['get_misses'] + $stats['get_hits']) . "

";

Copy after login

This code obtains the number of key-value pairs currently stored in Memcached and calculates the cache hit rate.

Through the Stats API, we can obtain some basic information about Memcached, but this information reflects the performance of the entire Memcached system and cannot provide refined monitoring and adjustment. Next, we will introduce how to use the extension library to achieve more refined performance monitoring.

4. Use the Memcached PHP extension to obtain more detailed statistical information

The methods provided by the Memcached PHP extension are richer than the built-in Stats API, and can obtain more specific and accurate statistical information. The following code shows how to use the getStats() method in the extension to obtain Memcached statistics:

1

2

3

4

5

6

7

8

9

$memcached = new Memcached();

$memcached->addServer('127.0.0.1', 11211);

$stats = $memcached->getStats();

foreach ($stats as $server => $s) {

    foreach ($s as $key => $value) {

        echo "$server:$key=$value

";

    }

}

Copy after login

This code first creates a Memcached instance and adds a local server. Next, use the getStats() method to obtain Memcached statistical information, and use a foreach loop to traverse the output results.

In addition to these basic information, the Memcached PHP extension also provides some useful methods to monitor and adjust the performance of Memcached, such as getServerList(), getVersion(), etc.

5. Use Memcached monitoring tools

In addition to PHP’s own Stats API and Memcached PHP extension, there are also some monitoring tools that can help us monitor and adjust the performance of Memcached more conveniently.

  1. Memcached management interface

Memcached provides a web management interface that can be used to manage and monitor the Memcached service, such as viewing cached key-value pairs and observing Memcached running status. As well as add/remove servers and more.

In Ubuntu system, you can use the following command to install the Memcached management interface:

1

2

sudo apt-get install php-memcache

sudo service apache2 restart

Copy after login

After installation, visit "http://localhost/memcache.php" in the browser .

  1. Munin Monitoring Tool

Munin is a commonly used server performance monitoring tool that can be used to monitor the running status of Memcached. It provides rich charts and statistical information for easy performance analysis and adjustment.

Under Ubuntu system, you can use the following command to install Munin:

1

sudo apt-get install munin munin-node

Copy after login

After the installation is complete, just visit "http://localhost/munin" in the browser.

6. Conclusion

This article introduces how to use PHP and Memcached to implement performance monitoring. By using Stats API, Memcached PHP extension and monitoring tools, Memcached performance analysis and adjustment can be more conveniently performed. I hope this article is helpful to you, thank you for reading!

The above is the detailed content of PHP and Memcached performance monitoring. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles