タグ

最適化に関するyuki_2021のブックマーク (18)

  • MySQLとインデックスとPHPer

    2021/10/03 PHP Conference Japan 2021 https://fortee.jp/phpcon-2021/proposal/85631599-8ed0-4b20-a46c-9ef5319c7aba

    MySQLとインデックスとPHPer
  • 個人開発アプリのFirebase費用を30%削減した話 - paranitips

    個人開発アプリ「お絵かきコラボ」はリリースしてもう1年半くらい経つけど、まだ結構なユーザーさんに遊んでもらっている。当にありがたい。 バックエンドにはFirebaseを使っているんだけど、長く楽しんでもらうにつれて費用もかさんできたので、削減できるところはないか調べてテコ入れすることにした。 結果、30%ほど費用を削減することができた!わーい!👏 5/6,7 あたりに修正版をリリースして以降、傾きが緩やかになっている どんなことをしたのかさくっとまとめていく📝 Firestore お絵かきのマッチングのたびに、お題を取得したりユーザー情報を取得したりしてるのと、毎回15分程度遊んでもらってるのでREAD数が結構多い。 ・・・にしても、ユーザー数に対してREADが多すぎる。なんでーー??みたいな状態だったので、iOS/Android/サーバーのコードをすべてチェックして怪しそうなところ

    個人開発アプリのFirebase費用を30%削減した話 - paranitips
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
  • JavaScriptがページの読み込み時間を遅くする理由トップ10 | ゆっくりと…

    CSS Sprites 化や画像サイズの最適化、Data URI 化、CSS/JavaScript ファイルの圧縮・結合・読み込み順番の整理やキャッシュ制御など、サイトでは主に HTTP リクエストの数、データ量およびそれらの順番に関して色々なテクニックを試してきましたが、さらに深く掘り下げるには JavaScript の実行がページの読み込み時間に与える影響を知っておく必要があると思います。 「ウェッブサイトの表示速度を測定するフリーツール集」 でも紹介しましたが、dynaTrace AJAX Edition という優れたツールをフリーで公開している dynaTrace software のブログでこの問題を扱った記事がありましたので共有します。JavaScript 高速化 Tips は (例えば 「JavaScriptを高速化する6つのテクニック」 など) 多々あるかと思いますが、ペ

  • MySQLインデックス・簡単調査・最適化: コールセンター・最新ビジネスフォンの究極形を日々。

    今回はMySQLネタです。 MySQLに対してアクセスが増え、データが溜まってくると、サーバが遅くなったという連絡がはいることがあります。 体感でですが、データが10万件を超えたぐらいから、そういう話が増えて来るようにも思います。 原因としては、INDEXの張り方がうまくない(そもそもはっていない)ということが多いと思うのですが、どこにどうやってはれば良いのか、すぐに分かります? 今回、簡単に見つける方法があることに気がついたので、メモしておきます。phpMyAdminを使います。 phpMyAdminには、「MySQLプロセスの表示」という部分がありますので、「今、サーバが重くなっている」という時点でこちらを開きます。 すると、現在実行しているSQLの情報が表示されます。 「プロセス」というタブを数回押してみると、その状態で「いつも同じようなSQL文が何度も表示されている」かもしれません

  • SQLite Optimizer :: Add-ons for Firefox

    Firefox ではブックマークや履歴等をデータベースで管理していますが、長い期間使用しているうちにデータベースの肥大化のためウェブページの表示や、Firefoxそのものの動作が遅くなることがあります。 これらのデータの最適化を行うことにより、データの読出しや更新をスムーズに行えるようにして、Firefox の高速化を試みます。 ------------------------ 最適化は初期状態では REINDEX のみですが、 「VACUUM後にREINDEXを実行する」を選択すると VACCUM と REINDEX を行うようになります。 ※VACUUM 後に REINDEX をする設定にしてあってもデータベースの余分な隙間が20%未満の場合は REINDEX のみ行います。 手動実行時の記号の意味 一番上の大文字はそれぞれvacuum と reindex を表します。 V(acuum

    SQLite Optimizer :: Add-ons for Firefox
    yuki_2021
    yuki_2021 2009/06/26
    Firefoxで使うSQLiteを、Firefox終了時に自動でReindexしてくれるアドオン
  • MySQLの最適化

    限りなく眠気を誘うPHP Internalsのセッションから逃げる。こっちの 講師はMySQL.comの人。講演慣れしていて、ずっとまともでプロフェッショナルな 感じ。午前中を逃したのが惜しいが、詳しいプレゼン資料は後日公開される らしい。 DELETEのコストはかなり高い 読みだしがすごく多い場合は無効化を示すフィールドを作りUPDATEすべき、 index更新のコストが馬鹿にならないSHOW STATUSの表示結果の解析方法 起動ごとに初期化、全データベースに共通rnd と rnd_next の割合Key_reads : Key_read_requests 、ディスクから読まれた回数:総回数 この割合が1:100より悪くなったら要注意Key_write_requests:Key_writes 総書き込み要求回数:ディスクに書き込ま れた回数 キャッシュの効果などMax_used_con

  • ウェブページの高速化に必要なもの

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のさかいです。 ネットサーフィンに慣れている techblog 読者のみなさんの中には、あちこち見て回っているうちに重いページに行き当たり、イライラしながら応答を待ったり、容赦なくバックスペースキーで前のページに戻ったり…という経験をされた方が多くいらっしゃると思います。 そういったストレスのないレスポンスが行えるよう、バックエンドのプログラムの最適化や、サーバーのチューニングを行うのは私たち技術者の仕事のひとつです。 しかし、あるウェブサイトにアクセスして、そのサイトを閲覧できる状態になるまでの時間のうち、そういったバックエンドでの処理に必要な時間は 1〜2 割でしかないというデータがあります。残り

    ウェブページの高速化に必要なもの
    yuki_2021
    yuki_2021 2009/03/14
    YahooオークションでのWeb最適化の調査方法
  • Yahoo Developer Network

    Measure, monetize, advertise and improve your apps with Yahoo tools. Join the 200,000 developers using Yahoo tools to build their app businesses.

    Yahoo Developer Network
    yuki_2021
    yuki_2021 2009/03/14
    firebugに組み込むWEB読み込みの計測ツール。最適化に使える。
  • MySQLの高度な管理とチューニングテクニック

    MySQLの高度な管理とチューニングテクニック:快速MySQLでデータベースアプリ!(11)(1/2 ページ) 連載もついに最終回。今回はMySQLサーバの運用・管理に必要な状態監視、チューニング、バックアップ、セキュリティについて解説する。以下のテクニックを駆使すれば、MySQLをさらに安定稼働させられるだろう。 前回までは、さまざまな言語やアプリケーション、とりわけWebアプリケーションからMySQLを利用することを主眼に説明してきました。皆さんの中には、それらを応用した実用的なプログラムを考えている方もいるかと思います。そこで、今回は運用上必要となるテクニックをいくつかのトピックに分けてご紹介します。「まだまだ実用は先だ」と思われている方も、いつかくる日のためにこんなこともできるということだけでも知っておいてください。 ロギング機能と動作ステータスの取得 障害発生を防ぐための一番の

    MySQLの高度な管理とチューニングテクニック
    yuki_2021
    yuki_2021 2009/03/05
    mysqlのログ設定
  • PHPをより高速化するプロファイリングツールあれこれ

    PHPを高速化するために中間キャッシュを使う各種PHPアクセラレータについては以前に「PHPアクセラレータで一番高速なのはどれか?」で書きましたが、そういう方法以外にどこで時間がかかっているのか(ボトルネック)を見つけ出すことによって、根的に高速化するという手法もちろんあるわけで。 そういう作業に役立ちそうなツールがいろいろとあるようなので実際の使い方と一緒に見てみましょう。 SitePoint Blogs >> Faster PHP Apps-Profile Your Code with Xdebug 「Xdebug」というのがどうも一般的のようです。Windows用のモジュールもあり、PHP4だけでなく5にも対応。 Xdebug - Debugger and Profiler Tool for PHP http://www.xdebug.org/ Xdebugだけだとプロファイリング

    PHPをより高速化するプロファイリングツールあれこれ
  • MySQL起動オプション解説

    MySQLの起動オプションについて解説をします。 オプション指定方法 起動オプションを指定する方法は2つあります。 一つは、mysqldコマンドを実行するときにコマンドラインオプションとして指定する方法です。 もう一つは、設定ファイルを用意してその中に記述する方法です。 通常は後者を利用します。 起動時に変更したいものに関しては、コマンドラインオプションを利用しましょう。 設定ファイルは、WindowsかUnix(Linux)によってファイルが異なります。 Windowsの場合 以下の4箇所から読み取ります。 windows-directory\my.ini C:\my.cnf mysql-install-directory\my.ini defaults-extra-file Unixの場合 /etc/my.cnf グローバルオプション。マシン内で共通の設定を記述します。 $MYSQL_

    yuki_2021
    yuki_2021 2008/12/03
    MySQLの設定方法についてまとまったドキュメント
  • MySQL :: MySQL 4.1 リファレンスマニュアル :: 5 MySQL の最適化

    最適化は、システム全体の理解が必要であるため、複雑な作業です。システムやアプリケーションに関する知識が豊富でなくても部分的なローカルの最適化は可能ですが、より高度な最適化が必要になるほど求められる知識も高度になります。 この章では、MySQL 最適化の方法説明し、その例もいくつか紹介します。ただし、常にシステムの速度をさらに上げる補足的な方法もありますが、難度も高くなることを覚えておいてください。 This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the Engli

    yuki_2021
    yuki_2021 2008/08/08
    MySQLの最適化の方法。SQL文からメモリチューニングまで
  • MySQLの最適化 | 株式会社フォレスト・コンサルタンツ

    01/13 Re2:「福沢諭吉の正体」-補足1-東大話法の元祖(山根治) 01/13 Re1:「福沢諭吉の正体」-補足1-東大話法の元祖(Kan Yabumoto) 01/07 Re6: ホリエモンの弁解術 -1(Smitha695) 01/07 Re1:謹んで新年のご挨拶を申し上げます(須増) 12/01 Re25: 倉田まり子事件の真相 -その3(ナマナマ) ※以前別の場所で書いた文章を備忘的に書き記しておきます。 処理速度改善等にあたって実施したMySQLの最適化についてメモ的に残しておきます。大量のデータを扱うSQLスクリプトを記述する際、役に立つかもしれません。 可能な限りSQL文は後から一括して実行。 LIMITを使い、呼び出すレコード数を制限。 SELECT等においてフィールドを呼び出す際、インデックスがあるものを優先して指定。 ソートする場合はインデックスがあるフィールドを

    yuki_2021
    yuki_2021 2008/08/08
    クエリ文などを調整してmysqlを最適化
  • 最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro

    ポイント ・高度なインデックスやジョインを利用し,最短経路でデータにアクセス ・メモリー不足を自律的に解消し,キャッシュのヒット率を高める ・インメモリーDBは全データをメモリーで処理し,高速化を図る 目的地に早く到着したいなら,最短の経路を最速で行けばよい。これはデータベース(DB)でも同様だ(図1)。インデックスなどを使ってデータへの最短経路を見つけ,メモリー・アクセスを増やして,最速でたどり着く。DBにはそんな技術が詰まっている。 図1●データベース高速化技術のポイント ビットマップ・インデックスなどを使い、データにたどり着く最短の道を選ぶ。また、できるだけメモリーにデータをキャッシュさせておくことで、アクセスのスピードを上げる、という二つのポイントがある [画像のクリックで拡大表示] 以下では,(1)データにたどり着く最短の道を選ぶ仕組みと,(2)アクセスのスピードを上げる仕組みの

    最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro
    yuki_2021
    yuki_2021 2007/09/13
    DBの高速化。イラストで説明されています。
  • ウノウラボ Unoh Labs: MySQL最適化のミニtips

    yukiです。 今回はWebサイトを製作する上で欠かせないデータベース(DB)のお話です。Linux、Apache,MySQL,PHPを組み合わせたLAMPという言葉が登場して久しいですが、Webサービスを構築する上で欠かせないのがDBの存在ですね。 運用後Webサイトが順調に拡大し規模も大きくなってきた頃、パフォーマンスに悩むことも出てくるものです。 ハードウェアや構成に問題がある場合、ロジックに問題がある場合など様々ですが、DBを見直してみるのも手かもしれません。 銀行の預金残高などのようにミッションクリティカルである場合や、ともかくパフォーマンス性を求められるなど様々あり、一概に言えるものでもありませんが、 Webサービスにおいては有名な8秒ルールも、最近では6秒、3秒、1秒と求められるパフォーマンスはどんどん短くなって来ています。 パフォーマンスだけでなく、メンテナンスコ

    yuki_2021
    yuki_2021 2007/08/12
    MySQLを最適化するためのまとめポイント。基本的なところがまとまっている。
  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

    yuki_2021
    yuki_2021 2007/07/13
    MySQLの高速化のまとめ!
  • 12のPHP最適化テクニック:phpspot開発日誌

    12 PHP optimization tips Ilia Alshanetsky’s PHP performance talk given last week at the Zend conference is pretty useful as far as getting small tips for tweaking PHP code. PHP最適化テクニックが紹介されていましたので以下にまとめてみました。 staticメソッドが使えるなら使おう。速度は4倍になる __get, __set, __autoload は使わない require_once は重い include, requireで読み込むファイルはフルパスにしよう スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる strncasecmp関数やstrpbrk関数を使えるケースは

    yuki_2021
    yuki_2021 2006/11/21
    require_onceは遅いらしい、知らなかった
  • 1