mysql性能最大化

Jun 07, 2016 pm 04:19 PM
mysql パフォーマンス 最大化する

[client] #passwd = your_passwd port = 3306 socket = /data/mysql/mysql.sock [mysqld] #global settings port = 3306 socket = /data/mysql/mysql.sock basedir=/usr/local/mysql tmpdir=/data/mysql datadir=/data/mysql pid-file=/data/mysql/rongzhong

   [client]

  #passwd = your_passwd

  port = 3306

  socket = /data/mysql/mysql.sock

  [mysqld]

  #global settings

  port = 3306

  socket = /data/mysql/mysql.sock

  basedir=/usr/local/mysql

  tmpdir=/data/mysql

  datadir=/data/mysql

  pid-file=/data/mysql/rongzhong.pid

  #跳过外部锁定 只对MyISAM

  skip-external-locking

  #禁用tcp socket连接,,只能使用unix/linux socket连接

  skip_networking

  #禁用DNS解析,提高连接速度

  skip_name_resolve

  #跳过授权表,忘记root密码时使用

  #skip-grant-tables

  #默认存储引擎

  #default-storage-engine=MyISAM/INNODB

  #默认字符集

  character_set_server=utf8

  #最大连接数

  max_connections=20480

  #最大单用户连接数

  max_user_connections=1024

  #服务器关闭一个交互连接前等待的秒数,默认28800

  interactive_timeout=7200

  #线程缓存数,直接利用空闲连接来创建新连接,1G —> 8 2G —> 16 3G —> 32 >3G —> 64

  #短连接较多的情况下可以适当增加该值

  thread_cache_size=64

  #单个线程(连接)进行数据排序(eg: order/group by)时的buffer,连接创建时一次性分配,默认2M,当 Sort_merge_passes较大时可增加该值

  sort_buffer_size=2M

  #对没有索引的表进行join操作时的buffer,默认256K,连接创建时一次性分配

  join_buffer_size=262144

  #指定连接侦听队列的大小,该值超过OS的tcp_max_syn_backlog/somaxconn时无效,推荐设置为小于512的整数

  back_log=512

  #table_open_cache中岁多能打开的表数

  table_open_cache = 256

  #一次消息传输量的最大值,是net_buffer_length的最大值

  max_allowed_packet=8M

  #bin-log

  #打开二进制日志

  log-bin=mysql-bin

  log-bin-index=mysql-bin.index

  #日志格式,可选row/statement/mixed,默认statement,推荐mixed

  binlog_format=mixed

  #一个binlog的最大值

  max_binlog_size=1G

  #对单个连接的binlog缓存大小,默认1M

  binlog_cache_size=2M

  #binlog cache的总大小

  max_binlog_cache_size=2G

  #sync_binlog may be 0 or 1

  #binlog是否进行磁盘同步,为0时交给OS,为1:事物结束立即同步,IO损耗大

  sync_binlog=0

  #slow-log

  #开启slow log

  slow-query-log=1

  #指定慢查询的时长

  long-query-time=2

  #路径

  slow-query-log-file=/data/mysql/slowlog/slow.log

  #未使用索引的查询也记录到slow log中

  log_queries_not_using_indexes=1

  #query cache

  #启用query cache

  query_cache_type=1

  #存放单条query cache的最大值,默认1M

  query_cache_limit=1M

  #存放单条query cache的最小值,默认4K

  query_cache_min_res_unit=4096

  #query的最大值

  query_cache_size=256M

  #MyISAM

  #索引缓存大小,公式:Key_Size = key_number * (key_length+4)/0.67

  key_buffer_size=128M

  #单个线程进行顺序读取时的缓存,默认128K

  read_buffer_size=2M

  #单个线程进行随机读取时的缓存,默认256K

  read_rnd_buffer_size = 4M

  #重建索引时允许的最大缓存大小,默认8M

  myisam_sort_buffer_size = 64M

  #指定索引缓存中block大小,默认1K

  key_cache_block_size=1024

  #禁止索引的单条刷新

  delay_key_write=1

  #innodb

  #启用独立的表空间

  #innodb_file_per_table=1

  #设置innodb内存缓冲区大小,在纯mysql环境下,推荐设置为服务器内存的60~80%

  innodb_buffer_pool_size =8G

  #设置OS能进入innodb内核的线程数,推荐2*(CPU核心数+磁盘数)

  innodb_thread_concurrency=16

  #设置innodb的io行为,可选值fsync/O_DSYNC/O_DIRECT 推荐O_DIRECT提高随机写效率

  innodb_flush_method=O_DIRECT

  #设置mysql主进程每秒钟向磁盘刷入的脏页数,默认值200

  #For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100

  innodb_io_capacity=100

  #设置写脏页的线程数

  innodb_write_io_threads = 8

  #设置从磁盘读文件块的线程数

  innodb_read_io_threads = 8

  #设置事物日志缓冲区大小

  #设置事物日志缓冲区大小

  innodb_log_buffer_size=8M

  #log thread向磁盘同步日志的方式,可选值为0/1/2

  #0: 每秒钟刷新 1:每次事物提交后都刷新 2:交给OS来同步

  innodb_flush_log_at_trx_commit =0

  #数据库字典信息和表结构空间

  innodb_additional_mem_pool_size =16M

  #启用Double write Buffer区域,保证数据完整性,但消耗IO

  innodb_doublewrite=1

  [mysqldump]

  # Do not buffer the whole result set in memory before writing it to file. Required for dumping very large tables

  quick

  max_allowed_packet = 16M

  [mysql]

  no-auto-rehash

  [myisamchk]

  key_buffer_size = 512M

  sort_buffer_size = 512M

  read_buffer = 8M

  write_buffer = 8M

  [mysqlhotcopy]

  interactive-timeout

  [mysqld_safe]

  # Increase the amount of open files allowed per process. Warning: Make

  # sure you have set the global system limit high enough! The high value

  # is required for a large number of opened tables

  open-files-limit = 8192

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? Jun 03, 2024 pm 08:11 PM

MySQL クエリのパフォーマンスは、検索時間を線形の複雑さから対数の複雑さまで短縮するインデックスを構築することで最適化できます。 PreparedStatement を使用して SQL インジェクションを防止し、クエリのパフォーマンスを向上させます。クエリ結果を制限し、サーバーによって処理されるデータ量を削減します。適切な結合タイプの使用、インデックスの作成、サブクエリの使用の検討など、結合クエリを最適化します。クエリを分析してボトルネックを特定し、キャッシュを使用してデータベースの負荷を軽減し、オーバーヘッドを最小限に抑えます。

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL データベースをバックアップおよび復元するには、次の手順を実行します。 データベースをバックアップします。 mysqldump コマンドを使用して、データベースを SQL ファイルにダンプします。データベースの復元: mysql コマンドを使用して、SQL ファイルからデータベースを復元します。

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? Jun 02, 2024 pm 02:26 PM

MySQLテーブルにデータを挿入するにはどうすればよいですか?データベースに接続する: mysqli を使用してデータベースへの接続を確立します。 SQL クエリを準備します。挿入する列と値を指定する INSERT ステートメントを作成します。クエリの実行: query() メソッドを使用して挿入クエリを実行します。成功すると、確認メッセージが出力されます。

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? Jun 02, 2024 pm 02:13 PM

PHP で MySQL ストアド プロシージャを使用するには: PDO または MySQLi 拡張機能を使用して、MySQL データベースに接続します。ストアド プロシージャを呼び出すステートメントを準備します。ストアド プロシージャを実行します。結果セットを処理します (ストアド プロシージャが結果を返す場合)。データベース接続を閉じます。

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

さまざまな Java フレームワークのパフォーマンスの比較 さまざまな Java フレームワークのパフォーマンスの比較 Jun 05, 2024 pm 07:14 PM

さまざまな Java フレームワークのパフォーマンス比較: REST API リクエスト処理: Vert.x が最高で、リクエスト レートは SpringBoot の 2 倍、Dropwizard の 3 倍です。データベース クエリ: SpringBoot の HibernateORM は Vert.x や Dropwizard の ORM よりも優れています。キャッシュ操作: Vert.x の Hazelcast クライアントは、SpringBoot や Dropwizard のキャッシュ メカニズムよりも優れています。適切なフレームワーク: アプリケーションの要件に応じて選択します。Vert.x は高パフォーマンスの Web サービスに適しており、SpringBoot はデータ集約型のアプリケーションに適しており、Dropwizard はマイクロサービス アーキテクチャに適しています。

PHP を使用して MySQL テーブルを作成するにはどうすればよいですか? PHP を使用して MySQL テーブルを作成するにはどうすればよいですか? Jun 04, 2024 pm 01:57 PM

PHP を使用して MySQL テーブルを作成するには、次の手順が必要です。 データベースに接続します。データベースが存在しない場合は作成します。データベースを選択します。テーブルを作成します。クエリを実行します。接続を閉じます。

C++ でマルチスレッド プログラムのパフォーマンスを最適化するにはどうすればよいですか? C++ でマルチスレッド プログラムのパフォーマンスを最適化するにはどうすればよいですか? Jun 05, 2024 pm 02:04 PM

C++ マルチスレッドのパフォーマンスを最適化するための効果的な手法には、リソースの競合を避けるためにスレッドの数を制限することが含まれます。競合を軽減するには、軽量のミューテックス ロックを使用します。ロックの範囲を最適化し、待ち時間を最小限に抑えます。ロックフリーのデータ構造を使用して同時実行性を向上させます。ビジー待機を回避し、イベントを通じてリソースの可用性をスレッドに通知します。

See all articles