Php

PHP-MYSQL消息系統性能問題

  • November 4, 2012

我想為我一直從事的社交網路網站項目(PHP 和 MySQL)創建一個消息傳遞模組。知名網站為此類模組使用哪些子結構?

我認為,為每條新消息在 MySQL 上生成一條新記錄會減慢系統速度並在一段時間後引起問題。你對我保存數據有什麼建議?SQLLite、文件系統或高性能 dbms ?(exp:postgresql)

謝謝

您可以使用 mySQL 之類的數據庫。特別是如果表結構簡單且索引良好。我假設每條消息的記錄會產生插入需求,但不會產生更新需求,這也會降低索引重建需求。

如果您想擴展,只需創建一個只讀副本來查詢消息並將寫入查詢發送到主伺服器。

想要進一步擴展,我想你可以實現某種 memcached 中間級別,但這將有助於擴展讀取端的性能,而不是寫入端(因為你最終必須編寫它們,你可以在此期間可能會在 memcached 中失去它們)。

簡而言之 - mySQL 很好。其他選項包括來自亞馬遜的雲選項,如 DynamoDB 和/或 nosql 選項,但不是必需的。

你可以從mysql開始。保持所有表結構簡單,不要使用自動增量,並保持基本數據類型,如 varchars、ints 等。並正確索引表。

使用 pdo 訪問數據庫,還可以編寫自己的類來完全抽像出數據訪問。

這樣,當您的站點變得流行並且性能開始滯後時,您可以輕鬆切換到更高性能的 dbms 或更好的硬體基礎設施以提高性能。

引用自:https://dba.stackexchange.com/questions/28143