Catatan

PgBouncer: A Guide to Efficiently Managing Multiple Instances

 PgBouncer: A Guide to Efficiently Managing Multiple Instances To effectively manage multiple PgBouncer instances, follow these steps Install Prerequisites Ensure PostgreSQL, PgBouncer, and systemd are installed and configured correctly on your Ubuntu 22.04 or later server. Create Systemd Templates Create template files for both the socket (/etc/systemd/system/[email protected]) and service (/etc/systemd/system/[email protected]) to define basic settings for each instance. Configure PgBouncer Create individual configuration files (e.g., pgbouncer-50001.ini, pgbouncer-50002.ini) based on the templates, specifying unique port numbers, log files, and PID files. Enable and Start Instances Use systemd commands to enable and start the newly created PgBouncer instances. Verify Instances Check the status of the running instances, including PID files, log files, and process information. We can effectively optimize your PostgreSQL database's performance and scalability through the use of mu

Online Security Tools for Website Owners

Online Security Tools for Website Owners  Introduction In today's digital landscape, website security is paramount. From protecting user data to maintaining trust, strong security measures are essential. This blog post explores five valuable online tools that can empower website owners to take charge of their online security. The Risks of Poor Website Security Inadequate website security can lead to a host of issues, including data breaches, loss of customer trust, and significant financial losses. Hackers can exploit vulnerabilities to steal sensitive information, inject malicious code, or take down your site altogether. The consequences of a security breach can be devastating, both in terms of reputation and legal repercussions. Benefits of Robust Security Measures On the flip side, strong security measures can protect your website from these threats, ensuring the safety of user data and maintaining the trust of your visitors. By proactively addressing security issues, you can cr

Harisfazillah Jamel (LinuxMalaysia) Udemy Profile

 My Udemy profile improve by Google Gemini https://www.udemy.com/user/linuxmalaysiamalaysia/ Harisfazillah Jamel LinuxMalaysia | Malaysia Open Source Evangelist About Me Since discovering Linux in 1998, I've been a passionate advocate for open-source software (OSS) and building thriving OSS communities in Malaysia. My mission is to empower Malaysians to shift from simply using OSS to becoming producers and maintainers who contribute to the global open-source ecosystem. Why Open Source? OSS is about collaborative software development, where communities freely share and modify code to create solutions that meet everyone's needs. This "gotong royong" (Malaysian communal spirit) has produced software used by businesses of all sizes, from startups to multinationals. Fostering World-Class Developers I believe in nurturing world-class developers in Malaysia who can create internationally recognized OSS or maintain well-established projects. By moving beyond users, we can bec

Enabling Brotli Compression for Improved Website Performance

Enabling Brotli Compression for Improved Website Performance Enabling Brotli compression on web servers (both Nginx and Apache) for improved website performance. We can check our web browsing is using Brotli Compression using this online tools. https://tools.keycdn.com/brotli-test and https://www.brotli.pro/ Brotli is a new open-source compression algorithm developed by Google that can significantly reduce file sizes compared to traditional methods like Gzip. This can lead to faster website loading times, improved user experience, and potentially lower bandwidth usage. Here are some benefits of Brotli compression: Reduced File Sizes: Studies show Brotli can achieve up to 26% better compression ratios compared to Gzip. Faster Loading Times: Smaller file sizes translate to faster downloads and quicker page loads for website visitors. Lower Bandwidth Usage: Reduced file sizes can lead to lower bandwidth consumption, which can be beneficial for users on limited data plans. Efficient CPU Us

The Three-tier Architecture

 An explanation of the three-tier architecture: Imagine a restaurant. The three-tier architecture is like dividing the restaurant's operations into three distinct sections: The Front of House (Presentation Tier): This is where customers interact directly. The waiters (web server) take your order (user request) and deliver it to the kitchen (application tier). The maĆ®tre d' (load balancer) ensures everyone gets seated efficiently, and the security guard (web application firewall) checks for any suspicious activity. The Kitchen (Application Tier): This is the heart of the operation. The chefs (application logic) take your order and prepare the food (process the request) using ingredients (data) from the pantry (database). They might also need to consult a recipe book (business rules) to ensure everything is done correctly. The Pantry (Data Tier): This is where all the ingredients (data) are stored. The pantry manager (database server) ensures everything is organized and r

Semantic Versioning

 Semantic Versioning  A simple set of rules and requirements that dictate how version numbers are assigned and incremented. These rules are based on but not necessarily limited to pre-existing widespread common practices in use in both closed and open-source software. For this system to work, you first need to declare a public API. This may consist of documentation or be enforced by the code itself. Regardless, it is important that this API be clear and precise. Once you identify your public API, you communicate changes to it with specific increments to your version number. Consider a version format of X.Y.Z (Major.Minor.Patch). Bug fixes not affecting the API increment the patch version, backward compatible API additions/changes increment the minor version, and backward incompatible API changes increment the major version. This system is called “Semantic Versioning.” Under this scheme, version numbers and the way they change convey meaning about the underlying code and what has been m

Configure MariaDB and MySQL Galera Replication performance

Configure MariaDB and MySQL Galera Replication performance 1. File Modification     - Open the `/etc/mysql/mariadb.cnf` or `my.cnf` file (note that `my.cnf` is a soft link to `mariadb.cnf`).     - Add the following configuration options:     ```bash     # Provider specific configuration options     wsrep_provider_options="gcache.size=1024M;gmcast.segment=0;gcache.recover=yes"     # Number of threads to process writesets from other nodes (depends on total CPU of the host)     wsrep_slave_threads=8     ``` 2. Understanding gcache     - Galera uses a preallocated file called gcache to store writesets in a circular buffer style.     - The gcache size defines how many writesets the donor node can serve in Incremental State Transfer (IST).     - You can estimate the downtime you can afford while still being able to perform an IST based on your write stream and gcache size. 3. Improving Replication Performance     - Increasing the number of slave threads in Galera can improve throug